Ubuntu本地部署AnythingLLM实现本地文档RAG
在企业内部,随着时间会慢慢积累大量的文档,这些文档若不能有效地利用,会造成很大的浪费。如何能够利用工具让沉淀的文档变成企业的资产,一直以来都是企业信息化的重要工作。幸好AI大模型的出现,让这一切都有了可能,今天实测一下AnythingLLM。AnythingLLM是一款功能很强大的全栈应用程序,它能将你的文档、资源(如网址、音频、视频)或任何内容片段,转化为可供大型语言模型(LLM)在聊天时参考的

在企业内部,随着时间会慢慢积累大量的文档,这些文档若不能有效地利用,会造成很大的浪费。如何能够利用工具让沉淀的文档变成企业的资产,一直以来都是企业信息化的重要工作。幸好AI大模型的出现,让这一切都有了可能,今天实测一下AnythingLLM。
AnythingLLM是一款功能很强大的全栈应用程序,它能将你的文档、资源(如网址、音频、视频)或任何内容片段,转化为可供大型语言模型(LLM)在聊天时参考的上下文。简单的来说,你可以把它想象成一个高度定制化且私有部署的“ChatGPT”,但它的独特之处在于,能让AI模型基于你提供的资料进行对话和回答。
1、本地部署AnythingLLM
准备本地环境,因为是测试环境,在云环境上创建8核32G虚拟机。
系统:Ubuntu 20.04.5 LTS
内核:5.4.0-125-generic
根据官方提供的部署信息,这里采用docker的方式。先来安装一下docker环境。
# 添加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的版本。
root@i-zz6dpdid:~# docker --version
Docker version 28.1.1, build 4eba377
拉取AnythingLLM的镜像,为了快速拉到镜像,可以改一下国内docker的镜像源。或者直接到指定网站拉取。
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镜像后,可以按照官网给出的启动方法操作,路径和镜像稍微修改一下。
#提前创建目录和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正在工作。

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

🔥运维干货分享
更多推荐

所有评论(0)