这一档模型的参数意味着什么
Hunyuan 这一档模型,其 250000 的上下文长度,决定了单次请求中可输入的最大文本量,这包括用户查询、历史对话以及召回的知识库内容。引用上限 100000 意味着在最终生成回答时,模型可以引用的知识库段落总字数上限。单次最大输出未标注,表示回答的长度可能不受严格限制,但实际输出仍受限于整体上下文长度。图片输入和工具调用均为 false,表明该模型不支持直接处理图像或通过外部工具扩展其能力,因此在 RAG 流程中,主要聚焦于文本信息的检索与生成。
配 PostgreSQL(pgvector) 要定哪些
| 配置项 | 建议取法 | 这样取的依据 |
|---|---|---|
PG_URL | postgresql://user:password@host:port/database | FastGPT 连接 PostgreSQL 数据库的标准格式,确保网络可达性。 |
ef_construction | 80 | 控制 HNSW 索引的构建质量,数值越大,索引质量越高,召回准确度提升,但构建时间增加。 |
ef_search | 60 | 控制 HNSW 索引的搜索质量,数值越大,搜索召回更全面,但查询延迟增加。 |
m = 32 | 32 | HNSW 索引的图层最大连接数,影响索引的内存占用和查询性能,32 是一个常用且均衡的值。 |
vector_ip_ops | true | pgvector 启用内积操作符支持,以优化向量相似度计算的性能。 |
recall_top_k | 5–8 条 | 结合模型引用上限和单段文本长度,选择合适的召回条数,避免超出模型上下文。 |
这两者互相约束的地方
Hunyuan 模型 250000 的上下文长度与 100000 的引用上限,对 PostgreSQL(pgvector) 的召回策略构成直接约束。召回条数乘以每段文本的平均长度,其总和必须小于模型上下文长度,以确保所有召回内容能被模型有效处理。同时,知识库引用部分的字数不能超过 100000 的引用上限。这意味着即使向量库返回了大量相关结果, FastGPT 也会根据引用上限进行截断。pgvector 的索引参数 ef_construction 和 ef_search 调大,会提升召回的准确性和全面性,有助于模型获得更优质的知识输入。然而,过大的 ef_search 值可能导致查询延迟增加,影响 FastGPT 的响应速度,需要根据实际业务需求进行权衡。
容易做错的三处
- 日志中出现
ERROR: database "your_db_name" does not exist:PG_URL中的数据库名称拼写错误或数据库未创建。 - 搜索结果与预期不符,且查询耗时过长:
ef_search值设置不当,或者vector_ip_ops未启用导致向量计算效率低下。 - 模型回答中引用的知识点缺失,但向量库返回了相关内容:召回条数
recall_top_k设置过低,或单段文本长度过长导致超过了模型的引用上限。
怎么确认配好了
- 在 FastGPT 知识库管理页面,尝试添加并查询知识段落,观察召回结果是否符合预期,并检查 FastGPT 后台日志是否有 pgvector 相关的错误。
- 通过 PostgreSQL 客户端连接数据库,执行
SELECT * FROM pg_stat_activity WHERE datname = 'your_db_name';确认 FastGPT 服务的数据库连接状态。 - 使用
EXPLAIN ANALYZE命令对 pgvector 的相似度查询进行分析,评估查询性能,并根据实际响应时间调整ef_search参数。 - 进行端到端测试,输入一个复杂问题,检查模型回答是否准确引用了知识库内容,并观察引用的总字数是否在 100000 上限内。