


























One API是一个LLM代理系统,支持LLM接口管理和消息分发。使得用户可以通过标准的 OpenAI API 格式访问所有的大模型,开箱即用。
One API 比 openai-forword 更强大,因为 One API 除了作为LLM代理,还可以作为LLM一个中间商系统。
相关文档:
One API 提供了多种安装部署方式,包括Docker部署、裸机编译部署、多机部署、宝塔部署、第三方平台一键部署等。
本文中选择使用Docker部署,数据库选择MySQL,不使用Redis。
1、安装MySQL8,参考文档好好学MySQL:使用Docker安装配置MySQL
2、创建一个数据库,名称为 oneapi
1、下载 one-api 镜像
1 | docker pull justsong/one-api:v0.6.10-alpha.1 |
2、运行 one-api 容器
使用SQLite数据库:
1 | docker run --name one-api -d \ |
备用镜像地址:ghcr.io/songquanpeng/one-api:v0.6.11-alpha.8
使用MySQL数据库:
1 | docker run --name one-api -d \ |
其中,SQL_DSN的值要改成自己的MySQL配置。
3、查看容器状态
1 | docker ps | grep one-api |
参考配置:
1 | server{ |
1、使用 IP+端口 或者 域名 访问 One API 首页
2、点击页面右上角 登录,登录进入管理页面
默认用户名为 root ,密码为 123456,登录后请先修改密码
1、点击设置
2、配置服务器地址
该地址要和配置的域名一致。
1、点击设置
2、配置登录注册部分,选择登录和注册方式
3、配置邮箱域名白名单
1、点击渠道,添加新的渠道
2、填入渠道信息
填入的模型,其实是oneapi中的模型名,默认与真实模型名相同。如果oneapi中的模型名,与真实模型名不同,那么可以配置模型重定向。
例如:oneapi中模型名是 gpt3.5-test,真实模型名是 gpt-3.5-turbo-16k ,那么模型重定向配置如下
1 | { |
3、提交,并点击测试
注意:根据个人经验,添加渠道并且测试成功后,并不能立刻通过API调用。
如果立刻调用,会报错:
1 | openai.InternalServerError: Error code: 503 - {'error': {'message': '当前分组 default 下对于模型 xxx 无可用渠道 (request id: xxx)', 'type': 'one_api_error'}} |
需要等待2到3分钟,再进行API调用才会正常,也许是oneapi的什么机制。
1、点击用户,选择某一个用户,编辑
2、剩余额度填入 token 数,会自动显示等价金额
100000 token,等价金额 0.2 刀
3、提交
1、用户登录 One API
2、点击令牌,添加新的令牌
3、填入令牌信息
4、提交
5、复制 token
找到新创建的令牌,点击复制,就可以获取到 token
注意:该 token 对应的 base_url 是我们配置的域名 https://oneapi.voidking.com/v1
6、聊天
找到新创建的令牌,点击聊天,会自动跳转到 NextChat,同时提示自动填入 base_url 和 token,点击确定,就可以使用 One API 代理进行聊天了。
参考文档:
模型倍率和补全倍率算法:
1 | 基准价格:0.002 $ /1k tokens |
假设X模型的价格为 $0.18/M input tokens 和 $0.72/M output tokens,那么它的模型倍率和补全倍率如下:
1 | 模型倍率 = 输入价格 / 基准价格 = (0.18/1000) / 0.002 = 0.09 |
在oneapi代码中,在计算费用时,涉及到变量包括:
0.002 $ /1k tokens变量关系如下:
1 | quota = ((prompt_tokens * model_ratio) + (completion_ratio * model_ratio * completion_ratio)) * group_ratio |
最终费用为:
1 | cost = quota * base_price = quota * (0.002/1000) |
参考文档:
1 | curl "https://oneapi.voidking.com/v1/chat/completions" \ |
1、编写测试脚本 test.py
1 | from openai import OpenAI |
2、运行脚本
1 | python test.py |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。