一个计算机技术爱好者与学习者

0%

LLM 接口管理和分发系统 New API

1. New API简介

New API是一个LLM代理系统,支持LLM接口管理和消息分发。使得用户可以通过标准的 OpenAI API 格式访问所有的大模型,开箱即用。

New API是在One API基础上二次开发的项目,因为 One API 已经不再维护,所以更推荐使用 New API。

相关文档:

2. New API核心功能

One API具备的功能,New API都有,并且比One API支持更多大模型、界面更友好。

New API核心功能如下:

  • 支持多种大模型:OpenAI、Claude、Gemini、Mistral、豆包、文心一言、通义千问、腾讯混元、SiliconCloud等等等等。
  • 支持 stream 模式,可以通过流式传输实现打字机效果
  • 支持绘图接口
  • 支持失败自动重试
  • 支持多机部署,提高并发
  • 支持渠道管理,批量创建渠道,支持渠道设置模型列表,支持通过负载均衡访问多个渠道
  • 支持多用户管理,支持用户额度配置,支持充值,支持用户分组以及渠道分组,支持为不同分组设置不同的倍率
  • 支持令牌管理,设置令牌的过期时间、额度、允许的 IP 范围以及允许的模型访问

3. 安装配置 New API

3.1. 安装配置 New API 概述

New API 提供了多种安装部署方式,推荐Docker部署或者Docker Compose部署。
本文中选择使用Docker部署,数据库选择MySQL,不使用Redis。

3.2. 安装MySQL(可选)

1、安装MySQL8,参考文档好好学MySQL:使用Docker安装配置MySQL

2、创建一个数据库,名称为 newapi

3.3. 安装 New API

1、下载 new-api 镜像

1
docker pull calciumion/new-api:v0.9.0-alpha.16

2、运行 new-api 容器
使用SQLite数据库:

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

使用MySQL数据库:

1
2
3
4
5
6
7
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 /opt/data/new-api:/data \
calciumion/calciumion/new-api:v0.9.0-alpha.16

其中,SQL_DSN的值要改成自己的MySQL配置。

3、查看容器状态

1
2
docker ps | grep new-api
docker logs new-api

3.4. 配置Nginx

参考配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
server{
server_name newapi.voidking.com; # 请根据实际情况修改你的域名

location / {
client_max_body_size 64m;
proxy_http_version 1.1;
proxy_pass http://localhost:3000; # 请根据实际情况修改你的端口
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_bypass $http_upgrade;
proxy_set_header Accept-Encoding gzip;
proxy_read_timeout 300s; # GPT-4 需要较长的超时时间,请自行调整
}
}

4. 使用 New API

4.1. 登录 New API

使用 IP+端口 或者 域名 访问 New API 首页

首次访问时,会自动引导到初始化页面。按照页面指引手动设置管理员账号和密码(仅首次安装需要),完成后即可使用新设置的管理员账号登录系统。

4.2. 配置与使用

因为New API基于One API二次开发,核心功能基本相同,所以配置和使用方法可以参考《LLM 接口管理和分发系统 One API》