RAG 知识库搭建:Ollama+AnythingLLM 本地部署教程
如何使用 Ollama 和 AnythingLLM 搭建本地 RAG 知识库。首先解释了 RAG 技术的原理及其与 LLM 的关系,随后分步骤讲解了 Ollama 的安装、模型拉取(推荐 Qwen2.5)及服务模式配置。接着演示了 AnythingLLM 的连接设置、Workspace 创建、文档上传及聊天模式选择。最后补充了显存优化、检索效果调优及硬件建议等实用技巧,帮助用户实现私有化、安全可控的本地 AI 知识库应用。

如何使用 Ollama 和 AnythingLLM 搭建本地 RAG 知识库。首先解释了 RAG 技术的原理及其与 LLM 的关系,随后分步骤讲解了 Ollama 的安装、模型拉取(推荐 Qwen2.5)及服务模式配置。接着演示了 AnythingLLM 的连接设置、Workspace 创建、文档上传及聊天模式选择。最后补充了显存优化、检索效果调优及硬件建议等实用技巧,帮助用户实现私有化、安全可控的本地 AI 知识库应用。

RAG(Retrieval-Augmented Generation,检索增强生成)是一种先进的自然语言处理技术架构。它旨在克服传统大型语言模型(LLMs)在处理开放域问题时的信息容量限制和时效性不足。RAG 的核心机制融合了信息检索系统的精确性和语言模型的强大生成能力,为基于自然语言的任务提供了更为灵活和精准的解决方案。
RAG 不是对 LLM 的替代,而是对其能力的扩展与升级。传统 LLM 受限于训练数据的边界,对于未见信息或快速变化的知识难以有效处理。RAG 通过动态接入外部资源,使 LLM 得以即时访问和利用广泛且不断更新的知识库,进而提升模型在问答、对话、文本生成等任务中的表现。
RAG 就像是为大型语言模型配备了一个即时查询的'超级知识库'。这个'外挂'不仅扩大了模型的知识覆盖范围,还提高了其回答特定领域问题的准确性和时效性。
基于此,RAG 技术特别适合用来做个人或企业的本地知识库应用,利用现有知识库资料结合 LLM 的能力,针对特定领域知识的问题能够提供自然语言对话交互,且答案比单纯用 LLM 准确性要高得多。
本文将采用 Ollama + Qwen2.5 + AnythingLLM 来实现本地知识库搭建。这是一个轻量级、易于部署且支持中文的完整解决方案。
Ollama 本身不是 LLM,而是一个服务于 LLM 的工具。它提供了一个平台和环境,使得开发者和研究人员能够在本地机器上轻松地运行、测试和部署各种大型语言模型。
下载地址:https://ollama.com/download
支持 Windows、Mac、Linux。当然你也可以使用 Docker 安装镜像。
当你运行 ollama --version 命令成功查询到版本时,表示 Ollama 的安装已经顺利完成。
接下来便可以用 pull 命令从官方仓库下载模型。例如:
ollama pull llama3
还有更简单的方法直接使用 run 命令,它会在运行之前自动检查模型是否下载,如果没有会自动下载。
ollama run qwen2:7b
如果你想搭建的是本地知识库,当然是以中文为主,所以需要对中文支持最好的模型。Ollama 官方提供的模型中,对中文支持较好的有:
注意:智谱的 GLM 虽然优秀,但早期不兼容 Ollama 且没有 GGUF 格式文件,暂不建议用于此方案。
安装并运行 Qwen2 模型(以 7B 参数为例):
ollama run qwen2:7b
模型下载的默认路径通常是:~/.ollama/models。
为了配合 AnythingLLM 调用,我们需要以服务器模式启动 Ollama。
所谓服务器模式,你可以简单理解为,Ollama 在后端运行大模型,然后开放一个端口给到别的软件,让那些软件可以调用大模型的能力。
在终端里输入以下命令开启服务:
ollama serve
默认监听端口为 11434。如果需要在其他网络环境下访问,可以设置环境变量:
OLLAMA_HOST=0.0.0.0:11434 ollama serve
Open Web UI 虽然界面友好,但对于需要更多掌控权的个人本地知识库,AnythingLLM 是更好的选择。
完成安装后,打开 AnythingLLM 桌面客户端或 Web 界面。
在 AnythingLLM 界面中选择 Ollama 作为模型提供商。
然后在 Base URL 中填写:
http://localhost:11434
模型选择之前下载的 qwen2:7b。
Token context window 可以先用默认的 4096,根据显存情况调整。
搭建一个知识库,会涉及到另外两个关键组件:
在 AnythingLLM 中,我们可以使用默认的 Embedding 模型(如 nomic-embed-text)和 Vector Store(如 Pinecone 或本地 SQLite)。对于纯本地部署,建议使用内置的 SQLite 或 ChromaDB 以减少依赖。
完成以上设置后,进入下一步填写个人信息,再下一步给你的 workspace 起名。
接着你就可以在建好的 workspace 中上传你的个人知识库的内容了。
你可以根据项目来创建 Workspace,一个项目建一个。然后,把关于这个项目的所有文档、所有网页都导入 Workspace。
聊天模式主要有两种设置:
如果运行 Qwen2-7b 时显存不足,可以尝试以下步骤:
qwen2:1.5b 或 qwen2:0.5b。如果检索到的内容不准确,可以尝试:
mxbai-embed-large)。至此,你的本地个人知识库就搭建完成了!

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online