RAG(大模型 + 知识库)落地与知识管理的春天
引言
大模型时代已经到来。众所周知,GPT 等大模型是基于海量知识训练出来的,但你是否思考过,什么样的知识才能有效训练大模型?站在企业的角度,许多企业拥有自己的知识库或文档中心,积累了数年的资料。是否只要用上大模型,就能轻松实现基于自有知识库的智能搜索、智能问答和智能推荐?答案并非如此简单。
传统的搜索、问答、推荐场景通常返回一整篇文档,用户仍需从中寻找特定内容。而 ChatGPT、文心一言等产品的体验表明,大模型直接针对问题回复精准答案。典型的 RAG(检索增强生成)技术,先将文档切片,把大篇幅文档切割成更小的片段,再送给大模型处理。因此,在大模型时代,更容易被 AI 利用的知识形态需要重新定义。
一、知识基础形态和知识质量
1. 基础知识单元设计
结合日常实践,我们认为 AI 友好的基础知识单元很可能是:一个主题(问题)+ 一个内容段落 + N 个索引标签。
例如,关于 RAG 的定义:
- 主题(问题):RAG 的定义(RAG 是什么、RAG 是什么意思)
- 内容段落:RAG,英文 Retrieval-Augmented Generation 的缩写,中文是'搜索增强生成',是指大模型基于外挂知识库里的知识生成内容。这种方式对于大模型来说可以有效减少幻觉,对于知识库来说可以提高知识的利用率。
- 索引标签:#大模型 #知识库 #AI #基础知识
将这种标准化、结构化的知识单元存储起来,当用户问到类似问题时直接调用,能显著提升搜索、问答和推荐的效果。
2. 对知识单元的三种理解角度
- QA 对(问答对):一个问题加上一个内容段落。这是 AI 时代最基础的知识单元。小模型机器人通常搭配 QA 知识库,大模型微调(fine-tune)也使用精选 QA 作为案例来校准模型回复。
- 主题提炼:给段落加上主题,便于阅读时提取关键信息。在 RAG 实践中,从内容段落中预先提炼主题,应用时能更方便检索。
- 索引标签:标签用于区分知识的使用场景。例如,"RAG"可能指大模型领域的检索增强生成,也可能指生物领域的重组激活基因。通过标签可以准确返回结果或反问用户澄清意图。标签大致有四类:企业官方定义、作者自定义、业务场景关键词、大模型自动提取。
3. 知识质量与 AI 友好度
如果知识一开始就是 QAT(Question-Authority-Tag)或 AT(Authority-Tag)形式,AI 利用效率最高。但企业存量知识多为文档级。版式复杂、多种格式嵌套的文档是大模型难以直接消化的。目前的 RAG 实践通常需要知识预加工过程。
高质量、AI-friendly 的知识应遵循以下原则:
- 易于切割:版式容易切割成 chunk,段落之间有清晰界限。
- MECE 原则:内容段落符合相互独立、完全穷尽的原则。
- 言之有物:段落紧扣主题,表述准确。
- 格式简洁:段落内的文、图、表格式简洁、互相呼应。
若人阅读起来难受、理解费劲的文档,AI 消化起来表现也不会太好。大模型可以依据基础内容改写成优美的语言风格,因此不必过分追求辞藻,而应注重信息的准确性和结构化。
二、知识运营和知识管理体系
1. 知识运营关键环节
好的、高质量的、AI 友好度高的知识不会天然出现,需通过精细运营逐步积累。对存量和增量知识需采取不同策略。
- 知识生产:制定文档制作标准和范例,引导员工按标准模板生产 Word、Excel、PPT 等文档。最好将标准固化到知识库系统中。
- 知识采集:通过系统对接和人工上传汇聚知识。散落在各部门的已有文档需采集过来,此阶段需给原始文档打上预先规划好的标签。
- 知识加工:从原始文档中抽取基本知识单元。目前大模型及 OCR 工具抽取不够准确,需人工制定抽取规则,或先机器抽取后人工标注修正。
- 知识应用:在搜索/问答/推荐等场景落地。需围绕业务目标和实际应用场景进行创作/采集/加工。除监控使用人数、准确率外,还需获取用户点赞、点踩反馈数据。
- 知识增补:通过数据监控,将无答案的问题回到源头做知识生产,将低质量知识重新抽取加工。此过程应通过系统和线上流程实现,避免线下传递混乱。
2. 新的知识管理体系
在企业知识管理规划和立项阶段,应充分调研现有业务和知识现状:
- 规范度调研:深入文档查看规范度和 AI 友好度。
- 应用视角:转换为用户视角,了解用户在搜索、问答、培训时的具体需求和提问方式。
- 知识架构:知识规划阶段给出的知识架构和知识地图,应充分吸收上述内容。
在调动积极性方面,应预先让大家知道相应的知识规则和规范,并在实践中持续产出高质量知识。激励应基于高质量知识带来的效果转化。
跳出知识管理本身,更紧密与大模型落地衔接。在大模型企业落地需人工微调、校准的情况下,知识管理过程中需考虑 AI 效果评估,搭建 AI 测试集、训练集。在知识应用上线前,应经过效果验证,达到一定准确率才上线,并制定相应规范和人才组织。
三、RAG 技术落地深度解析
为了支撑上述知识运营体系,我们需要深入理解 RAG 的技术实现细节。这涉及检索器、生成器以及向量数据库的协同工作。
1. 检索策略优化
简单的关键词匹配已无法满足需求,语义检索成为主流。
- 向量化嵌入(Embedding):将文本转化为高维向量。常用模型包括 OpenAI 的 text-embedding-ada-002,以及开源的 BGE-M3、M3E-base 等。选择模型时需考虑领域适配性。
- 混合检索(Hybrid Search):结合关键词检索(BM25)和向量检索(Dense Retrieval),兼顾精确匹配和语义相似度。
- 重排序(Re-ranking):在初步检索后,使用 Cross-Encoder 模型对候选文档进行精细化排序,提升 Top-K 结果的准确性。
2. 分块(Chunking)策略
文档切分是 RAG 的关键步骤,直接影响检索效果。
- 固定长度分块:按字符数或 Token 数切分,简单但可能切断语义。
- 语义分块:基于句子或段落边界切分,保持上下文完整性。
- 递归分块:先按标题分割,再按段落分割,最后按字符数分割,保留层级结构。
- 滑动窗口:设置重叠区域,确保跨段落的上下文不被丢失。
3. 代码示例:LangChain 基础 RAG 流程
以下是一个基于 Python 和 LangChain 的基础 RAG 实现框架:
from langchain.document_loaders import DirectoryLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.vectorstores import Chroma
from langchain.chains import RetrievalQA
from langchain.llms import HuggingFacePipeline
# 1. 加载文档
loader = DirectoryLoader('./knowledge_base', glob="**/*.txt")
docs = loader.load()
# 2. 文本分块
splitter = RecursiveCharacterTextSplitter(
chunk_size=500,
chunk_overlap=50,
separators=["\n\n", "\n", ".", " "]
)
chunks = splitter.split_documents(docs)
# 3. 创建向量库
embeddings = HuggingFaceEmbeddings(model_name="BAAI/bge-m3")
vectorstore = Chroma.from_documents(documents=chunks, embedding=embeddings)
# 4. 初始化检索器和 LLM
retriever = vectorstore.as_retriever(search_kwargs={"k": 5})
llm = HuggingFacePipeline.from_model_id("Qwen/Qwen-7B-Chat", task="text-generation")
# 5. 构建 QA 链
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
chain_type="stuff",
retriever=retriever,
return_source_documents=True
)
# 6. 查询
query = "什么是 RAG?"
result = qa_chain({"query": query})
print(result["result"])
4. 效果评估指标
建立科学的评估体系是保障 RAG 质量的前提。
- 召回率(Recall):相关文档被检索到的比例。
- 准确率(Precision):检索结果中相关文档的比例。
- Faithfulness(忠实度):回答内容是否严格基于检索到的上下文,而非模型幻觉。
- Answer Relevance(答案相关性):生成的答案是否与用户问题高度相关。
常用的评估框架包括 Ragas 和 TruLens,它们可以通过自动化脚本对历史问答数据进行打分,帮助迭代优化知识库和检索参数。
结语
大模型技术的落地不仅仅是引入一个 API,更是企业知识资产的重构。通过构建标准化的知识单元、实施精细化的知识运营、并结合成熟的 RAG 技术栈,企业才能真正释放数据的价值,实现智能化的知识服务。未来的知识管理将不再是静态的文档存储,而是动态的、可交互的、持续进化的智能知识生态。

