跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言AI算法

基于 Ollama 与 AnythingLLM 搭建本地 RAG 知识库

综述由AI生成介绍如何利用 Ollama、Docker 和 AnythingLLM 搭建本地 RAG 知识库。通过部署开源大语言模型服务,结合文档向量化处理,实现私有数据的智能问答。步骤涵盖环境安装、模型配置、文档上传及向量化处理,无需云端 API,确保数据隐私。文章详细说明了从 Ollama 模型拉取到 AnythingLLM 容器部署的全流程,并提供了 Docker Compose 配置示例及常见问题排查指南,适合希望构建本地化 AI 应用的个人开发者。

WenxuanMa发布于 2025/2/7更新于 2026/5/3021 浏览
基于 Ollama 与 AnythingLLM 搭建本地 RAG 知识库

基于 Ollama 与 AnythingLLM 搭建本地 RAG 知识库

最近一直想基于 RAG(检索增强生成,Retrieval-Augmented Generation)和大语言模型(Large Language Model, LLM)技术搭建一套属于自己的个人知识库。以为会涉及到诸多复杂的流程,包括模型调用、界面开发等。经过实践发现,利用开源工具组合可以非常简单地实现,主要用到三个核心软件:Ollama、Docker 和 AnythingLLM。

1. 技术背景介绍

1.1 RAG(检索增强生成)

检索增强生成(RAG)是指对大型语言模型输出进行优化,使其能够在生成响应之前引用训练数据来源之外的权威知识库。大型语言模型(LLM)用海量数据进行训练,使用数十亿个参数为回答问题、翻译语言和完成句子等任务生成原始输出。在 LLM 本就强大的功能基础上,RAG 将其扩展为能访问特定领域或组织的内部知识库,所有这些都无需重新训练模型。这是一种经济高效地改进 LLM 输出的方法,让它在各种情境下都能保持相关性、准确性和实用性。

与 RAG 并生的另一种技术叫监督式微调(SFT),是将 LLM 模型注入新的知识库并将模型本身进行训练以获得所需要的结果,需要有一定的硬件设备。两种技术并不矛盾,其实互相结合才是最好的解决方案。本文重点介绍 RAG 的落地方案。

1.2 Ollama

Ollama 是一个开源的大型语言模型服务工具,它允许用户在自己的硬件环境中轻松部署和使用大规模预训练模型。Ollama 的主要功能是在 Docker 容器内部署和管理大型语言模型(LLM),使得用户能够快速地在本地运行这些模型。它简化了模型下载、管理和推理的过程,支持多种主流模型架构。

官网地址:https://ollama.com/

1.3 Docker

Docker 是一个软件平台,让您可以快速构建、测试和部署应用程序。Docker 将软件打包成名为容器的标准化单元,这些单元具有运行软件所需的所有功能,包括库、系统工具、代码和运行时。使用 Docker,可以将应用程序快速部署和扩展到任何环境中,保证环境的一致性。

官网地址:https://www.docker.com/

1.4 AnythingLLM

AnythingLLM 是由 Mintplex Labs Inc. 开发的一个全栈应用程序,是一款高效、可定制、开源的企业级文档聊天机器人解决方案。它能够将任何文档、资源或内容片段转化为大语言模型在聊天中可以利用的相关上下文。AnythingLLM 支持几乎所有的主流大模型和多种文档类型,可定制化,而且安装和设置简单,非常适合本地化知识库搭建。

2. 实现流程

2.1 安装 Ollama

  1. 下载与安装:访问 Ollama 官网下载对应操作系统的安装包,直接一路 Next 即可。
  2. 选择模型:在 Ollama 官网 Models 页面,点击 Filter by name 搜索模型。这里推荐使用 qwen2 系列,例如 qwen2:7b,大小约为 4.4G,适合大多数消费级显卡。
  3. 运行服务:双击图标运行 Ollama 后台服务。之后打开终端(Windows 电脑:win+cmd;mac 电脑:Terminal),粘贴命令拉取模型:
    ollama run qwen2:7b
    
    回车后会自动下载模型(可能网络会有些问题,建议配置镜像源)。下载完成后,直接在终端对话提问即可验证模型是否可用。

2.2 安装 Docker

  1. 下载:访问 Docker 官网下载 Desktop 版本。
  2. 安装:直接安装即可,非常简单。
  3. 启动:双击运行 Docker Desktop,确保服务正在运行。

2.3 部署 AnythingLLM

为了更稳定的运行,建议使用 Docker Compose 方式部署 AnythingLLM,或者通过 Docker CLI 手动启动。

方式一:Docker CLI 快速启动
  1. 拉取镜像:在 Docker 桌面界面搜索 AnythingLLM,点击 Pull 自动开始下载。
  2. 启动容器:下载好后,点击 Images 列表中的 AnythingLLM,点击 Run 启动镜像。
  3. 端口配置:配置端口号,输入一个未被占用的 4 位数(如 8080),不要与现有容器冲突。
  4. 浏览器访问:启动服务后,跳转到浏览器访问配置的端口。
