什么是 RAG
RAG,即检索增强生成(Retrieval-Augmented Generation),是一种先进的自然语言处理技术架构。它旨在克服传统大型语言模型(LLMs)在处理开放域问题时的信息容量限制和时效性不足。RAG 的核心机制融合了信息检索系统的精确性和语言模型的强大生成能力,为基于自然语言的任务提供了更为灵活和精准的解决方案。
RAG 与 LLM 的关系
RAG 不是对 LLM 的替代,而是对其能力的扩展与升级。传统 LLM 受限于训练数据的边界,对于未见信息或快速变化的知识难以有效处理。RAG 通过动态接入外部资源,使 LLM 得以即时访问和利用广泛且不断更新的知识库,进而提升模型在问答、对话、文本生成等任务中的表现。
RAG 就像是为大型语言模型配备了一个即时查询的'超级知识库'。这个'外挂'不仅扩大了模型的知识覆盖范围,还提高了其回答特定领域问题的准确性和时效性。
基于此,RAG 技术特别适合用来做个人或企业的本地知识库应用,利用现有知识库资料结合 LLM 的能力,针对特定领域知识的问题能够提供自然语言对话交互,且答案比单纯用 LLM 准确性要高得多。
实践方案
本文将采用 Ollama + Qwen2.5 + AnythingLLM 来实现本地知识库搭建。
1. Ollama 环境部署
Ollama 本身不是 LLM,而是一个服务于 LLM 的工具。它提供了一个平台和环境,使得开发者和研究人员能够在本地机器上轻松地运行、测试和部署各种大型语言模型。
下载安装
下载地址支持 Windows、Mac、Linux。也可以使用 Docker 安装官方镜像。
当你运行 ollama --version 命令成功查询到版本时,表示 Ollama 的安装已经顺利完成。
模型下载与运行
接下来便可以用 pull 命令从在线模型库下载模型,例如:
ollama pull llama2
还有更简单的方法直接使用 run 命令,它会在运行之前自动检查模型是否下载,如果没有会自动下载:
ollama run llama3
由于目标是搭建中文本地知识库,需要选择对中文支持较好的模型。Ollama 官方提供的模型中,比较好的有:
- Llama2-Chinese:基于 Llama2 微调。
- Qwen 1.5/2.5:阿里的通义千问。所有尺寸的模型都支持长上下文长度,多语言支持优秀。
安装并运行 Qwen2 模型,注意根据硬件配置选择合适的参数量(如 7B):
ollama run qwen2:7b
模型下载的默认路径通常是 /Users/${home}/.ollama/models(macOS/Linux)或对应系统目录。
2. 启动服务器模式
AnythingLLM 需要通过 API 调用 Ollama,因此需要将 Ollama 设置为服务器模式。
在终端里输入以下命令开启服务:
ollama serve
此时 Ollama 将在后台运行大模型,并开放端口给其他软件调用。
3. 配置 AnythingLLM
下载安装 AnythingLLM 客户端后,开始进行连接配置。
- 选择模型后端:在界面中选择
Ollama。 - 填写 Base URL:填入
http://127.0.0.1:11434。 - 选择模型:选择之前下载的
Qwen2.5 7b。 - Token Context Window:可先使用默认的 4096,根据显存情况调整。


