使用 Docker 在本地執行 GPT-OSS 模型!

社群文章 釋出於 2025 年 8 月 6 日

image/png

使用的技術棧

  • Python
  • FastAPI
  • Docker
  • HTML5
  • CSS3
  • JavaScript
  • Nginx
  • Ollama
  • GPT-3

基於 Docker 的 GPT-OSS 聊天機器人

使用 Docker 在您自己的程式碼庫中本地執行 OpenAI 的開源 GPT-OSS 模型(117B / 21B)。此專案避免使用 Open WebUI 或 LM Studio 等第三方 GUI,以幫助您學習如何在應用程式中直接使用基於 GPT 的模型。

所有內容都透過 Docker 容器化,以實現乾淨、可重現的設定。這是一個有趣的輔助專案,旨在幫助其他人探索本地執行強大的語言模型

歡迎貢獻!
如果您想協作或進一步增強專案,請隨時fork 該儲存庫並提交拉取請求

專案倉庫GitHub Repo

功能

  • 簡單聊天介面:乾淨的前端,用於與聊天機器人互動。
  • 由 GPT-OSS 提供支援:使用 OpenAI 的開源 GPT 模型(117B 或 21B)。
  • Docker 化:使用 Docker Compose 完全容器化。
  • FastAPI 後端:處理 API 和邏輯。
  • Ollama 整合:使用 Ollama 在本地提供 GPT-OSS 模型。

🔗 GPT-OSS 資源

OpenAI 根據 Apache 2.0 釋出了 GPT-OSS 模型。以下是學習路徑:

  1. GPT-OSS 簡介:https://openai.com/index/introducing-gpt-oss
  2. 模型卡片和規格:https://openai.com/index/gpt-oss-model-card/
  3. 開發概述:https://cookbook.openai.com/topic/gpt-oss
  4. vLLM 設定指南:https://cookbook.openai.com/articles/gpt-oss/run-vllm
  5. Harmony 格式(I/O 模式):https://github.com/openai/harmony
  6. PyTorch 參考程式碼:https://github.com/openai/gpt-oss?tab=readme-ov-file#reference-pytorch-implementation
  7. 社群網站:https://gpt-oss.com/
  8. Ollama:https://ollama.com/library/gpt-oss
  9. HuggingFace:https://huggingface.co/openai/gpt-oss-20b

技術細節和版本

  • 語言模型:GPT-OSS(117B 或 21B)
  • Python:3.11-slim
  • 後端:FastAPI + Uvicorn
  • 前端 Web 伺服器:nginx:alpine
  • 服務:ollama/ollama 映象
  • HTTP 客戶端:HTTPX
  • 容器化:Docker 和 Docker Compose

目錄結構

gpt-oss-chatbot-dockerized/

├── backend/
│ ├── main.py
│ └── requirements.txt
├── frontend/
│ └── index.html
├── docker-compose.yml
└── Dockerfile


前提條件

  • Docker
  • Docker Compose(通常包含在 Docker Desktop 中)

如何使用 Docker 執行

  1. 克隆倉庫

    git clone https://github.com/Imran-ml/gpt-oss-app-open-source
    cd gpt-oss-app-open-source
    
  2. 導航到專案目錄:確保您位於 gpt-oss-app-open-source 目錄中。

  3. 使用 Docker Compose 構建並執行應用程式

    • 根據 Dockerfile 構建後端 Docker 映象。
    • 拉取 ollama/ollama 映象和 nginx:alpine 映象。
    • 啟動所有已定義的服務(Ollama、後端、前端)。
    • ollama 服務配置為在啟動時自動拉取 gpt-oss 模型。首次執行時可能需要一些時間,因為需要下載模型。在 docker-compose 中,在這一行 "sh -c "ollama serve & sleep 5 && ollama pull gpt-oss && tail -f /dev/null"",您可以將 gpt-oss 替換為 gpt-oss:120b,如果您想要 120B 模型的話!
    docker-compose up --build
    

    您將在終端中看到所有容器的日誌。

  4. 訪問聊天機器人:服務啟動並執行後

    • 開啟您的 Web 瀏覽器,訪問:https://:8080 與聊天機器人互動。
    • 後端 API 可在 https://:8000 訪問。
    • Ollama API 位於 https://:11434

使用

  1. 在瀏覽器中開啟 https://:8080
  2. 聊天介面應該會載入。
  3. 在輸入欄位中輸入您的訊息,然後按 Enter 鍵或單擊發送按鈕,與 gpt-oss 模型聊天。

關於作者

姓名: 穆罕默德·伊姆蘭·扎曼

公司: DOCUFY GmbH

職位: 首席機器學習工程師

專業連結: - HuggingFace: 個人資料 - Kaggle: 個人資料 - LinkedIn: 個人資料 - Google Scholar: 個人資料 - Medium: 個人資料

社群

這很好,但需要新增一些關於需要在 compose 檔案中新增 GPU 的評論

runtime: nvidia
environment:
  - NVIDIA_VISIBLE_DEVICES=all
  - OLLAMA_NUM_GPU=1

註冊登入 發表評論

© . This site is unofficial and not affiliated with Hugging Face, Inc.