>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Go

如何用 TokenHub 驯服神经网络动物园

TokenHub

当团队开始将神经网络集成到服务中时,密钥管理几乎总会陷入混乱。开发者使用 OpenAI,分析师尝试 DeepSeek 和 Qwen,有人通过 Ollama 启动本地 Llama,设计师则需要图像生成功能。月底时,财务部门看到账单总额,试图弄清楚哪个部门超支了。

听起来很熟悉?如果你曾尝试集中管理数十个不同 LLM 的访问,就会知道这需要多少临时方案:代理、自制路由器、日志聚合器。Beego Go 框架的作者(astaxie)发布了一个名为 TokenHub 的项目,专门解决这个难题。

TokenHub supported providers

底层架构与核心价值

TokenHub 是一个用 Go 编写的私有 AI 网关。将其部署在基础设施内,添加外部提供商的 API 密钥或本地模型的地址,然后向外暴露单一的统一接口。

核心思想是应用开发者不应该需要为每个新 API 重写代码。TokenHub 支持标准 OpenAI 端点(/v1/chat/completions/v1/embeddings/v1/responses)和 Anthropic Messages 规范(/v1/messages)。如果你的服务需要从 GPT-4o 切换到 Claude 3.5 Sonnet 或本地 vLLM,客户端代码无需修改——只需更新模型名称或在网关上配置路由规则。

TokenHub interface

核心网关功能

该仓库专注于成本控制和职责分离至关重要的企业场景。

清晰的角色划分

TokenHub 的界面和访问权限分为三个级别:

  • 普通用户。可查看可用模型目录、创建自己的项目 API 密钥、查看个人统计和文档。
  • 团队负责人。管理项目工作区、团队成员、共享配额,并查看特定项目的详细成本报告。
  • 管理员。配置外部提供商、通过 OAuth/OIDC 连接企业 SSO,并配置故障转移和审计规则。

这种设置非常方便:团队负责人无需每次有新实习生需要测试密钥时都麻烦 DevOps。

智能路由与故障转移

如果外部提供商返回 500 错误或达到速率限制,TokenHub 可以自动将请求切换到备用渠道(故障转移)。可以设置优先级、跨多个账户分配负载的权重,并通过内置诊断检查路由健康状况。

支持 150+ 提供商模板

开箱即用,网关支持 Azure OpenAI、Anthropic、Google Gemini、DeepSeek、Qwen 以及本地推理服务器(如 vLLM 和 Ollama)的原生适配器。任何具有 OpenAI 兼容 API 的第三方服务都可以通过几秒钟内完成的预制模板连接。

值得强调的是 Codex 订阅集成:TokenHub 可以通过隔离的配置文件代理来自本地 CLI 工具(如 Gemini CLI)的调用。

图像生成与编辑

除了文本和嵌入,系统还通过端点 /v1/images/generations/v1/images/edits 处理图像生成请求。网关支持异步任务和生成图像的服务器端存储,无需客户端应用程序立即下载文件到自己的 S3。

部署与架构

项目使用 Go 编写,资源消耗极低。默认使用 SQLite 作为数据存储,可以在几分钟内启动服务供小团队使用,无需启动重型数据库。

在 Linux 上通过 systemd 进行测试:

curl -fsSL https://raw.githubusercontent.com/astaxie/TokenHub/main/deploy/native/install.sh \
  -o /tmp/tokenhub-install.sh
sudo bash /tmp/tokenhub-install.sh install

或经典的 Docker Compose 启动方式:

cp deploy/.env.example deploy/.env
# Задайте надежные пароли в deploy/.env
./deploy/install.sh

启动后,Web 管理控制台可在端口 3000 访问,API 本身在端口 8080 接受请求。

如果计划高负载运行多个后端副本,SQLite 可以轻松替换为外部 PostgreSQL。在这种情况下,状态分布在各个实例中,版本更新可以集中部署。

适用场景

如果你有以下需求,TokenHub 是很好的选择:

  1. 正在公司开发内部 AI 工具,希望按项目和部门集中跟踪支出。
  2. 正在构建具有多个 LLM 提供商的弹性设置,其中一个 API 故障不应导致客户端服务中断。
  3. 希望安全地向整个团队开放对本地部署模型(Ollama / vLLM)的访问,而无需授予对推理服务器的直接访问权限。
  4. 厌倦了在多个仪表板上手动管理数十个 API 密钥。

项目还很新,但背后有经验丰富的维护者,Go 代码库看起来干净且易于理解。如果你在重量级商业解决方案和自制代理之间犹豫,在测试环境中启动 TokenHub 绝对值得一试。

相关项目