Ubuntu本地部署AnythingLLM实现本地文档RAG

在企业内部,随着时间会慢慢积累大量的文档,这些文档若不能有效地利用,会造成很大的浪费。如何能够利用工具让沉淀的文档变成企业的资产,一直以来都是企业信息化的重要工作。幸好AI大模型的出现,让这一切都有了可能,今天实测一下AnythingLLM。

AnythingLLM是一款功能很强大的全栈应用程序,它能将你的文档、资源(如网址、音频、视频)或任何内容片段,转化为可供大型语言模型(LLM)在聊天时参考的上下文。简单的来说,你可以把它想象成一个高度定制化且私有部署的"ChatGPT",但它的独特之处在于,能让AI模型基于你提供的资料进行对话和回答。

1、本地部署AnythingLLM

准备本地环境,因为是测试环境,在云环境上创建8核32G虚拟机。

系统:Ubuntu 20.04.5 LTS

内核:5.4.0-125-generic

根据官方提供的部署信息,这里采用docker的方式。先来安装一下docker环境。

bash 复制代码
# 添加Docker官方GPG密钥  
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg  
  
# 添加Docker稳定版仓库  
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null  
  
# 安装Docker引擎  
sudo apt update  
sudo apt install -y docker-ce docker-ce-cli containerd.io

可以查看一下docker的版本。

bash 复制代码
root@i-zz6dpdid:~# docker --version    
Docker version 28.1.1, build 4eba377

拉取AnythingLLM的镜像,为了快速拉到镜像,可以改一下国内docker的镜像源。或者直接到指定网站拉取。

bash 复制代码
   
root@i-zz6dpdid:~# docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mintplexlabs/anythingllm:latest  
......  
  
root@i-zz6dpdid:~# docker image ls  
REPOSITORY                                                                    TAG       IMAGE ID       CREATED        SIZE  
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mintplexlabs/anythingllm   latest    7606bb3edd61   9 months ago   2.47GB

获取到mintplexlabs/anythingllm:latest的docker镜像后,可以按照官网给出的启动方法操作,路径和镜像稍微修改一下。

bash 复制代码
#提前创建目录和env,并修改好权限  
mkdir -p /opt/anythingllm  
touch /opt/anythingllm/.env  
chown -R 1000:1000 /opt/anythingllm  
chmod -R 755 /opt/anythingllm  
  
#启动docker,记得加root,否则可能失败  
export STORAGE_LOCATION=/opt/anythingllm && \  
docker run -d -p 3001:3001 \  
--user root \  
--cap-add SYS_ADMIN \  
-v ${STORAGE_LOCATION}:/app/server/storage \  
-v ${STORAGE_LOCATION}/.env:/app/server/.env \  
-e STORAGE_DIR="/app/server/storage" \  
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mintplexlabs/anythingllm

好了,启动成功后,可以打开浏览器看下

因为之前配置好了deepseek-r1模型,直接选择ollama即可。

选择好文档处理的模型。

问个问题,测试一下。

2、本地文档RAG

现在环境配置好之后,我们尝试将本地文档上传到工作区去做文档内容向量化。


上传了文档之后,同时也要将文档pin into workspace,让文档真正作为知识库的一部分。

当上传文档后,通常需要三个步骤:

Upload(上传) → 文件传到服务器

Process/Embed(处理/嵌入) → 文档内容被分析和向量化

Pin into workspace(固定到工作区) → 文档与当前工作区建立关联

这时候如果我们去看下deepseek-r1模型所在节点,可以看到GPU正在工作。

测试一下效果吧,当我们提问:"企业云平台应急预案都有哪些?",它就会优先把本地上传的文档内容做一个汇总给出。

🔥运维干货分享

相关推荐
深紫色的三北六号3 小时前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash7 小时前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
神秘的猪头13 小时前
🔌 把 MCP 装进大脑!手把手带你构建能“热插拔”工具的 AI Agent
langchain·llm·mcp
哈基咪怎么可能是AI17 小时前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
智泊AI17 小时前
一文讲清:Agent、Workflow、MCP的区别是啥?
llm
十日十行1 天前
Linux和window共享文件夹
linux
warm3snow1 天前
Claude Code 黑客马拉松:5 个获奖项目,没有一个是"纯码农"做的
ai·大模型·llm·agent·skill·mcp
木心月转码ing2 天前
WSL+Cpp开发环境配置
linux
马腾化云东2 天前
Agent开发应知应会(langfuse):Langfuse Score概念详解和实战应用
人工智能·llm·ai编程
Baihai_IDP2 天前
HackerNews 热榜第一名:AGI 的 A,原来代表的是 Ads(广告)
人工智能·程序员·llm