搭建你的 AI 模型服务平台:这个开源项目帮你搞定聚合、计费、运营

new-api.png

你是否遇到过这样的困扰:手头有 OpenAI、Claude、本地部署的多个 AI 模型:

  • 每个都要单独管理 API Key;
  • 团队成员都在用,却无法追踪谁用了多少、花了多少钱;
  • 想把这些能力开放给外部用户并收费,却苦于没有现成的计费系统?

New API 就是来解决这些问题的。

New API 是什么?

Next-Generation LLM Gateway and AI Asset Management System

New API 是新一代 AI 基座平台,为您的 AI 应用提供统一的基础设施。承载所有 AI 应用,管理您的数字资产,连接未来的统一接口平台。

核心特性:

  • 统一接口:一个 API 端点接入所有 AI 服务,兼容 OpenAI 标准格式
  • 智能路由:多渠道负载均衡、故障自动切换、加权随机分发
  • 精细计费:支持按次数/按量计费、预付费充值、多倍率配置
  • 安全管控:令牌权限管理、模型访问控制、API 调用审计
  • 数据洞察:实时数据看板、用量统计、成本分析
  • 多租户架构:完美适配个人开发者、团队协作与企业级部署

技术架构:

technical-architecture.svg

New API vs LiteLLM

上一篇文章 LiteLLM:打造统一 AI 网关 介绍了 LiteLLM——一个轻量的多模型聚合网关,可以通过统一的 API 接口调用 OpenAI、Claude、Gemini 等各种模型,还提供了 SDK,非常适合在 Python 项目中直接集成使用。

两者都是优秀的多模型聚合网关,但定位不同:

特性New APILiteLLM
定位企业级 AI 平台开发者工具
用户管理✅ 完整的用户体系❌ 无
计费系统✅ 内置支付和计费⚠️ 仅成本追踪
权限控制✅ 令牌分组、模型限制⚠️ 基础权限
可视化界面✅ 完整管理后台✅ 使用监控
SDK 集成❌ 无✅ Python SDK
适用场景对外提供 AI 服务代码内集成调用

选择建议:

  • 需要搭建企业级 AI 平台、对外提供服务 → New API
  • Python 项目内集成多模型调用 → LiteLLM

1. 部署

1.1 使用 Docker Compose(推荐)

1
2
3
4
5
6
7
8
9
# 克隆项目
git clone https://github.com/QuantumNous/new-api.git
cd new-api

# 编辑 docker-compose.yml 配置
nano docker-compose.yml

# 启动服务
docker-compose up -d

1.2 使用 Docker 命令

使用 SQLite(默认):

1
2
3
4
5
docker run --name new-api -d --restart always \
  -p 3000:3000 \
  -e TZ=Asia/Shanghai \
  -v ./data:/data \
  calciumion/new-api:latest

使用 MySQL:

1
2
3
4
5
6
docker run --name new-api -d --restart always \
  -p 3000:3000 \
  -e SQL_DSN="root:123456@tcp(localhost:3306)/newapi" \
  -e TZ=Asia/Shanghai \
  -v ./data:/data \
  calciumion/new-api:latest

1.3 常用环境变量

变量名说明默认值
SESSION_SECRET会话密钥(多机部署必填)-
SQL_DSN数据库连接字符串SQLite
REDIS_CONN_STRINGRedis 连接字符串-
STREAMING_TIMEOUT流式超时时间(秒)300

2. 初始化配置

2.1 初始化管理员账号

浏览器访问 http://ip:3000/ 进入界面,首次访问需要初始化管理员账号。

init.png

设置完成后使用管理员账号登录。

2.2 渠道管理

渠道是 New API 与上游模型服务的连接配置。

channel.png

添加渠道:

在「渠道管理」页面添加新的渠道:

  • 类型:选择模型提供商(如 OpenAI、Azure、自定义等)
  • 名称:渠道标识
  • Base URL:API 地址(如 vLLM 的地址)
  • 密钥:API Key
  • 模型:支持的模型列表

例如添加本地 vLLM 部署的 GLM-5:

  • 类型:自定义
  • Base URL:http://vllm-server:8000/v1
  • 密钥:your-api-key
  • 模型:glm-5

模型映射:

可以为模型设置别名,方便统一管理:

1
2
3
实际模型名 -> 显示名称
glm-5 -> GLM-5.1
qwen2.5 -> Qwen3.5

2.3 模型管理与价格设置

model.png

模型配置:

如果使用自定义模型,需要在「模型管理」中配置:

  • 模型名称
  • 计费方式(按 Token 计费)
  • 输入价格(每 1M Token)
  • 输出价格(每 1M Token)

价格设置示例:

price.png

模型输入价格输出价格
GLM-5.1$1.00/1M$4.00/1M
Qwen3.5$0.50/1M$2.00/1M

2.4 令牌管理

令牌是用户调用 API 的凭证。

token.png

创建令牌:

在「令牌管理」页面创建令牌:

  • 名称:令牌标识
  • 额度:设置使用额度
  • 过期时间:可选
  • 模型权限:限制可访问的模型

创建后会生成一个 API Key,格式如:sk-xxxxxxxxxxxx

令牌权限控制:

可以为令牌设置:

  • 额度限制
  • 模型白名单
  • 有效期
  • 分组归属

3. 使用 API

usage.png

3.1 获取接入信息

在首页可以看到:

  • API 地址:http://your-domain:3000
  • 令牌:之前创建的 API Key
  • 可用模型列表

3.2 调用示例

1
2
3
4
5
6
7
8
curl -X POST http://your-domain:3000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxxxx" \
  -d '{
    "model": "glm-5",
    "messages": [{"role": "user", "content": "你好"}],
    "temperature": 0.7
  }'

3.3 Python 示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from openai import OpenAI

client = OpenAI(
    api_key="sk-xxxxxxxxxxxx",
    base_url="http://your-domain:3000/v1"
)

response = client.chat.completions.create(
    model="glm-5",
    messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)

4. 小结

本文介绍了 New API 的部署和基本使用:

功能说明
一键部署Docker/Docker Compose 快速启动
多模型聚合支持 OpenAI、Claude、Gemini 等格式
用户管理多用户、令牌分组、权限控制
计费系统在线充值、按量计费、价格策略
可视化管理完整的 Web 管理后台

New API 适合场景:

  • 企业内部 AI 平台
  • 对外提供 AI 服务
  • 需要多用户管理和计费

New API vs LiteLLM 选型指南:

场景推荐原因
对外提供 AI 服务、需要收费New API内置用户管理、计费系统
企业内部多用户使用New API权限控制、用量统计完善
Python 项目内集成多模型LiteLLMPython SDK,代码级调用
个人开发测试LiteLLM轻量、配置简单

相关文章:

0%