phase 4: RAG管道

Phase 4:RAG 管道 本阶段目标:把「检索 + 提示 + 生成」串成完整 RAG 链,掌握上下文格式化、链的组装,并可选接触 RAGAS 做质量评估。 1. 设计指导 1.1 RAG 数据流 用户问题 → Retriever → 若干 Document → 格式化为一段 context 字符串 → Prompt(context=..., question=...) → LLM → 答案 * 检索:Phase 3 的 Retriever,invoke(question) 得到 List[Document]。 * 格式化:把 Document 列表转成「带来源的」

phase 3:向量存储与检索

Phase 3:向量存储与检索 本阶段目标:把 Phase 2 的 Document 列表写入向量库,学会 Embeddings、VectorStore、Retriever 的用法,并能用自然语言查询得到相关 chunk。 1. 设计指导 1.1 概念关系 * Embeddings:文本 → 向量。LangChain 用 Embeddings 接口封装(如 OpenAIEmbeddings)。 * VectorStore:存 (vector, metadata, optional id),支持相似度搜索。本项目用 Chroma 做本地开发(无需额外服务),生产可用 Qdrant。 * Retriever:抽象「查询 → 返回相关 Document 列表」

phase 2: 文档加载与分块

Phase 2:文档加载与分块 本阶段目标:掌握 LangChain 的 Document、Loader、TextSplitter,实现「从本地目录加载代码/文档并切成 chunk」,为向量检索做准备。 1. 设计指导 1.1 Document 与 Loader * Document:langchain_core.documents.Document,通常有 page_content(文本)和 metadata(如 source、language)。 * Loader:把外部数据转成 Document 列表。常见: * 本地目录/文件:DirectoryLoader、GenericLoader、按语言解析的 LanguageParser。 * 代码库场景:按后缀过滤(.py、