业务场景
RAG 聊天机器人在生产应用中的实际场景
内部政策助手需要回答人事手册和地区补充文件中的问题。检索发生在模型调用之前,每个段落保留文档 ID、章节、生效日期和访问标签。
Gemini 2.5 Pro 只接收选中的段落,并必须引用使用的段落 ID。地区政策发生冲突时,回答要展示冲突,而不是无声选择。
生产使用场景
内部政策助手需要回答人事手册和地区补充文件中的问题。检索发生在模型调用之前,每个段落保留文档 ID、章节、生效日期和访问标签。

生产方案
| 生产选择 | 推荐配置 | 原因 |
|---|---|---|
| API | POST /v1/chat/completions | 从服务端发送 OpenAI 兼容请求 |
| 主模型 | gemini-2.5-pro | Gemini 2.5 Pro 适合作为长证据集合和跨文档综合的主路由。 |
| 备用模型 | gemini-2.5-flash | 短且检索质量高的问题使用 Gemini 2.5 Flash。只有确认检索无误后,才把歧义政策综合升级到 Terra。 |
| 升级模型 | gpt-5.6-terra | 只有主路由越过已定义的质量或复杂度边界时才使用 |
| 输出契约 | 场景专用文本或补丁 | 每个重要结论后带段落 ID;证据不足时明确说明缺口。 |
内部政策助手需要回答人事手册和地区补充文件中的问题。检索发生在模型调用之前,每个段落保留文档 ID、章节、生效日期和访问标签。
Gemini 2.5 Pro 只接收选中的段落,并必须引用使用的段落 ID。地区政策发生冲突时,回答要展示冲突,而不是无声选择。
请求应从服务端发送。请将示例内容和占位工具 Schema 替换为应用中的真实数据与工具。
curl https://app.llmfly.ai/v1/chat/completions \
-H "Authorization: Bearer $LLMFLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-2.5-pro",
"messages": [
{"role": "system", "content": "Answer only from the supplied passages. Cite passage IDs after each material sentence. If passages are missing or conflicting, state that explicitly."},
{"role": "user", "content": "Can a Shanghai employee carry unused leave into next year? Use the supplied policy passages."}
]
}'Gemini 2.5 Pro 适合作为长证据集合和跨文档综合的主路由。
短且检索质量高的问题使用 Gemini 2.5 Flash。只有确认检索无误后,才把歧义政策综合升级到 Terra。
| 指标 | 通过条件 |
|---|---|
| 检索召回率 | 对于可回答的测试问题,检索阶段能返回已知支持段落 |
| 引用正确率 | 每条引用都直接支持其对应的句子或字段 |
| 无依据结论比例 | 最终回答中不出现没有来源支持的重要结论 |
| 正确拒答率 | 来源缺失、过期或冲突时,助手会拒答或明确限定结论 |
每个重要结论后带段落 ID;证据不足时明确说明缺口。
每次生产运行都应记录模型 ID、Request ID、Token 用量、重试、验证结果和最终处理状态。
两者都重要,但应分开评估,避免把检索漏召回误判为生成失败。
在预算内使用能够充分支持答案的最小集合。
展示冲突、来源和日期,不要无声地选择一个说法。
让主模型和备用模型使用相同请求、工具和验证规则。