Open WebUI (前身為 Ollama WebUI) 是一個開源專案,旨在為本地運行的大型語言模型(如通過 Ollama 運行的模型)提供一個功能豐富、美觀且使用者友善的網頁介面。它不僅僅是一個聊天視窗,更是一個強大的、可擴展的平台,支援 RAG(檢索增強生成)、多模態、多人協作、模型管理等進階功能
對於開發者而言,Open WebUI 的價值在於其清晰的架構和標準化的 API,使其能夠輕鬆地被整合、自訂和擴展
[ 瀏覽器 ]
↓
[ Open WebUI 網頁介面 ]
↓
[ Ollama / OpenAI / Hugging Face / 其他 LLM API ]
↓
[ AI 推理回覆 ]
它就像 ChatGPT 的本地版網頁 UI 可以自己選擇要連接哪個模型,甚至自己部署在內網
docker run -d \
-p 3000:8080 \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
安裝完成後,開啟瀏覽器訪問: http://localhost:3000
如果已安裝 Ollama,可以在 Open WebUI 設定頁面中輸入
Ollama API URL: http://host.docker.internal:11434
如果啟用 Open WebUI API,可以直接從 Python 呼叫:
import requests
response = requests.post(
"http://localhost:3000/api/chat",
headers={"Authorization": "Bearer <你的API金鑰>"},
json={
"model": "llama3",
"messages": [
{"role": "user", "content": "請用中文介紹 Open WebUI"}
]
}
)
print(response.json())
const response = await fetch("http://localhost:3000/api/chat", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer <你的API金鑰>"
},
body: JSON.stringify({
model: "llama3",
messages: [{ role: "user", content: "請簡短介紹 Open WebUI" }]
})
});
console.log(await response.json());
Open WebUI 不僅是一個簡單的聊天介面,它是一個為開發者設計的、高度可擴展的 LLM 應用平台。通過其標準化的 Docker 部署、功能完整的後端 API 以及對 OpenAI 相容生態的支援
快速部署一個功能強大的私有 ChatGPT 環境
使用 Python 或任何其他語言的程式碼與其互動,實現文件管理、對話自動化等功能
將其作為統一的操作前端,連接和管理來自 Ollama 或其他推理服務的眾多模型
通過修改其開源的前後端程式碼,進行深度自訂,以滿足特定的業務需求
對於任何希望在本地 LLM 基礎上建構應用程式的開發者來說,理解和利用 Open WebUI 的這些特性將會是一個巨大的助力