ChatOllama部署教程:本地与Docker部署详解
ChatOllama部署教程:本地与Docker部署详解
ChatOllama 是一个基于 LLMs(大语言模型)的开源聊天机器人平台,支持多种语言模型。它支持与 LLMs 免费聊天,以及基于知识库与 LLMs 聊天。平台功能包括 Ollama 模型管理、知识库管理、商业 LLMs API 密钥管理等。本文将详细介绍如何在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 上克隆项目到本地:
GitHub - sugarforever/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
如果知识库创建错误,可以参考作者的另一篇文章:ChatOllama 知识库创建指南