如何使用Open WebUI+Ollama本地搭建類似deepseek的AI聊天助手

本地搭建類似deepseek的AI聊天助手

人工智慧聊天助手已成為提高生產力和創造力的重要工具。從回答問題到自動完成某些任務,它們能幫你做很多事情。但是,這些工具大多需要連線到 OpenAI 和 Claude 等服務,這意味著你始終需要網際網路接入。雖然這很方便,但也引發了對隱私、資料安全和對外部伺服器依賴性的擔憂。

如果您想使用人工智慧聊天助手而不擔心這些問題,您可以在本地機器或伺服器上託管和執行自己的人工智慧模型。這樣您就可以完全控制自己的資料,還能根據自己的需要定製模型。

在本文中,我們將向您展示如何使用 Open WebUI 本地搭建一個屬於個人的AI聊天助手,它可以在本地機器或伺服器上執行,也可以離線執行。

什麼是Open WebUI

Open WebUI 是一個開源網路介面,用於與各種大型語言模型(LLM)進行互動。

它具有許多功能,如支援檢索增強生成(RAG)、影象生成、支援 Markdown 和 Latex、支援 SearXNG 的網路搜尋、基於角色的訪問控制等,這些功能使它可以與 ChatGPT 和 Claude 等流行服務相媲美。

系統先決條件

要啟動並執行 Open WebUI,您需要具備以下條件:

  • Docker:在本文中,我們將使用 Docker 來執行 Open WebUI。這樣,應用程式就被包含在內,不會直接干擾你的計算機系統。
  • Ollama:您還需要 Ollama 來執行模型。Ollama 是一款允許您協調多個模型的工具。它用於在開放式 WebUI 中執行模型。請按照我們的文章 Ollama 入門中的說明在計算機上安裝和設定 Ollama(見下文)。

安裝完 Docker 和 Ollama 後,請確保 Ollama 已在 127.0.0.1:11434localhost:11434 的 API 訪問許可權下執行。你可以通過執行以下命令來獲取 Ollama 的版本:

curl http://localhost:11434/api/version

如果返回的是版本號,則說明 Ollama 執行正常,我們可以繼續安裝 Open WebUI。

系統要求

在安裝 Open WebUI 和 Ollama 之前,請確保您的系統滿足這些最低要求:

硬體要求

硬體 要求
CPU 多核現代處理器(建議 4 核以上)
記憶體 至少 8GB,建議使用 16GB 或更大容量
硬碟空間 基本安裝至少需要 10GB 可用硬碟空間,另外還要為模型提供額外空間:

  • llama3.2: ~4GB
  • llama3.2-vision: ~8GB
  • 其他型號: 根據型號大小,每個型號 4-15GB
GPU 可選,但建議使用以獲得更好的效能:

  • 支援 CUDA 的英偉達™(NVIDIA®)圖形處理器(建議使用 8GB+ VRAM)
  • 或支援 ROCm 的 AMD GPU

軟體要求

元件 要求
作業系統
  • Linux(建議使用 Ubuntu 20.04 或更新版本)
  • macOS 12 或更新版本(包括 M1/M2 支援)
  • 帶 WSL2 的 Windows 10/11
Docker 最新穩定版本
瀏覽器 現代網路瀏覽器(Chrome、Firefox、Safari 或 Edge)

注:這些要求僅適用於執行基本模型。要求更高的模型或併發使用可能需要更強大的硬體。

安裝過程

要安裝並執行 Open WebUI,可以執行以下命令:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

如果這是第一次執行,該命令將下載 open-webui Docker 映象。這可能需要一些時間,但後續執行會更快。下載映像後,它將啟動容器,你可以在瀏覽器中訪問位於 localhost:3000 的 Open WebUI。

注意,如果在瀏覽器中載入時出現錯誤,請稍等片刻。它可能仍在後臺初始化和下載一些資源以完成設定。

當你看到下面的螢幕時,說明你已經成功安裝了 Open WebUI,可以開始使用了

Open WebUI

建立賬戶

首次訪問 Open WebUI 時,系統會提示您建立一個管理員賬戶。您需要輸入您的姓名、電子郵件和密碼。

建立Open WebUI管理員

建立賬戶後,您將立即登入並看到以下介面。

Open WebUI聊天介面

選擇模型

此時,我們仍無法與聊天助手互動,因為我們還沒有選擇模型。

要下載模型,可以點選頂部的“Select a model”選項。輸入模型名稱,例如 llama3.2,然後選擇“Pull ‘llama3.2’ from Ollama.com”,如下圖所示。

選擇模型

另外,由於模型是從 Ollama 庫中下載的,我們也可以使用 Ollama CLI 直接下載。在我們的例子中,要下載“llama3.2”模型,我們可以執行

ollama pull llama3.2

同樣,下載模型也需要一些時間。下載完成後,您可以從“Select a model”選項中選擇模型。

從“Select a model”選項中選擇模型

模型比較指南

Open WebUI 通過 Ollama 支援多種型號。以下是常用模型的比較,可幫助您根據需要選擇合適的模型:

模型 大小 關鍵特徵 最適合於 限制
llama3.2 ~4GB
  • 一般文字生成
  • 程式碼補全
  • 分析任務
  • 一般聊天
  • 寫作幫助
  • 程式碼幫助
  • 無影象處理
  • 知識庫截止 2023 年
