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

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

🔥运维干货分享

相关推荐
神筆&『馬良』2 小时前
Foundation_pose在自己的物体上复现指南:实现任意物体6D位姿检测(利用realsense_D435i和iphone_16pro手机)
目标检测·ubuntu·机器人·视觉检测
70asunflower2 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
聆风吟º3 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
NPE~3 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化
神梦流3 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器
凡人叶枫3 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习
xuhe24 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
Lsir10110_4 小时前
【Linux】进程信号(下半)
linux·运维·服务器
liuniu08184 小时前
VMware虚拟机安装ubuntu2022
ubuntu·ros