搭建基于 LLM 的个人知识库
近期,基于大语言模型(LLM)结合外挂知识库的问答系统备受关注。为了有效利用本地沉淀的笔记与文档,本文旨在通过 LLM 的推理和归纳能力,搭建一个私有化的个人知识库系统,实现知识的检索与复用。
一、核心概念解析
1. 什么是外挂知识库?
在介绍具体方案前,我们需要理解大语言模型(如 ChatGPT)的特性:
- 文本生成能力强:能够生成高质量、语义连贯且流畅度高的文本。
- 上下文推理能力:能根据输入的上下文信息,针对问题生成更相关的回答。
然而,通用模型的训练数据存在截止时间(例如截止至 2022 年),无法直接获取最新的私有数据。若直接将大量数据作为 Prompt 输入,受限于 Token 长度限制,不仅成本高昂,且效果不佳。因此,我们需要一种机制,仅将和问题最相关的内容提取出来作为上下文输入。
这本质上是一个搜索引擎的工作流程:
- 将文档内容保存到数据库中。
- 提问时,先从数据库检索相关内容。
- 将检索内容与问题组合成 Prompt 提交给 LLM。
这个存储了文档内容的数据库即为外挂知识库。其核心处理流程包括:
- 分词(Tokenizer):将文本拆分为计算机可处理的单元。
- 向量化(Embedding):将文本转换为数学向量,便于相似度计算。
- 向量数据库(Vector Store):存储和管理向量,支持快速检索相似文本。

关键技术名词解释
- 分词器(Text Splitter):如
MarkdownTextSplitter,负责将长文本按段落或字符数切分,避免超出上下文窗口。 - 嵌入模型(Embedding Model):如
shibing624/text2vec-base-chinese,用于将中文文本映射为向量空间中的点。 - 向量数据库:如
FAISS,用于高效存储和检索高维向量。
二、技术选型与方案对比
目前主流的开源及商业化方案主要分为以下几类:
-
ChatGPT + Fine-tune(微调):
- 优点:模型深度适配特定领域。
- 缺点:成本高,训练周期长,对算力要求极高,且数据隐私风险较大。
-
开源 LLM + 微调:
- 优点:数据私有化,可控性强。
- 缺点:仍需训练资源,且微调后的模型泛化能力可能下降。
-
LangChain + 开源 LLM(RAG 架构):
- 优点:无需训练,数据安全,部署灵活,社区生态丰富。
- 缺点:依赖检索质量,存在'幻觉'风险。
综合考量成本、安全性与实施难度,本文选择方案 3,即结合 LangChain 框架与开源大模型(ChatGLM3),构建不依赖外部 API 的私有化知识库。







