这一档模型的参数意味着什么
此档模型提供 131000 的上下文长度,这意味着单次请求可以处理大量的输入信息。单次最大输出虽未明确标注,但在实际应用中,通常会根据模型能力和应用场景动态调整。引用上限 120000 意味着引用的内容总计可占用 120000 token 的预算。引用内容的条数由检索侧决定,它与引用内容的 token 预算是两个不同的度量。模型支持图片输入,这允许在对话中处理视觉信息。同时,支持工具调用,使得模型能够与外部系统进行交互以完成特定任务。
配 openGauss 要定哪些
| 配置项 | 建议取法 | 这样取的依据 |
|---|---|---|
OPENGAUSS_URL | postgresql://user:password@host:port/database | 标准连接字符串,确保可访问 openGauss 实例 |
ef_construction | 100 | 影响索引构建时的图拓扑质量,数值越大构建时间越长,但检索质量越高 |
ef_search | 64 | 影响查询时遍历的邻居节点数量,数值越大检索召回率越高,但查询延迟可能增加 |
m = 32 | 32 | HNSW 索引中每个节点的最大邻居数,影响索引大小和查询性能的平衡 |
vector_dimension | 1024 | 向量维度需与模型 Embedding 输出维度一致,例如 Mistral-7B 输出维度 |
max_connections | 500 | 数据库最大连接数,需满足并发请求需求,避免连接池耗尽 |
这两者互相约束的地方
模型的 131000 上下文长度是总预算,其中包含指令、历史对话、召回内容和模型生成内容。因此,向量库返回的召回条数乘以每条内容的 token 长度,必须控制在这个总预算之内。引用上限 120000 token 是指所有召回内容合计占用的 token 数,与向量库返回的文档条数是不同的概念。如果每段召回内容较短,可能返回更多条文档才触及引用上限;如果每段内容较长,则可能较少条数就触及引用上限。openGauss 的 ef_construction 和 ef_search 等索引参数调大,可以提高向量检索的召回率和精度,这意味着模型能获取到更相关的上下文信息,从而提升回答质量,但同时也会增加索引构建和查询的资源消耗。
容易做错的三处
- 日志中出现
ERROR: 53300: remaining connection slots are reserved for non-replication superuser connections:openGauss 数据库连接数不足,未合理配置max_connections参数。 - 模型返回的回答内容明显与召回信息无关,或者回答过于简短:向量库的
ef_search参数设置过低,导致召回的文档质量或数量不足。 - 在 FastGPT 界面中,RAG 检索结果返回条数远低于预期,或者返回结果为空:
vector_dimension配置与实际模型 Embedding 维度不匹配,导致向量搜索失败。
怎么确认配好了
- 在 FastGPT 的 RAG 调试页面,输入典型问题,检查召回内容是否相关且数量充足,并根据实际业务场景评估召回条数是否满足需求。
- 通过 FastGPT 的 API 请求,观察每次请求的
prompt_tokens和completion_tokens,确认引用内容的 token 消耗是否在 120000 的预算内,并根据实际负载确定合适的阈值。 - 监控 openGauss 数据库的
pg_stat_activity表,观察连接数和查询延迟,确保max_connections和ef_search等参数在高并发下仍能保持稳定性能。 - 定期对 openGauss 向量索引进行性能测试,例如通过
pg_vector的ANALYZE命令或自定义测试脚本,评估不同ef_construction和m值下的索引构建时间与查询精度,并根据业务需求设定性能阈值。