这一档模型的参数意味着什么
AntLing 提供的 Ling-3.0-flash-VL 模型,其 256000 的上下文长度,决定了在单次对话中能够承载的召回内容总量。这包括用户输入、历史对话以及从知识库检索到的段落。240000 的引用上限,则限制了知识库召回内容在最终提示词中可以占据的最大令牌数,为知识库引用设置了天花板。支持图片输入意味着在构建多模态应用时,可以直接将图像作为模型输入的一部分。工具调用能力则允许模型在需要时执行外部函数或 API,扩展了其处理复杂任务的能力。
配 Milvus 要定哪些
| 配置项 | 建议取法 | 这样取的依据 |
|---|---|---|
MILVUS_ADDRESS | localhost:19530 或 milvus-cluster-milvus.milvus.svc.cluster.local:19530 | 根据 Milvus 部署方式确定,确保 FastGPT 服务可访问。 |
MILVUS_TOKEN | 按实测标定 | 如果 Milvus 开启了鉴权,需提供有效令牌以确保连接安全。 |
index_type | HNSW | HNSW 在高维向量检索中提供较好的查询性能和召回率平衡。 |
metric_type | IP | IP(内积)适用于度量文本嵌入向量的相似性,与大多数预训练模型兼容。 |
M | 16 | 控制 HNSW 图中每个节点的最大邻居数,需根据数据规模和召回率要求调整。 |
efConstruction | 200 | 控制 HNSW 建索引时的候选范围,值越大通常构建更慢但图质量更高。 |
ef | 64 | 控制 HNSW 查询时的候选范围,值越大通常召回率更高但查询更慢。 |
这两者互相约束的地方
Ling-3.0-flash-VL 模型 256000 的上下文长度与 240000 的引用上限是配置 Milvus 召回策略的关键约束。知识库召回的条数乘以每段内容的平均长度,其总和不能超过模型的引用上限。如果 Milvus 返回的条数过多,超出了模型实际能处理的引用上限,则多余的段落会被截断或忽略。同时,Milvus 的 HNSW 查询参数 ef 会直接影响检索的召回精度。当 ef 调大时,Milvus 会在检索时探索更多的候选邻居,这可能带来更高的召回率,意味着模型有机会获得更全面的上下文信息。但这也可能导致检索时间增加,间接影响整个 RAG 链路的响应速度。因此,需要在这两者之间找到一个平衡点,确保在模型上下文预算内提供高质量的召回内容。
容易做错的三处
- 日志中出现
Milvus connection failed: [ErrCode: 0, ErrMsg: rpc error: code = Unavailable desc = connection refused]:通常是MILVUS_ADDRESS配置错误,导致 FastGPT 无法连接到 Milvus 服务。 - 模型回答缺乏相关知识,但知识库中明明存在相关文档:可能是 Milvus 检索返回的条数过少,或者检索精度不足,导致相关性低的文档被召回,而高相关性的文档未被选中。
- FastGPT 界面显示知识库引用为空,但模型仍尝试回答问题:这可能发生在 Milvus 正常返回向量,但返回的
distance值过高,未能达到 FastGPT 内部设定的相似度阈值,导致引用被过滤。
怎么确认配好了
- 在 FastGPT 中创建一个知识库,导入少量测试数据,然后进行一次带知识库的对话,观察模型是否能正确引用知识库内容。
- 检查 FastGPT 后台日志,确认没有 Milvus 相关的连接错误或查询异常信息,例如
Milvus search query failed。 - 通过 FastGPT 的调试模式,查看每次查询 Milvus 返回的原始结果,包括
vector_id和distance,评估召回内容的质量和数量是否符合预期。 - 针对特定查询,调整 FastGPT 知识库召回条数设置,并观察模型引用内容的完整性和相关性,以确定最合适的召回条数阈值。