theroyallab/tabbyAPI

The official API server for Exllama. OAI compatible, lightweight, and fast.

TabbyAPI – 兼容 OpenAI 的高速開源 LLM 服務,提供 REST API

是什麼

  • 一個基於 Python 3.10–3.14 的 FastAPI 應用,封裝了 ExllamaV3 推理引擎。它將本地儲存的 LLM 檢查點轉換為一個 Web 服務,其 JSON 模式與 OpenAI 的 v1/completionsv1/chat/completions 端點完全一致。

為何重要

  • ExllamaV3 以 分頁注意力、連續批次處理Nvidia Ampere+ 顯卡上的 GPU 加速推理 著稱。TabbyAPI 將這些性能優勢透過熟悉的 HTTP API 暴露出來,使你無需撰寫 CUDA 程式碼即可輕鬆整合至現有工具(如 LangChain、AI-Horde、自訂前端)中。

主要功能(README 中列出)

  • OpenAI 兼容 API – 可直接取代 chat/completionscompletions 端點。
  • 模型生命週期管理 – 運行時可載入、卸載和切換模型。
  • HuggingFace 下載器 – 可直接從 Hub 下載模型。
  • 嵌入模型支援 – 可同時提供向量嵌入與文字生成。
  • 模式感知提示 – 支援 JSON 模式、正規表示式和 EBNF 驗證,用於結構化輸出。
  • AI-Horde 集成 – 可選擇性地參與分散式推理網路。
  • 推測性解碼 – 使用快速的「草稿」模型加速生成。
  • 代理層 – 可即時覆蓋客戶端參數或取樣器。
  • Jinja2 模板 – 支援靈活的提示建構,與 HuggingFace 聊天格式一致。
  • 異步併發 – 透過 asyncio 同時處理多個請求。
  • 工具/函數呼叫 – 支援 OAI 風格的函數呼叫。
  • 嵌入棧(可選) – 頂端 Docker 標籤包含 infinity-emb 棧,用於高吞吐量向量化。

支援的模型類型

  • Exl3(ExllamaV3 格式)– 推薦用於最佳效能。
  • FP16 / BF16 檢查點。
  • 支援 Nvidia Ampere 或更新 GPU 上的分頁注意力批次處理。

如何開始

  1. Docker(推薦) – 拉取預建鏡像:
    docker pull ghcr.io/theroyallab/tabbyapi:latest   # CUDA 12.8
    docker run --gpus all -p 5000:5000 \
        -v /path/to/models:/app/models \
        ghcr.io/theroyallab/tabbyapi:latest
    
    API 可透過 http://localhost:5000 存取。
  2. 其他標籤cu13 用於 CUDA 13,latest-extras 包含嵌入棧。
  3. 從原始碼建置 – 克隆倉儲,安裝 Python 依賴,執行 FastAPI 應用(uvicorn tabbyapi.main:app)。詳情步驟與 Docker-Compose 範例請見 Wiki。
  4. 設定 – 模型目錄、埠與可選設定可透過環境變數或 config.yaml 檔案控制(Wiki 中有文件)。

典型使用情境

  • 在桌面工作站上進行個人或愛好用途的 LLM 服務。
  • 無需支付雲端 API 費用,快速原型開發 ChatGPT 風格應用。
  • 與自托管 UI 專案(如 SillyTavernText Generation WebUI)整合。
  • 實驗推測性解碼、函數呼叫或自訂提示模板。

限制

  • 定位為 愛好專案,不適用於生產級擴展或高可用部署。
  • 滾動發布狀態意味著可能存在破壞性變更;更新後可能需要重新安裝依賴。

授權

  • AGPL-v3 – 以服務形式部署的任何修改都必須以相同授權公開。

社群與支援

  • 官方 Discord 伺服器(README 中連結)用於故障排除與功能請求。
  • 歡迎透過拉取請求貢獻程式碼;倉儲提供問題/拉取請求模板。

致謝上游專案

  • ExllamaV2/V3、Aphrodite Engine、infinity-emb、FastAPI、Text Generation WebUI、SillyTavern 等。

總結:TabbyAPI 是一個輕量級、開源的閘道器,讓你能夠以 OpenAI 風格的 HTTP API 在本地執行現代 LLM,利用快速的 ExllamaV3 後端。它最適合希望獲得商業 LLM API 自托管替代方案的開發者與愛好者。

相關

  • 專案
  • 專案
  • Dispatch
  • 專案
  • 專案