anythingllm+deepseek 本地安装部署
想体验下anythingllm的使用效果,就在本地个人电脑上进行了安装部署实验,步骤如下。
一、系统环境:
CPU:AMD Ryzen 7 5800H with Radeon Graphics 3.20 GHz
RAM:32G
显卡:NVIDIA GeForce RTX 3060 Laptop GPU,8G显存
系统:win10 专业版
二、安装ollama+deepseek
使用ollama在本地安装部署deepseek,详细步骤参见我的另外一篇文章【Deepseek R1 本地安装部署】
部署成功后,系统界面如下。
访问ollama系统链接,页面会提示ollama正在运行中。
三、安装anythingllm
anythingllm有两种方式,一种是windows安装文件,会默认安装在C盘,另一种是使用docker镜像方式。我采用的是docker镜像方式,这样方便以后的维护。
1.下载anythingllm镜像文件
使用管理员模式运行powershell,然后运行指令
docker pull mintplexlabs/anythingllm
2.在linux子系统上创建anythingllm的挂载目录,用来对anythingllm的数据和配置文件进行持久化存储。
进入linux子系统ubuntu,然后执行指令。
(1)创建一个目录用于AnythingLLM数据的持久化存储
mkdir -p /data/docker/anythingllm/data
(2)创建一个目录用于存放AnythingLLM的环境变量信息
mkdir -p /data/docker/anythingllm/env
(3)设置目录权限
chmod -R 777 /data/docker/anythingllm
3.创建环境变量文件
(1)创建环境变量配置文件
cd /data/docker/anythingllm/env
touch env.txt
(2)env.txt内录入环境变量信息。
SERVER_PORT=3001
STORAGE_DIR="/app/server/storage"
UID='1000'
GID='1000'
4.创建anythingllm 容器
使用以下命令创建anythingllm docker容器,并将数据目录挂载到前面创建好的文件目录里:
docker run `
-d `
--restart always `
--name anythingllm `
--cap-add SYS_ADMIN `
--privileged=true `
-p 3014:3001 `
-v \\wsl$\Ubuntu\data\docker\anythingllm\data:/app/server/storage `
-v \\wsl$\Ubuntu\data\docker\anythingllm\env\env.txt:/app/server/.env `
mintplexlabs/anythingllm
其中:
-d 表示后台运行容器。
--restart always 设置容器的重启策略。
--name anythingllm 为容器指定一个名称。
--cap-add SYS_ADMIN 添加SYS_ADMIN能力给容器,这意味着容器将获得更多的系统管理权限,比如进行磁盘管理、网络配置等
--privileged=true 使容器以特权模式运行,这将给予容器几乎相同于宿主机的权限。
-p 3014:3001 \ 将容器的3014端口映射到宿主机的3001端口。
-v \\wsl$\Ubuntu\data\docker\anythingllm\data:/app/server/storage 将宿主机的数据目录挂载到容器中。
-v \\wsl$\Ubuntu\data\docker\anythingllm\env\env.txt 将宿主机的配置文件挂载到容器中。
mintplexlabs/anythingllm 指定要使用的AnythingLLM镜像和版本(latest)
注意事项
- WSL 发行版名称:确保 Ubuntu 是实际使用的 WSL 发行版名称。如果使用的是其他发行版,需要相应地修改。
- 路径分隔符:在 PowerShell 中,路径分隔符是反斜杠 \,而不是正斜杠 /。
- 换行符:在 PowerShell 中,使用反引号 ` 作为换行符来分割长命令。
运行此命令前,需要确保 Dockerdesktop 已经正确安装并配置,并且 WSL 子系统可以正常访问。
5.测试anythingllm服务。
在浏览器内 输入 http://localhost:3014/ 即可以开始访问。如果ollama容器没有启动的话,在anythingllm 配置模型界面选择ollama时会报错,这时去将ollama容器启动即可。
6.下载 all-MiniLM-L6-v2模型 并手工部署(非必须)
docker版的anythingllm 中没有带all-MiniLM-L6-v2模型,这个模型是anythingllm默认用来进行文档向量化所用的模型,首次运行时,系统会自动从huggingface上下载这个模型。
但是,如果你没有代理的话,基本上是无法访问huggingface的,在进行文档向量化操作时系统会报错。某些代理不稳定时,也会导致下载失败。比如我上传一个文件“python基础教程.pdf”,然后移动到我的workspace,然后再执行 【save and embed】时系统会报错:
解决办法就是手工下载all-MiniLM-L6-v2模型文件,然后复制到容器对应的目录中。
Xenova\all-MiniLM-L6-v2 模型文件 list
anythingllm docker容器内model存放位置:
/app/server/storage/models
之前我们设置过数据挂载目录,就是那里!!!
搜索Xenova\all-MiniLM-L6-v2 模型文件,然后下载到windows本地,再在powershell内使用复制命令,将文件复制进入容器内即可。
docker cp e:/Users/Models-WH/Xenova anythingllm:/app/server/storage/models
其中:
e:/Users/Models-WH/Xenova windows系统内的模型文件位置
anythingllm 容器名称
/app/server/storage/models 容器内文件位置
复制成功后,可以查看下
这样文档向量化就不会再报错了。