说不定这是世上最好的ChatGPT,大模型分发系统One API部署与实战



LLM大模型那么多,每一种我都想尝试下怎么办?注册了好多LLM大模型帐号,我该如何统一管理?有没有可能乘着这阵大模型之风赚一波...别急,你想的别人也想到了。笔者今天介绍的这个项目满足你所有的幻想:One API,一款不止接口管理&分发系统。
One API的功能非常强大,目前支持几乎所有主流的大模型和第三方代理厂商,支持用户管理、兑换码管理、充值管理、令牌管理、多机部署等商用能力,完全可以拿来做成商用系统推广。正如笔者标题里写的,说不定这是世上最好的ChatGPT。
老规矩,笔者使用Docker来部署。
准备工作
创建应用目录,例如在/share/Container下创建文件夹oneapi
在oneapi文件夹下再创建一个文件夹data
NAS上安装好docker-compose
最重要的,你需要获取大模型厂商的API使用权限
安装One API
1、创建compose文件
在/share/Container/oneapi文件夹下创建文件docker-compose.yml。
2、粘贴命令
并将下面内容复制粘贴到docker-compose.yml中:
version: '3.8'services: oneapi: container_name: oneapi image: justsong/one-api:latest restart: unless-stopped network_mode: bridge ports: - 3001:3000 volumes: - /share/Container/oneapi/data:/data environment: - TZ=Asia/Shanghai
参数说明
参数 说明
-p 3000 HTTP协议的访问端口,映射的宿主机端口可以改成其他的
-v /data 系统数据的保存目录,映射的宿主机目录改成你自己的

3、启动应用
在系统的SSH中,切换到oneapi文件夹下,执行下面命令启动:
docker-compose up -d
4、访问应用
等待应用启动完成后,在浏览器中输入IP+端口,例如:192.168.31.91:3001。
系统本身是开箱即用,直接使用默认的root用户登录系统即可。初始账号用户名为root,密码为 123456。登录系统后,请立刻到用户管理中将密码修改成其他的。
配置和管理One API
系统主要包括渠道、令牌、兑换、充值、用户、日志和设置等模块,下面我们一一来介绍如何使用。
渠道管理
渠道可以简单理解为各个大模型厂商,可以是原始厂商,也支持代理厂商,每家厂商又可以支持多种模型。
仅超级管理员有权设置,普通用户是看不到的。作用就是为不同分组的用户添加可用的大模型,并设置可用额度。
如何理解呢?假如你要用这个系统来代理3种大模型并推广商用,别人花钱来买你这个服务。如果你确定VIP用户可以使用其中的2中模型,SVIP可以使用全部3种,那么你就在渠道中分别给VIP和SVIP分组添加相应的大模型渠道即可。当然,如果你只是自己用,随便折腾就行,怎么方便怎么来。
1、渠道列表:
2、添加渠道:
在添加页面,可以设置类型、名称、分组、模型、模型重定向、密钥、代理等。具体说明如下:
类型:就是各个大模型厂商或代理商
名称:你自己随便起名字,一个代号
分组:就是你想把这个模型给那些分组使用,支持多选。目前仅支持内置的3种分组,分别是:default、vip、svip
模型:就是大模型厂商提供的模型,选完类型后这个会自动带出来,支持多选,也支持自己填
模型重定向:就是假如用户传入的模型是A,系统可以自动给他改成B
密钥:就是你从大模型厂商获得的API Key,每家厂商的填写格式可能都不一样,选完类型以后这个地方会有提示,按照提示填写
令牌管理
这个功能主要是用于创建令牌,供客户端或调用方使用,其作用跟大模型厂商的令牌或密钥的概念和作用是一样的。每个令牌都支持复制为三种格式,分别是:ChatGPT-Next-Web、AMA问天、Opencat,用于快捷支持这些客户端调用One API。
1、令牌列表:
2、添加令牌:
在添加页面,可以设置名称、过期时间、额度。具体说明如下:
名称:你自己随便起名字,一个代号
过期时间:就是设置这个令牌什么时间前有效,过期失效后就不能兑换了
额度:限制当前令牌的最大使用额度,实际可以使用的额度还会受到账户的剩余额度限制
兑换管理
顾名思义,就是管理兑换码。兑换码是用于充值的凭证,类似你到电信公司买的充值卡可以给手机号充话费一样。这个功能纯粹是为商业准备的,支持批量创建,可以与第三方的发卡系统对接实现销售与核销自动化,这个就不展开说了。
1、兑换码列表:
2、添加兑换码:
在添加页面,可以设置名称、额度、生成数量。具体说明如下:
名称:你自己随便起名字,一个代号
额度:就是这个兑换码可以兑换多少使用额度,兑换时会向账户中充值相应的额度
生成数量:这个兑换码生成多少个,即批量生成
充值管理
顾名思义,就是用于给账户充值,与兑换管理配合使用。输入一个有效的兑换码,就可以给当前账户充值对应的额度,这个额度可以供令牌调用消耗。
充值界面会显示当前账户的剩余额度,输入一个兑换码后点击兑换即可。当然,如果你也有发卡平台,并在系统中配置好了购买链接,当用户点击获取兑换码按钮时就会跳到你的发卡平台。

