RAG知识库落地包生成器
触发词
RAG、知识库问答、文档问答、检索增强、搭建知识库、私有资料接入 AI、让 AI 读我的文档、embedding
适用场景
- 想把手头文档(制度 / 手册 / 产品资料 / 论文 / 客服记录)做成能问答的系统
- 知道 RAG 概念,但不会分块、不会选嵌入模型、不会搭检索管线
- 需要一份能直接跑的 ingestion 代码 + 选型建议
不适用场景(边界)
- 仅问"RAG 是什么"的科普——给简要说明即可
- 涉密 / 合规受限资料——提示用户先做脱敏,不代处理原始敏感数据
工作流程
- 收语料画像:用户给定——文档类型(PDF / Word / 网页 / 数据库)、规模(几十到几百万字)、问答精度要求、是否中文为主、部署环境(本地 / 云)。
- 定分块策略:给出 chunk 大小(如 500–800 字 / 按标题层级递归切分)、重叠(overlap 10–15%)、是否保留元数据(来源 / 页码)。
- 定方案:嵌入模型(中文优先 bge / m3e / 阿里 text-embedding 等)、向量库(轻量用 FAISS / Chroma,分布式用 Milvus / Qdrant)、检索(向量 + 关键词混合 / 重排 rerank)。
- 出产物:
- 分块策略说明
- ingestion 示例代码(Python,含读取 → 切分 → 嵌入 → 入库 → 检索 → 拼提示词问答 的最小可跑骨架)
- 向量库 / 嵌入模型选型对比与推荐
- 部署与调用说明(含"如何接大模型做最终回答") - 给最小示例:贴一段可直接改路径运行的 ingestion 片段。
输出模板(ingestion 最小骨架)
# rag_build.py —— 把本地文档建成可检索知识库(示意,依赖见下方)
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.vectorstores import FAISS
from langchain.embeddings import HuggingFaceEmbeddings # 中文用 bge-small-zh 等
docs = load_your_docs("./data") # 用户按实际格式实现读取
splitter = RecursiveCharacterTextSplitter(chunk_size=600, chunk_overlap=80)
chunks = splitter.split_documents(docs)
emb = HuggingFaceEmbeddings(model_name="BAAI/bge-small-zh-v1.5")
vs = FAISS.from_documents(chunks, emb)
vs.save_local("kb_index")
print("知识库已建,块数:", len(chunks))
> 依赖:pip install langchain faiss-cpu sentence-transformers;实际模型 / 向量库按"选型建议"替换;代码为示意骨架,请按文档格式补全 load_your_docs。
红线
- 不处理未脱敏的涉密原始数据;提示用户先脱敏。
- 不写死 API Key,模型调用走环境变量。
- 不承诺"开箱即得 100% 准确"——RAG 效果依赖分块与召回,交付时说明"建议用真实语料测 10–20 问调优"。
🗣️ 大白话介绍
你有一堆文档(公司制度、产品手册、论文都行),想让 AI 能基于这些文档回答你的问题,而不是瞎编。这叫 RAG。叫这个技能,说清"什么文档、多少量、中文还是英文、想本地还是上云",它就给你一套落地方案——怎么把文档切碎、用哪个嵌入模型、存哪个向量库,还附一段能直接跑的建库代码和选型建议,你照着把文档变成"会答题的知识库"。