这一档模型的参数意味着什么
StepFun 提供的 step-1-256k 模型,其 256000 的上下文长度表示单次请求模型时,可以输入和输出的总 token 数量上限。这直接决定了知识库召回内容、历史对话记录等能够纳入模型处理范围的上限。未标注的单次最大输出意味着模型在生成回复时没有明确的 token 数量限制,但实际输出仍受限于总上下文长度。256000 的引用上限指模型在处理 RAG(检索增强生成)任务时,可以引用的知识库段落总 token 数限制。图片输入为 false 表明该模型不支持多模态输入。工具调用为 false 则意味着该模型不具备直接调用外部工具的能力。
配 openGauss 要定哪些
| 配置项 | 建议取法 | 这样取的依据 |
|---|---|---|
OPENGAUSS_URL | postgresql://user:password@host:port/database | 连接 openGauss 数据库实例的统一资源定位符,确保 FastGPT 能够访问向量存储。 |
ef_construction | 64 | HNSW 索引构建参数,影响索引构建质量与速度。该值越大,索引质量越高,召回精度越好,但构建耗时增加。 |
ef_search | 32 | HNSW 索引搜索参数,影响搜索精度与速度。该值越大,搜索精度越高,但查询耗时增加。 |
m | 32 | HNSW 索引的邻居数限制,控制每个节点连接的最大邻居数。该值越大,索引结构越复杂,搜索精度理论上更高。 |
| 召回条数 | 5-10 条 | 结合模型引用上限与单段平均长度,控制召回内容的数量。 |
| 单段长度 | 500-800 字符 | 避免单段内容过长导致模型上下文溢出,同时保证每段信息完整性。 |
这两者互相约束的地方
模型 256000 的上下文长度是硬性约束,召回条数与每段长度的乘积不能超过这个上限。例如,若平均每段 800 token,召回 10 条,则已占用 8000 token。FastGPT 在将召回内容送入模型前,会检查总 token 数是否超过模型的引用上限。openGauss 向量库的 ef_search 参数决定了搜索时的精度与召回条数。当 ef_search 设置较低时,可能导致召回条数不足或相关性不佳,无法充分利用模型的引用上限。相反,ef_search 设置过高会增加 openGauss 的查询延迟,可能导致 FastGPT 侧的响应时间增加,甚至触发超时。ef_construction 和 m 参数的调整,虽然主要影响索引构建和存储,但最终会体现在 ef_search 阶段的召回效率和准确性上。
容易做错的三处
- FastGPT 界面提示“请求模型失败,上下文长度溢出”,原因通常是召回条数过多或每段内容过长,导致总 token 数超过
step-1-256k模型的 256000 上下文限制。 - 召回内容与问题相关性差,但 FastGPT 返回的向量搜索结果条数正常,这可能是
ef_search参数设置过低,导致 openGauss 在搜索时未能找到足够多的高质量近邻。 - openGauss 向量搜索响应时间过长,导致 FastGPT 侧出现超时错误,这往往是
ef_search或ef_construction参数设置过高,增加了 openGauss 的计算负担。
怎么确认配好了
- 在 FastGPT 中上传一个包含多条长文本的知识库,进行一次问答测试,观察模型返回的引用内容是否完整、相关,且未出现上下文溢出提示。
- 检查 FastGPT 后台日志,确认 openGauss 向量搜索的平均响应时间,确保其在可接受的范围内,避免因向量库查询过慢导致 FastGPT 整体响应延迟。
- 针对不同类型的查询,多次测试 FastGPT 的问答效果,通过人工评估召回内容的准确性和全面性,并与预期结果进行比较,以此确定
ef_search和ef_construction参数是否合理。