这一档模型的参数意味着什么
Qwen 1024K 这一档模型,其 1024000 的上下文长度,意味着单次请求可以承载极大量的召回内容,为复杂问答和长篇文档分析提供了基础。引用上限 1000000 确保了知识库在召回阶段可以提供海量的候选段落。未标注的单次最大输出长度,在实际应用中通常需要结合具体场景进行测试,以确定模型的最大生成能力。工具调用 true 则表明模型原生支持通过外部工具扩展其功能,例如执行代码或查询数据库,这对于构建智能 Agent 至关重要。图片输入 false 明确了该模型不处理图像信息。
配 PostgreSQL(pgvector) 要定哪些
| 配置项 | 建议取法 | 这样取的依据 |
|---|---|---|
PG_URL | postgresql://user:password@host:port/database | FastGPT 连接数据库的标准形式,确保服务能正确访问 pgvector |
ef_construction | 64 | 影响索引构建时的图连接数,越大召回质量越高,但索引构建慢 |
ef_search | 64 | 影响查询时的邻居搜索范围,越大召回质量越高,但查询耗时增加 |
m | 32 | HNSW 图中每个节点的最大连接数,影响索引大小和查询性能 |
vector_ip_ops | true | 启用内积相似度计算,适用于余弦相似度等场景,优化性能 |
| 召回条数 | 20-50 条 | 经验值,平衡召回质量与模型上下文限制,具体需实测 |
这两者互相约束的地方
Qwen 1024K 模型的 1024000 上下文长度是核心约束。这意味着向量库返回的召回条数与每段召回内容的字符数之积,必须严格控制在此上限之下。即使 PostgreSQL(pgvector) 的 ef_search 和 ef_construction 参数调得再高,使得召回质量理论上更优,如果最终召回的文本总量超出模型上下文,模型也无法处理。引用上限 1000000 限制了知识库可以提供的候选段落总数,而向量库的返回条数 (limit 参数) 则在实际查询时生效,二者共同决定了最终进入模型进行推理的文本量。当 ef_construction 和 ef_search 调大时,虽然能提升召回的精确度,但也可能增加向量检索的延迟,这会间接影响模型获得完整上下文的速度。
容易做错的三处
- 日志显示
context_length_exceeded:原因是没有正确评估召回内容总长度,超出模型上下文限制。 - 界面返回的答案缺乏相关性:原因可能是
ef_search参数过小,导致向量搜索范围不足,未能召回足够相关的结果。 - 向量搜索请求超时,状态码
504:原因可能是ef_construction或ef_search设置过大,或硬件资源不足以支撑高参数下的复杂计算。
怎么确认配好了
- 运行一组不同长度、不同复杂度的测试用例,观察模型返回结果的准确性和完整性,并记录每次请求的 Token 消耗量,确保其在模型上下文长度内。
- 检查 PostgreSQL(pgvector) 的查询日志,确认
ef_search和m参数是否在实际查询中生效,并观察查询耗时是否在可接受范围内。 - 针对知识库中不同类型的文档,进行多次检索测试,对比召回的条数和内容相关性,根据实际业务需求调整
ef_search和ef_construction参数,以达到召回质量与性能的平衡。