用户管理
管理员或超级管理员用来管理用户的模块,可以编辑客户信息、封禁或激活用户、修改用户的权限等等。
1、用户列表:
2、添加用户:
在添加页面,可以用户名、显示名称和密码。具体说明如下:
用户名:用户登录系统时的用户名
显示名称:你自己随便起名字,一个代号
密码:用户登录系统时的密码
日志
展示用户充值和额度消耗记录,普通用户与管理员用户查看的范围不一样,普通用户只能看到自己的。
设置
设置功能包括个人设置、运营设置、系统设置和其他设置,普通用户只能看到个人设置,管理员可以看到其他几个模块。
1、个人设置:
对当前账号的一些设置,如个人信息、生成系统访问令牌、绑定邮箱等等。2、运营设置:
包含的设置项目比较多,主要是针对商业运营场景,比如设置充值系统的链接、网页端的用户聊天系统、充值兑换比例等等。
3、系统设置:
针对One API系统本身的一些设置,包括服务器地址、登录注册规则、邮箱服务器设置等等。
4、其他设置:
其他设置其实也是针对One API系统本身的一些设置,主要是一些显示方面的,包括发布公告、系统名称、网站Logo等等。
如何使用One API
以上我们已经安装并配置好了One API系统,那么如何给终端使用呢?其实很简单,使用客户端或编程的方式调用One API的API接口就行了,使用方式与OpenAI API一致。相当于只需要将OpenAI的网址改成你部署的One API系统的网址、将OpenAI的API Key改成你的令牌即可。One API将代理用户向实际的大模型发出请求并接收响应,如下图所示:
另外需要特殊说明的下,上文我们提到每个用户分组是可以支持多个渠道的(即多个模型负载均衡),如果你在客户端想指定使用某个渠道,可以通过在令牌后面添加渠道 ID 的方式指定使用哪一个渠道处理本次请求,例如:Authorization: Bearer ONE_API_KEY-CHANNEL_ID。注意,需要是管理员用户创建的令牌才能指定渠道ID。
相关客户端
目前市面上ChatGPT的客户端五花八门,有网页版的,也有PC端或手机端的,只要支持自定义接口地址,基本上都可以使用One API。笔者仅推荐几个目前比较火或体验比较好的,供读者们参考:
ChatGPT Next Web:目前最火的ChatGPT客户端,支持网页版、Windows、macOS和Linux,面具(prompt)功能很好用
FastGPT:仅支持网页版,基于知识库和高级编排可以调配出功能强大的机器人,可以基于API封装客户端
Opencat:苹果生态专有,支持iOS和macOS,主打体验一流和AI工坊(prompt)
实战对话
下面以ChatGPT Next Web为例进行简单演示。
1、安装ChatGPT Next Web
到Github的ChatGPT Next Web的Releases页面,下载你自己系统对应的版本安装:
2、获取One API令牌
到在One API的令牌管理中,创建一个令牌,然后点击复制,你会得到一串类似sk-xxxxxxxxxxxxxxxxxx的代码,这个就是令牌:
3、设置接口地址和API Key
打开ChatGPT Next Web,在设置中将接口地址填写为自己的One API网址或IP地址及端口,并将令牌粘贴在API Key中:
4、开始Chat
回到聊天界面,选择一个面具或直接开始一个聊天,就可以与大模型撩骚啦!
总结
以上就是One API的简单搭建、设置与演示过程,当然由于每个人的机器环境、网络情况等等都不尽相同,可能在搭建过程中会遇到一些意外情况,搞不定的话可以在本文后面留言,笔者也会尽量帮大家解答。
原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我最大的动力!

到顶部