内网通过源码安装AnythingLLM方法
# 1、安装docker环境
1)下载并安装 Docker Desktop
【链接】https://www.docker.com/products/docker-desktop/
2)启动 Docker Desktop 并验证安装:
docker --version
docker-compose --version
# 2、拉取源码
## 1)克隆项目仓库
git clone https://github.com/Mintplex-Labs/anything-llm.git
【参考】https://github.com/Mintplex-Labs/anything-llm/tree/master
## 2)进入项目目录:
cd anything-llm,进入目录后,结构如下:
## 3)构建docker镜像
cd docker目录
cp .env.example .env
说明:在建造之前,你必须这样做
【参考:https://docs.anythingllm.com/installation-docker/local-docker】
在构建过程中,遇到如下问题:
问题1:无法拉取基础镜像
解决方案:更改基础镜像名称,如下:
更改后仍然存在拉取基础镜像失败。
docker桌面版更改方式如下:
注意:macos安装docker包后,执行docker ps报错守护进程未启动,无法像linux中docker方式启动systemctl start docker,需要通过docker Desktop安装后,自动拉起守护进程。
brew install docker
报错如下:
ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
errors pretty printing info
于是,更新镜像源地址,更改为如下,默认docker Desktop为空
{
"debug": true,
"experimental": false,
"registry-mirrors": [
"https://ccr.ccs.tencentyun.com",
"https://docker.rainbond.cc",
"https://elastic.m.daocloud.io",
"https://elastic.m.daocloud.io",
"https://docker.m.daocloud.io",
"https://gcr.m.daocloud.io",
"https://ghcr.m.daocloud.io",
"https://k8s-gcr.m.daocloud.io",
"https://k8s.m.daocloud.io",
"https://mcr.m.daocloud.io",
"https://nvcr.m.daocloud.io",
"https://quay.m.daocloud.io"
]
}
Linux版更改方式如下:
问题2:
构建超时,
重试第一次
重试第二次,构建成功了。
## 4)下载镜像
打包镜像,文件较大,需要较长时间,需耐心等待。
## 5)启动
通过docker Desktop方式启动
通过命令方式启动
export STORAGE_LOCATION=$HOME/anythingllm && \
mkdir -p $STORAGE_LOCATION && \
touch "$STORAGE_LOCATION/.env" && \
docker run -d -p 3001:3001 \
--cap-add SYS_ADMIN \
-v ${STORAGE_LOCATION}:/app/server/storage \
-v ${STORAGE_LOCATION}/.env:/app/server/.env \
-e STORAGE_DIR="/app/server/storage" \
mintplexlabs/anythingllm
# 3、遇到问题
就是在内部网络实现导入知识库文档时候,遇到如下报错:
当上传完文件,将文件加载到工作区间执行如下按钮
错误信息:fetch failed Embedeer
通过官网查看解决方案
1.检查您的存储文件夹,看看是否存在名为models/Xenova的文件夹。
2.如果此文件夹不存在,则机器可能正在阻止来自HuggingFace或AWS的下载。
3.在您的机器上解锁huggingface.co和api.huggingface.co域。
4.再次尝试嵌入。
5.取消阻止这个来源:https://cdn.anythingllm.com/support/models/
6.再次尝试嵌入。
在内部网络搭建过程中,是不能上互联网的,故到以上域名解析失败引起。
解决方案:在通互联网的机器下载相关报,将其存放到对应目录。