AI LifeOS
AI 工程与转型白皮书
WP-01 · 第 3

RAG 架构入门:从检索到生成

检索增强生成(RAG)的核心组件、数据流与工程权衡,v2 将在 AI LifeOS 中落地。

RAG 架构入门

检索增强生成(Retrieval-Augmented Generation, RAG)把「外部知识检索」与「大模型生成」结合, 让模型在回答时引用最新、私有或领域特定的资料,而不是仅依赖训练时的参数记忆。

核心数据流

  1. 切分(Chunking):把文档切成语义完整的片段。
  2. 向量化(Embedding):用 embedding 模型把每个 chunk 映射为向量 vRd\mathbf{v} \in \mathbb{R}^d
  3. 检索(Retrieval):对查询向量 q\mathbf{q},用余弦相似度找 top-k:
sim(q,v)=qvqv\text{sim}(\mathbf{q}, \mathbf{v}) = \frac{\mathbf{q} \cdot \mathbf{v}}{\lVert \mathbf{q} \rVert \, \lVert \mathbf{v} \rVert}
  1. 生成(Generation):把 top-k chunk 拼进 prompt,交给 LLM 生成答案。

最小实现骨架

async function rag(query: string) {
  const qVec = await embed(query);
  const chunks = await vectorStore.search(qVec, { topK: 5 });
  const context = chunks.map((c) => c.text).join("\n---\n");
  return llm.complete(`基于以下资料回答:\n${context}\n\n问题:${query}`);
}

工程权衡

维度选择说明
切分粒度200–500 token太大稀释相关性,太小丢上下文
向量库pgvector / Qdrantv1 预留,v2 接入
重排序Cross-encoder提升 top-k 精度

在 AI LifeOS 中,RAG 属于 v2:v1 先把知识库内容与元数据做扎实,为向量化预留 Embedding 模型。