內容概述
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-ollama4. 設定 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 -dDocker 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),本次未重新實機測試。