方式二:Docker Compose 配置(推荐)

创建 docker-compose.yml 文件,内容如下:

version: '3'
services:
  anythingllm:
    image: mintplexlabs/anythingllm:latest
    container_name: anythingllm
    ports:
      - "3001:3001"
    environment:
      - PERSIST_DATA=true
    volumes:
      - ./data:/app/server/storage
    restart: unless-stopped

执行 docker-compose up -d 启动服务。

2.4 配置连接与知识库

  1. 选择模型:进入 AnythingLLM 管理页面,选择 Ollama 作为模型提供商,选择刚刚下载好的 qwen2:7b 模型,max token 根据显存情况自行调整。
  2. 工作区设置:按默认选项继续,其他保持默认即可。其中 Embedding Preference 是 Embedding 偏好的模型,默认选择 AnythingLLM Embedder;Vector Database 向量库默认选择 LanceDB。
  3. 初始化:下一步输入邮件地址和用途,输入工作区名称,进入主页面。
  4. 上传文档:点击左侧的'个人知识库',点击上传按钮,上传 PDF、TXT 等文档到右侧工作区。
  5. 向量化处理:将文档向量化(本地执行),稍等一下即成功。此过程会将文档内容转换为向量存入数据库。
  6. 开始对话:回到主页面,选择'个人知识库',开始对话。可以看到,基于本地知识库的结果准确率较高。
  7. 高级设置:可在设置里面调整工作区名称、头像、文档相似性阈值等信息,以优化检索效果。

3. 常见问题与优化

3.1 模型下载慢

如果 Ollama 模型下载速度较慢,可以在环境变量中配置代理,或者使用国内镜像源加速。例如在 Windows 上可以通过修改 hosts 或使用科学上网工具解决网络问题。

3.2 显存不足

如果运行大模型时显存不足,可以尝试选择参数量更小的模型(如 qwen2:0.5b 或 phi2),或者减少并发请求数。AnythingLLM 支持动态加载模型,关闭不用的工作区可以释放显存。

3.3 检索效果不佳

如果问答结果不准确,可以调整文档切片策略。在 AnythingLLM 设置中,可以修改 Chunk Size(切片大小)和 Chunk Overlap(重叠部分)。较小的切片通常能提高检索精度,但会增加计算量。

4. 结论

基于 RAG 的个人本地知识库搭建其实很简单,通过 Ollama 提供本地推理能力,AnythingLLM 提供文档管理与交互界面,配合 Docker 实现环境隔离,即可构建一个完全私有化的 AI 助手。后续可以尝试把专业相关的知识注入进去,方便自己的个人知识库检索,实现知识的沉淀与复用。

目录

  1. 基于 Ollama 与 AnythingLLM 搭建本地 RAG 知识库
  2. 1. 技术背景介绍
  3. 1.1 RAG(检索增强生成)
  4. 1.2 Ollama
  5. 1.3 Docker
  6. 1.4 AnythingLLM
  7. 2. 实现流程
  8. 2.1 安装 Ollama
  9. 2.2 安装 Docker
  10. 2.3 部署 AnythingLLM
  11. 方式一:Docker CLI 快速启动
  12. 方式二:Docker Compose 配置(推荐)
  13. 2.4 配置连接与知识库
  14. 3. 常见问题与优化
  15. 3.1 模型下载慢
  16. 3.2 显存不足
  17. 3.3 检索效果不佳
  18. 4. 结论
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • C++ 刷题与学习资源网站汇总
  • Spring Boot + Vue 前后端接口交互全流程详解
  • 使用 AI 工具(Cursor/VS Code)调试 MATLAB 代码实测
  • 从 LLaMA-Factory 微调到高通 NPU 部署:Qwen-0.6B 全链路移植指南
  • Redis 事务机制与实战解析
  • 论文AIGC飘红?深扒10款降ai率工具,免费降ai率还是交智商税?这篇论文降ai干货请收好!
  • Python+Django 城市化自习室管理系统设计与实现
  • ubuntu 24.04 安装 Nvidia 显卡驱动 + CUDA + cuDNN,配置 AI 深度学习训练环境
  • 主流 RAG 与 GraphRAG 框架总结及推荐:LightRAG、nano-GraphRAG、Dify
  • Digital Micrograph 安装指南:透射电镜数据处理软件配置流程
  • Stable Diffusion v1.5 Archive 跨平台效果一致性复现指南
  • 使用 DFS 解决 Flood Fill 类算法题
  • 基于 Canvas/WebGL/WebRTC 的多维度浏览器指纹隐身实战
  • whisper.cpp 跨平台语音识别部署实战指南
  • Claude Code 持久化记忆插件 claude-mem 完全指南
  • OIS 防抖结构、闭环控制与 ISP 融合调优
  • Coze 低代码搭建 AI 小程序入门指南
  • Heygem 数字人系统 Linux 环境依赖安装步骤
  • EF、LINQ to SQL 与 SqlSugar 技术对比分析
  • ESP32-S3 CameraWebServer 避坑指南:从硬件连接至网页访问全流程

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online