llama3.2-vision ~8GB
  • 影象理解
  • 視覺分析
  • 多模態任務
  • 影象分析
  • 視覺質量保證
  • 基於影象的任務
  • 所需資源較多
  • 響應時間較慢

選擇模型時,應考慮以下因素:

  • 硬體能力:確保您的系統能滿足模型的要求
  • 使用案例:將模型的功能與您的特定需求相匹配
  • 響應時間:較大的模型通常響應時間較慢
  • 儲存空間:考慮用於儲存模型的可用磁碟空間

與聊天助手互動

選定模型後,您就可以開始與聊天助手互動了。您可以在聊天框中輸入問題或提示,聊天助手會做出相應回覆。

如果您提出的問題或提示與您選擇的模型相關,回覆效果會更好。例如,如果您選擇的是“llama3.2”模型,您可以問與常識、瑣事或該模型訓練過的任何其他主題相關的問題。

例如,您可以問以下問題

  • 印度尼西亞的首都是哪裡?
  • 魔戒一書的作者是誰?
  • 水的沸點是多少?

與聊天助手互動

但請注意,“llama3.2”可能無法準確回答實時事件,因為該模型僅使用 2023 年之前的資料進行訓練。

故障排除指南

使用 Open WebUI 時,您可能會遇到一些常見問題。下面介紹如何解決這些問題:

Docker容器無法啟動

  • 症狀:Docker 容器無法啟動或立即崩潰
  • 檢查埠 3000 是否已在使用中:
    lsof -i :3000

    如果正在使用,要麼停止衝突的服務,要麼在 docker 執行命令中更改埠

  • 驗證 Docker 守護程序正在執行:
    systemctl status docker
  • 檢視 Docker 日誌:
    docker logs open-webui

連線Ollama失敗

  • 症狀:“Cannot connect to Ollama”錯誤資訊
  • 驗證 Ollama 正在執行:
    curl http://localhost:11434/api/version
  • 檢查 Docker 是否可以訪問 Ollama:
    docker exec open-webui curl http://host.docker.internal:11434/api/version
  • 重新啟動這兩項服務:
    systemctl restart ollama
    docker restart open-webui

模型下載問題

  • 症狀:模型下載失敗或超時
  • 檢查可用磁碟空間:
    df -h
  • 嘗試通過 Ollama CLI 下載:
    ollama pull modelname
  • 清除 Ollama 快取並重試
    rm -rf ~/.ollama/models/*

高階功能

使用RAG(檢索增強生成)

RAG 允許您使用自己的知識庫來增強模型的響應。以下是設定方法:

1. 準備檔案:您的知識庫可以包括 PDF、TXT、DOCX 和 MD 檔案。只需將這些檔案放到指定的知識庫目錄中,確保它們格式正確、可讀即可。

2. 配置 RAG 設定

{
"rag_enabled": true,
"chunk_size": 500,
"chunk_overlap": 50,
"document_lang": "en"
}

使用SearXNG設定網路搜尋

將網路搜尋功能整合到聊天助手中:

docker run -d \
--name searxng \
-p 8080:8080 \
-v searxng-data:/etc/searxng \
searxng/searxng

然後配置 Open WebUI 以使用 SearXNG:

  1. 轉到 Settings > Advanced
  2. 啟用網路搜尋
  3. 輸入 SearXNG URL:http://localhost:8080
  4. 配置搜尋引數(可選)

基於角色的訪問控制

配置不同的使用者角色和許可權:

角色 許可權 使用者用例
Admin 完整的系統訪問許可權 系統管理
Power User 模型管理、RAG 配置 高階使用者
Basic User 僅聊天互動 普通使用者

利用多模態功能

開放式 WebUI 還支援多模態功能,這意味著您可以在生成文字的同時生成影象,或將影象作為提示輸入的一部分。

不過,要做到這一點,您需要一個具有多模態功能的模型。在本例中,我們可以使用“llama3.2-vision”。您可以像以前一樣從 Open WebUI 介面下載模型,或者使用 Ollama CLI 直接下載:

ollama pull llama3.2-vision

下載完成後,選擇模型並上傳圖片到聊天助手。您可以單擊 + 按鈕並將其與提示一起提交。

在這個例子中,我會使用一張圖片,即 Openverse 的《紅色自行車》,並詢問這張圖片的主要焦點是什麼?

事實上,它能夠回答這個問題,甚至還知道自行車的顏色,如下圖所示。

多模態功能

小結

Open WebUI 是一款功能強大的工具,可讓您在本地機器或伺服器上託管和使用人工智慧聊天助手。它提供了與各種大型語言模型(LLM)互動的使用者友好介面。

對於那些擔心隱私、資料安全和依賴外部伺服器的人來說,這是一款完美的工具。有了 Open WebUI,您可以完全控制資料和隱私,還能根據自己的需要定製模型。

對於想嘗試使用人工智慧聊天助手並建立自己的自定義模型的開發人員來說,這也是一個很好的工具。使用 Open WebUI,您可以輕鬆託管和執行您的模型,並使用簡單直觀的介面與它們進行互動。

評論留言