ChatOllama部署教程:本地与Docker部署详解
ChatOllama部署教程:本地与Docker部署详解
ChatOllama 是一个基于 LLMs(大语言模型)的开源聊天机器人平台,支持多种语言模型。它支持与 LLMs 免费聊天,以及基于知识库与 LLMs 聊天。平台提供 Ollama 模型管理、知识库管理、商业 LLMs API 密钥管理等功能,并支持 Milvus 和 Chroma 两种向量数据库。本文将详细介绍如何在 Windows 系统上部署 ChatOllama,包括本地部署和 Docker 部署两种方式。
一、本地部署
1.1 安装 Ollama 服务器
自行部署 Ollama server,具体安装指南可参考:Ollama 官方安装指南
查看 Ollama server 是否启动:
默认情况下,它运行在 http://localhost:11434
启动成功后的页面如下:
1.2 安装 Chroma
Chroma 官网安装指南:ChromaDB 官方网站
有两种安装方式:Docker 和本地安装。
本地安装:
pip install chromadb
(注意:目前不支持 Python 3.11)
启动命令:
chroma run
默认端口是 http://localhost:8000
,启动页面如下:
Docker 安装:
docker pull chromadb/chroma
docker run -d -p 8000:8000 chromadb/chroma
ChromaDB 正在运行于 http://localhost:8000
1.3 配置 ChatOllama
从 GitHub 上获取 ChatOllama 代码:
git clone https://github.com/sugarforever/chat-ollama.git
cd chat-ollama
复制 .env.example
文件到 .env
文件:
cp .env.example .env
安装依赖项:
pnpm install
运行迁移命令以创建数据库表:
pnpm prisma-migrate
启动开发服务器:
pnpm dev 或者 npm run dev
启动成功页面:
在页面的设置中,填写 Ollama 的服务器网址时,Ollama 服务器设置为 http://host.docker.internal:11434
当模型中能看到你下载的模型列表时就说明连接成功啦
这样本地部署就完成了~
二、Docker 部署
这是最简单的方法,只需要配置 docker-compose.yaml
文件:
version: '3.1'
services:
chromadb:
image: chromadb/chroma
ports:
- "8000:8000"
restart: always
volumes:
- chromadb_data:/chroma/.chroma/index
chatollama:
environment:
- CHROMADB_URL=http://chromadb:8000
- DATABASE_URL=file:/app/sqlite/chatollama.sqlite
- REDIS_HOST=redis
image: 0001coder/chatollama:latest
ports:
- "3000:3000"
pull_policy: always
restart: always
volumes:
- ~/.chatollama:/app/sqlite
redis:
image: redis:latest
restart: always
volumes:
- redis_data:/data
volumes:
chromadb_data:
redis_data:
可以按照自己的需要更改端口号,但 chromaDB 的相关配置需要保持一致。
在同一目录下执行命令:
docker compose up
运行时长这样:
在 docker desktop 中查看,可以看到已经运行启动成功了,点击 3000 就可以看到我们已经启动成功了。
第一次在 docker 中启动 chatollama 需要初始化 SQLite 数据库:
docker compose exec chatollama npx prisma migrate dev
三、使用知识库提前准备
使用知识库时,我们需要一个有效的嵌入模型。在这里可以是 Ollama 下载的模型或来自第三方服务提供商,例如 OpenAI。推荐使用 Ollama 管理的 nomic-embed-text
模型。
可以在 Models 页面 http://localhost:3000/models 或使用 CLI 进行下载:
docker compose exec ollama ollama pull nomic-embed-text:latest
如果在使用知识库时遇到问题,可以参考其他相关教程进行排查。