一、先简介一下:

ChatOllama 是一个基于 LLMs(大语言模型)的开源聊天机器人平台,支持多种语言模型。

ChatOllama 支持多种聊天类型:与 LLMs 免费聊天,基于知识库与 LLMs 聊天。
ChatOllama 的功能列表:Ollama 模型管理;知识库管理;聊天;商业 LLMs API 密钥管理;

ChatOllama 支持 2 种向量数据库:Milvus 和 Chroma。当然,本篇主要是chromaDB,因为我只部署使用了这个。

二、部署实操

2.1 先说本地部署吧~

2.1.1  安装 Ollama 服务器

自行部署Ollama server,(指路:安装指南  https://github.com/ollama/ollama

查看自己的ollama server是否启动了:默认情况下,它运行在 http://localhost:11434

打开之后页面是这样的~ 这样就是启动成功的~

2.1.2 安装 Chroma

https://docs.trychroma.com/getting-started 官网安装指南

两个方法:docker和本地

本地安装:

pip install chromadb

(目前不支持3.11python)

启动: chroma run 。端口默认是 http://localhost:8000。启动的页面是这样的:

docker安装:

# https://hub.docker.com/r/chromadb/chroma/tags
    docker pull chromadb/chroma
    docker run -d -p 8000:8000 chromadb/chroma

ChromaDB 正在运行于 http://localhost:8000

2.1.3 chatollama设置运行

从github上git一份保存到本地: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`

当模型中能看到你下载的模型列表时就说明连接成功啦

这样本地部署就完成了~

2.2 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](http://localhost:3000/models) 或使用 CLI 进行下载。

docker compose exec ollama ollama pull nomic-embed-text:latest

大概就是这样。

如果知识库创建错误,可以看看同一个专栏的另外一篇文章,或许可以帮到你https://blog.csdn.net/LY_LM/article/details/138612547?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://blog.csdn.net/LY_LM/article/details/138612547?spm=1001.2014.3001.5501

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