沈毅全栈与 AI

巴黎 • 新加坡 • 上海

RAG Formation · 参考资料

一个问题穿过 RAG 系统

在本网站学习和测试 RAG 质量的独立速查表。

$ reference --status
▸ 课程 RAG Formation
▸ 模式 独立参考资料
▸ 状态 已完成
● 学习 → 测试 → 验证

参考资料

一个问题穿过 RAG 系统

RAG Formation 的课程内容已完成;这份资料可用于自主学习和练习。

核心路径

HTTP 请求 → 路由 → 服务 → 检索 → 组装上下文 → 引用 → 生成 → 响应

调用地图

阶段文件 / 函数职责
1. HTTP 入口routes/qa.py
ask_question()
接收 `QuestionRequest` 并将其传递给 QA 服务。
2. 编排qa_service.py
answer_question_internal()
检查输入,解析服务和配置,并协调请求。
3. 检索search.py搜索 Qdrant 片段、Qdrant 摘要、Meilisearch 和 LightRAG。
4. 上下文utils.py
build_context()
在各渠道之间分配预算,并保留最终到达模型的项目。
5. 引用utils.py
sources_from_items()
根据在上下文组装后仍然存活的证据构建来源列表。
6. 提示词utils.py
build_prompt()
告诉模型使用上下文、引用来源,并拒绝没有证据支持的答案。
7. 生成qa_service.py
completion.generate()
根据问题和组装后的上下文生成最终答案。
8. 响应models.py
AnswerResponse
返回答案、来源和诊断统计。

调试时检查什么

  • 生成前:检查 `/api/v1/search` 和 `context_items_included`。
  • 引用时:将 `sources` 与实际进入上下文的项目进行比较。
  • 生成后:将答案同时与证据和预期答案进行比较。
  • 延迟方面:检查全部四个检索调用,尤其是 LightRAG,以及最后的完成调用。

调试时不要只看最终答案。先检查检索结果、实际进入上下文的项目和引用来源,再检查生成的答案。

继续学习: 打开对应的独立课程 · 课程路线图