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


![new-api.png](https://img.lixueduan.com/ai/cover/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](https://img.lixueduan.com/ai/new-api/technical-architecture.svg)

<!--more-->

## New API vs LiteLLM

上一篇文章 [LiteLLM：打造统一 AI 网关](https://www.lixueduan.com/posts/ai/17-litellm-ai-gateway/) 介绍了 LiteLLM——一个轻量的多模型聚合网关，可以通过统一的 API 接口调用 OpenAI、Claude、Gemini 等各种模型，还提供了 SDK，非常适合在 Python 项目中直接集成使用。

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

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

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

## 1. 部署

### 1.1 使用 Docker Compose（推荐）

```bash
# 克隆项目
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（默认）：**

```bash
docker run --name new-api -d --restart always \
  -p 3000:3000 \
  -e TZ=Asia/Shanghai \
  -v ./data:/data \
  calciumion/new-api:latest
```

**使用 MySQL：**

```bash
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_STRING` | Redis 连接字符串 | - |
| `STREAMING_TIMEOUT` | 流式超时时间（秒） | 300 |

## 2. 初始化配置

### 2.1 初始化管理员账号

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

![init.png](https://img.lixueduan.com/ai/new-api/init.png)

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

### 2.2 渠道管理

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

![channel.png](https://img.lixueduan.com/ai/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`

**模型映射：**

可以为模型设置别名，方便统一管理：

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

### 2.3 模型管理与价格设置

![model.png](https://img.lixueduan.com/ai/new-api/model.png)

**模型配置：**

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

- 模型名称
- 计费方式（按 Token 计费）
- 输入价格（每 1M Token）
- 输出价格（每 1M Token）

**价格设置示例：**

![price.png](https://img.lixueduan.com/ai/new-api/price.png)

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

### 2.4 令牌管理

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

![token.png](https://img.lixueduan.com/ai/new-api/token.png)

**创建令牌：**

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

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

创建后会生成一个 API Key，格式如：`sk-xxxxxxxxxxxx`

**令牌权限控制：**

可以为令牌设置：
- 额度限制
- 模型白名单
- 有效期
- 分组归属

## 3. 使用 API

![usage.png](https://img.lixueduan.com/ai/new-api/usage.png)

### 3.1 获取接入信息

在首页可以看到：
- API 地址：`http://your-domain:3000`
- 令牌：之前创建的 API Key
- 可用模型列表

### 3.2 调用示例

```bash
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 示例

```python
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 项目内集成多模型 | **LiteLLM** | Python SDK，代码级调用 |
| 个人开发测试 | **LiteLLM** | 轻量、配置简单 |

**相关文章：**
- [LiteLLM：打造统一 AI 网关](https://www.lixueduan.com/posts/ai/17-litellm-ai-gateway/) - 开发者向的多模型聚合工具
- [vLLM 部署 GLM-5 实践指南](https://www.lixueduan.com/posts/ai/15-deploy-gm5-by-vllm/)
- [vLLM 部署 Qwen3.5 实践指南](https://www.lixueduan.com/posts/ai/16-deploy-qwen35-by-vllm/)


---

> 作者: [意琦行](https://github.com/lixd)  
> URL: https://www.lixueduan.com/posts/ai/18-new-api/  

