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)。详见 Wiki 中的详细步骤和 Docker-Compose 示例。
  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
  • 项目
  • 项目