ChatOllama:開源本機 AI 聊天機器人與知識庫 封面圖

ChatOllama:開源本機 AI 聊天機器人與知識庫

內容概述

ChatOllama 是一個基於大型語言模型(LLMs)的開源聊天機器人平台,支援多種語言模型和知識庫管理功能。

無論您是技術新手還是有經驗的開發者,都可以輕鬆地使用和擴展此平台。

應用場景

ChatOllama 可應用於多種場景,包括:

  • 與 LLMs 進行自由對話
  • 基於知識庫與 LLMs 進行專業領域的對話
  • 整合商業 LLMs API 以實現更強大的功能

技術特點

ChatOllama 網頁版以 Nuxt 3 開發,主要特點包括:

  • 支援多種語言模型,如 Ollama、OpenAI、Azure OpenAI、Anthropic、Google Gemini、Groq、Moonshot,以及與 OpenAI API 相容的服務
  • 知識庫(RAG),可上傳文件並建立專業領域的知識
  • 支援 Chroma 與 Milvus 向量資料庫
  • 新版加入 AI 智能體與 MCP(Model Context Protocol)工具整合

其他整合

ChatOllama 可與多種服務和工具整合,包括:

  • Ollama 伺服器,用於模型管理和推論
  • Chroma 和 Milvus 向量資料庫,用於知識庫的向量化儲存
  • PostgreSQL,作為主要資料庫(2025 年 8 月起取代原本的 SQLite)

近期變化

  • 資料庫改為 PostgreSQL:官方於 2025-08-14 將主要資料庫從 SQLite 遷移到 PostgreSQL。使用 Docker 部署者會自動處理遷移,但升級前仍建議先備份。
  • 新增命令列版本:專案目前的英文 README 以 chatollama-agent 命令列工具為主要入口(需要 Node.js 24 以上);本文介紹的是網頁版,仍可用專案中的 docker-compose.yaml 部署。

安裝步驟

以下是使用 Docker Compose 安裝 ChatOllama 網頁版的步驟(依官方目前的 docker-compose.yaml 更新):

1. 確保您已安裝 Ollama。如果尚未安裝,請參考 Ollama 官方指南。

2. 確保您已安裝 Docker 和 Docker Compose。如果尚未安裝,請參考 Docker 官方指南。

3. 下載 ChatOllama 儲存庫:

git clone https://github.com/sugarforever/chat-ollama.git
cd chat-ollama

4. 設定 SECRET:新版 docker-compose.yaml 要求設定至少 32 個字元的隨機字串 SECRET,否則無法啟動。可以在同一目錄的 .env 檔案中加入:

SECRET=請替換成至少32個字元的隨機字串

例如用 openssl rand -hex 32 產生一組隨機值。

5. 檢視 docker-compose.yaml:官方檔案目前包含 PostgreSQL、ChromaDB、ChatOllama、Redis 與 peanutshell(重新排序用)等服務,以下節錄重點:

services:
  postgres:
    image: postgres:16-alpine
    environment:
      - POSTGRES_DB=chatollama
      - POSTGRES_USER=chatollama
      - POSTGRES_PASSWORD=chatollama_password
  chromadb:
    image: chromadb/chroma
    ports:
      - "8000:8000"
  chatollama:
    environment:
      - SECRET=${SECRET:?Set SECRET to a random value of at least 32 characters}
      - CHROMADB_URL=http://chromadb:8000
      - DATABASE_URL=postgresql://chatollama:chatollama_password@postgres:5432/chatollama
    image: 0001coder/chatollama:latest
    ports:
      - "3000:3000"
    volumes:
      - ~/.chatollama:/app/data

正式使用前,請把 chatollama_password 換成自己的密碼(postgres 與 chatollama 兩處要一致)。

6. 啟動 ChatOllama 服務:

docker compose up -d

Docker Compose 會自動建立所需的 volume,不需要事先手動建立。啟動後,ChatOllama 會運行於 http://localhost:3000,可用 docker ps 確認各容器狀態。

存取和操作

服務啟動後,您可以透過瀏覽器存取 http://localhost:3000 進行設定和操作。

  • Ollama 伺服器預設位址為 http://localhost:11434。
  • 向量資料庫(ChromaDB)預設位址為 http://localhost:8000。

在設定頁面中,您可以進一步調整 ChatOllama 的參數,以符合您的需求。

小技巧

  • 在建立知識庫時,確保指定有效的嵌入模型名稱,如 nomic-embed-text,並確保模型已下載或可用。
  • 若遇到知識庫查詢緩慢的情況,請檢查模型的載入和釋放策略,確保模型在記憶體中的保留時間足夠長,以避免頻繁載入。

教學影片

影片來源:01Coder/YouTube

參考連結

成本與風險摘要

  • 適用對象與規模:想在本機或內網自架 AI 聊天與知識庫的個人、小團隊。
  • 成本(硬體、訂閱、授權):軟體免費(MIT 授權);搭配 Ollama 跑本機模型需要足夠的記憶體或 GPU;若接 OpenAI、Anthropic 等商業 API,依各家用量計費。
  • 維護時間:中;需維護 PostgreSQL、ChromaDB、Redis 等多個容器,並留意專案更新(例如資料庫遷移)。
  • 資安注意事項:務必設定隨機的 SECRET 並更換資料庫預設密碼;官方範例會把 PostgreSQL(5432)與 ChromaDB(8000)連接埠開放到主機,若主機可被外部存取,應移除這些對外連接埠或以防火牆限制;商業 API 金鑰要妥善保管。
  • 常見誤區:沿用舊版 SQLite 的 docker-compose 設定;忘記設定 SECRET 導致無法啟動;升級前沒有備份資料。
  • 不建議使用的情況:需要多人、大規模正式服務且沒有維運人力時;或只需要簡單聊天介面,不需要知識庫時,可考慮更輕量的方案。
  • 測試日期與版本號:資料查核日期:2026-10-28;安裝設定依官方 main 分支的 docker-compose.yaml(最新 release 為 agent-v0.4.0),本次未重新實機測試。
返回頂端