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正在工作。

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

🔥运维干货分享

相关推荐
码农学院1 小时前
基于运维监控体系的网络品牌推广方案:从架构设计到技术实现
运维·网络
wangruofeng8 小时前
opencodex 解锁 Codex 任意模型,一个本地代理打通 Claude/Kimi/GLM/DeepSeek
llm·github·openai
wangruofeng9 小时前
姚顺雨长谈:在 Anthropic 和 Gemini 训练模型,英雄主义已经过时
llm·aigc
大耳朵-小飞象10 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
极客侃科技11 小时前
制造企业 MES/APS 选型:SAP PP/DS 集成、ERP-MES 边界划分与一体化架构要点
运维·架构·制造
HLC++11 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室13 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
赵康13 小时前
AI 写代码之后,Code Review 会议怎么开
ai·llm·skill
莫逸风14 小时前
【AgentScope 2.0】 0. 学习指南
java·llm·agent·agentscope
生活爱好者!14 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器