这一档模型的参数意味着什么
StepFun step-1-256k 模型提供 256000 的上下文长度,决定了单次请求中可输入的最大文本量,包括用户提问、历史对话和召回知识片段。引用上限同为 256000,表明模型在处理知识库引用时,能识别和利用的引用内容总长度上限与上下文长度一致。模型不支持图片输入和工具调用,意味着在构建应用时,无法通过这些能力扩展功能,需专注于文本处理和知识检索。单次最大输出未标注,通常表示输出长度受限于上下文总量与输入量之和。
配 Milvus 要定哪些
| 配置项 | 建议取法 | 这样取的依据 |
|---|---|---|
MILVUS_ADDRESS | localhost:19530 | 默认连接地址,按实际部署情况调整 |
MILVUS_TOKEN | 按实测标定 | 鉴权凭证,根据 Milvus 部署的安全策略配置 |
HNSW 参数 M | 16 | 平衡查询速度与索引构建开销 |
HNSW 参数 efConstruction | 128 | 影响索引构建质量,提高召回率 |
IP | L2 | 向量距离度量方式,适用于多种嵌入模型 |
top_k | 前 5 条 | 每次向量搜索返回的条数,与模型引用上限相关 |
这两者互相约束的地方
模型 256000 的上下文长度是核心约束。在配置 Milvus 召回时,召回条数与每段知识的平均长度之积不能超过此上限。例如,如果每段知识平均 1000 字符,那么召回条数最多为 256 条。模型的引用上限与 Milvus 返回的 top_k 条数共同决定了最终传递给模型的知识片段数量。Milvus 的 top_k 参数应小于或等于模型实际可处理的引用片段数量。如果 Milvus 索引参数如 HNSW 的 efConstruction 值调大,会提升召回质量,但可能增加 Milvus 的查询延迟。对于 step-1-256k 这样上下文较大的模型,高质量的召回能更好地利用其处理长文本的能力,但也需权衡查询响应时间。
容易做错的三处
- 向量检索结果为空,现象为模型回答“不知道”或“无法回答”。原因可能是 Milvus 中未导入相关知识或查询向量与知识库向量距离过大。
- 模型输出内容过短或信息不全,现象为
response字段内容不完整。原因可能是 Milvustop_k值设置过低,导致召回知识片段不足以支撑模型生成完整回答。 - RAG 链路长时间无响应或超时,现象为
HTTP 504 Gateway Timeout错误。原因可能是 Milvus 索引参数(如HNSW的efSearch)设置过高,导致单次查询耗时过长。
怎么确认配好了
- 执行一次包含知识库检索的对话,检查 Milvus 的
query日志,确认top_k参数是否生效,以及返回的向量条数是否符合预期。 - 在 FastGPT 界面查看 RAG 链路的“引用”或“知识”区域,核对召回的知识片段数量和内容是否与 Milvus 检索结果一致。
- 通过 FastGPT 的调试功能,观察传递给模型的完整
prompt内容,确认召回的知识片段总长度未超出 256000 的上下文限制。 - 针对不同查询意图,多次测试 RAG 链路的响应时间,确保在可接受的延迟范围内提供高质量的检索结果。