返回文章列表

麒麟系统安装ChromaDB与Ollama

M
Moonpeak
|

cmai-chroma.tar.gz # chroma镜像
cmai-ollama.tar.gz # ollama镜像
cpython-3.10.19+20251031-x86_64-unknown-linux-gnu-install_only.tar.gz # chroma的Http服务指导Python离线包
daemon.json # docker配置文件
datakw.tar.gz # chroma数据库文件
dmeta-embedding-zh.tar.gz # 向量模型 导入镜像无需关注
docker-19.03.15.tgz # docker离线文件
docker.service # docker启动文件
Dockerfile.chroma # chroma镜像DockerFile 导入镜像无需关注
Dockerfile.ollama # ollama镜像DockerFile 导入镜像无需关注
httpServ.py # 向量库服务 导入镜像无需关注
offline-packages.tar.gz # chroma内部的python依赖包
start-chroma.sh # chromadb构建容器内启动脚本 导入镜像无需关注
start-ollama.sh # ollama构建容器内启动脚本 导入镜像无需关注

一、安装docker

Terminal window
### 请注意在安装前关闭对应的防火墙或放行端口!!!
# 解压
[root@kylinV10 ~]# sudo tar --strip-components=1 -zxvf docker-19.03.15.tgz -C /usr/bin
docker/dockerd
docker/docker-proxy
docker/containerd-shim
docker/docker-init
docker/docker
docker/runc
docker/ctr
docker/containerd
# 赋权
[root@kylinV10 ~]# sudo chmod a+x /usr/bin/docker*
# 移入docker的启动文件docker.service至下面的路径
/usr/lib/systemd/system/docker.service
# 让启动文件生效
[root@kylinV10 ~]# systemctl enable docker.service
# 创建docker配置文件目录
[root@kylinV10 ~]# sudo mkdir -p /etc/docker
# 移入docker配置文件daemon.json
# 取消麒麟对docker服务的屏蔽
[root@kylinV10 ~]# sudo systemctl unmask docker.service
# 启动docker服务
[root@kylinV10 ~]# systemctl start docker
# 验证安装成功
[root@kylinV10 ~]# docker --version

二、导入构建镜像

Terminal window
# 1. 解压(如果压缩了)
tar -xzf cmai-images.tar.gz
# 2. 导入镜像
docker load -i cmai-ollama.tar
docker load -i cmai-chromadb.tar

三、提前创建对应容器运行所需数据卷

/root/.ollama
# 数据卷配置路径可详见下文的容器运行命令的-v参数
# 且目标文件夹为model
mkdir /ollama_data
# chromadb数据卷
mkdir /data/chromadb/datakw

四、容器运行

Terminal window
# 创建共享网络(如果还没有)
docker network create ai_network
#启动ollama容器
docker run -d --name ollama --network ai_network --security-opt seccomp=unconfined
--security-opt apparmor=unconfined --cap-add=ALL -p 11434:11434 -v ollama_data:/root/.ollama 镜像名称:Tag
#启动chromadb和httpServ服务
docker run -d --name chromadb --network ai_network --security-opt seccomp=unconfined
--security-opt apparmor=unconfined --cap-add=ALL -p 8000:8000 -p 8008:8008 -v /data/chromadb/datakw:/chroma/chromadb/datakw 镜像名称:Tag

四、创建容器间网络访问

Terminal window
# 检查网络连接
docker network inspect ai_network

五、测试chromadb 和 ollama

Terminal window
curl http://192.168.0.112:11434/api/embed -d "{\"model\": \"shaw/dmeta-embedding-zh\",\"input\": \"天空是灰色的\"}"
curl http://192.168.0.112:8008/query/%E6%9F%B4%E8%83%A1?typ=ills