这一档模型的参数意味着什么
上下文长度 128000 表示模型在单次交互中能处理的总文本量上限。maxContext 参数将以此为基准进行配置,确保输入内容不会超出模型的能力。单次最大输出未标注,意味着模型可以根据需求生成较长的回答,输出长度由实际生成内容决定。引用上限 120000 专门用于控制引用内容的 token 预算,确保在生成回答时,引用的相关段落总和不会超过此限制。引用上限限定的是引用内容的 token 总量。段落条数由检索侧返回,与引用上限是两个独立的量。图片输入为 true 允许模型处理视觉信息,而工具调用为 true 则支持模型在必要时调用外部工具来完成复杂任务。
配 openGauss 要定哪些
| 配置项 | 建议取法 | 这样取的依据 |
|---|---|---|
OPENGAUSS_URL | postgresql://user:password@host:port/database | 数据库连接的规范格式,确保 FastGPT 能正确连接 openGauss 实例。 |
ef_construction | 64 | HNSW 索引构建时的邻居数量,影响索引质量和构建时间。建议值兼顾检索效率与资源消耗。 |
ef_search | 32 | HNSW 索引查询时的搜索范围,影响检索准确性。该值应大于或等于 m。 |
m | 32 | HNSW 索引中每个节点的最大邻居数量,影响索引内存占用和查询性能。 |
| 召回条数 | 5–10 条 | 结合模型引用上限和单段平均长度,避免超出模型处理能力。 |
| 单段最大长度 | 800–1200 字符 | 避免单段过长导致引用内容 token 预算迅速耗尽。 |
这两者互相约束的地方
模型上下文长度 128000 是一个重要的约束,它要求 FastGPT 在整合引用内容时,召回的条数与每段内容的长度之积不能超过这个预算。引用上限 120000 token 专门用于限制引用内容的总体规模。向量库检索返回的是段落条数,而模型引用上限是按 token 计数的。当每段内容较短时,可以在引用上限内包含更多条目;当每段内容较长时,即使条目较少,也可能更快达到引用上限。因此,需要根据实际数据段落的平均长度,合理设置召回条数,以充分利用引用预算。openGauss 索引参数如 ef_construction 和 ef_search 的调优,会影响检索的准确性和速度,进而影响 FastGPT 能够为模型提供的有效引用内容质量。高质量的召回能让模型更好地利用其上下文能力。
容易做错的三处
- 日志显示
context_exceed_limit错误:原因在于召回内容总 token 超过了模型的上下文长度或引用上限。 - 检索结果为空或不相关:原因可能是 openGauss 的
ef_search值设置过低,导致搜索范围不足,未能找到足够相关的数据。 - FastGPT 返回的回答缺乏细节:原因可能是向量库返回的段落条数过少,或者每段长度过短,导致引用内容不足以支撑模型的详细回答。
怎么确认配好了
- 在 FastGPT 中进行多次问答测试,观察模型回答是否充分利用了知识库内容,并检查 FastGPT 界面中的引用内容是否完整。
- 通过 FastGPT 的调试日志,检查每次检索的召回条数与引用 token 消耗,确保
quoteMaxToken得到有效利用。 - 在 openGauss 数据库中,通过
EXPLAIN ANALYZE命令分析向量检索查询的性能,确认索引HNSW是否被有效使用,并检查查询响应时间是否在可接受范围内。 - 执行一些边界测试,例如提问一个需要大量引用才能回答的问题,观察 FastGPT 是否能够稳定地提供高质量回答,并检查是否存在
context_exceed_limit错误。