目录
[一、one-api 介绍](#一、one-api 介绍)
[二、部署 one-api](#二、部署 one-api)
[2.1 拉取镜像](#2.1 拉取镜像)
[2.2 部署 one-api](#2.2 部署 one-api)
[三、运行 one-api](#三、运行 one-api)
[3.1 添加规则](#3.1 添加规则)
[3.2 运行 one-api](#3.2 运行 one-api)
[四、添加大模型 API](#四、添加大模型 API)
[4.1 添加大模型 API](#4.1 添加大模型 API)
本文通过 Flexus云服务器X实例 部署 one-api。Flexus云服务器X实例是新一代面向中小企业和开发者打造的柔性算力云服务器,可智能感知业务负载,适用于电商直播、企业建站、开发测试环境、游戏服务器、音视频服务等中低负载场景。相较于Flexus应用服务器L实例,Flexus云服务器X实例的优势包含:提供丰富的公共镜像、可灵活自定义vCPU内存配比、智能感知业务动态升降配,负载范围更高等。
Flexus云服务器X实例 能够支持电商直播、企业建站、个人开发测试、游戏服务器等。
一、one-api 介绍
one-api 是一个 OpenAI 接口管理 & 分发系统,目前支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用。
one-api 特性:
(1)支持多种大模型;
(2)支持配置镜像以及众多第三方代理服务;
(3)支持通过负载均衡的方式访问多个渠道;
(4)支持 stream 模式,可以通过流式传输实现打字机效果;
(5)支持多机部署,支持令牌管理,设置令牌的过期时间、额度、允许的 IP 范围以及允许的模型访问;
(6) 支持兑换码管理,支持批量生成和导出兑换码,可使用兑换码为账户进行充值;
(7)支持渠道管理,批量创建渠道。 支持用户分组以及渠道分组,支持为不同分组设置不同的倍率;
(8) 支持渠道设置模型列表,支持查看额度明细。 支持用户邀请奖励。 支持以美元为单位显示额度等。
二、部署 one-api
2.1 拉取镜像
首先,先从远程镜像仓库中拉取 one-api 镜像,执行如下命令拉取。
bash
root@flexusx-7305:~# docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/justsong/one-api:v0.6.0
v0.6.0: Pulling from ddn-k8s/docker.io/justsong/one-api
4abcf2066143: Pull complete
c2f30ece0032: Pull complete
213fae9f6ab5: Pull complete
f2605c032589: Pull complete
Digest: sha256:416dc625c8c5a905e70db79b40bed5325fa0bc26aecf9cf9181e89b653595e14
Status: Downloaded newer image for swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/justsong/one-api:v0.6.0
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/justsong/one-api:v0.6.0
one-api 镜像拉取成功。
2.2 部署 one-api
拉取完 one-api 镜像后,one-api 镜像会存储到本地,如下所示。
bash
root@flexusx-7305:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitea/gitea 1.22.1 b3de72970178 2 months ago 167MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/justsong/one-api v0.6.0 36bd98ce5a7c 6 months ago 48.4MB
daocloud.io/library/mysql 8 26d0ac143221 3 years ago 546MB
daocloud.io/library/mysql latest 8457e9155715 3 years ago 546MB
root@flexusx-7305:~#
复制镜像名称,通过 docker 部署 one-api,执行如下命令。
bash
root@flexusx-7305:~# docker run --name one-api -d --restart always -p 3002:3000 -e TZ=Asia/Shanghai -v /root/data/one-api:/data swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/justsong/one-api:v0.6.0
89bb9f7a3dd119008c678243464bdf10df377dc4d482b123be3c077d7a675ac8
root@flexusx-7305:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
89bb9f7a3dd1 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/justsong/one-api:v0.6.0 "/one-api" 2 seconds ago Up 2 seconds 0.0.0.0:3002->3000/tcp, [::]:3002->3000/tcp one-api
ef512af0c1c5 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitea/gitea:1.22.1 "/usr/bin/entrypoint..." 2 days ago Up 2 days 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp, 0.0.0.0:222->22/tcp, [::]:222->22/tcp gitea
65fe1c102df6 daocloud.io/library/mysql:8 "docker-entrypoint.s..." 2 days ago Up 2 days 3306/tcp, 33060/tcp root_db_1
root@flexusx-7305:~#
通过 docker ps 可以查看正在运行的容器,可以看到 one-api 已运行,端口是 3002,对应容器内部端口 3000。
三、运行 one-api
通过上面的步骤,one-api 已经部署成功,下面就来详细看下 one-api 的功能。
3.1 添加规则
one-api 对应的端口是 3002,需要将 3002 端口加入到准入规则中。
首先,在基本信息中,找到安全组,点击进入安全组,如下所示。
然后,点击 配置规则 配置 3002 端口,如下所示。
设置优先级,然后在协议端口中添加端口,点击确定,如下所示。
可以看到 3002 端口已经被加入到安全规则中,如下所示。
3.2 运行 one-api
在浏览器中,访问 http://服务器IP地址:3002,one-api 界面如下所示。
然后,点击右上角登录按钮,默认用户名为 root,默认密码为 123456,登录后可以修改密码,如下所示。
四、添加大模型 API
4.1 添加大模型 API
添加大模型 API 是在渠道里面,如下所示。
点击添加新渠道,如下所示。
添加完成后可以点击测试按钮测试添加是否成功。
4.2 添加令牌
添加完大模型后,点击令牌生成密钥,
点击添加新的令牌,输入令牌名称,过期时间可以默认,表示永不过期,如下所示。
添加完成后,点击复制即可复制密钥,用于通过 one-api 连接大模型时填写密钥。
五、总结
通过 Flexus云服务器X实例 上部署 one-api,能够流畅支持多种大模型接入,方便了大模型的开发工作。而且, Flexus云服务器X实例提供了丰富的公共镜像,可灵活自定义镜像版本,支持智能感知业务动态升降配,负载范围更高,支持灵活自定义vCPU、内存实例规格,支持按需计费更精细和灵活的定价模式,可基于实际负载画像智能推荐规格。赶紧用起来吧!