One API初体验

4 篇文章 0 订阅

前言

忘了在微信公众号是先看到了FastGPT还是One API了,反正对于自己来说知识库或One API都是个新东西,都有很强大的活力。One API在我看来,可能更基础、部署更简单一些,于是打算先搞个One API部署来看看。

One API是开源的,github介绍第一句就是“通过标准的 OpenAI API 格式访问所有的大模型,开箱即用

部署安装

推荐是docker安装,不过我电脑没有安装docker而且docker使用经验有限,因此使用了手动部署方式,下载exe直接运行。

由于最新的release下只有SourceCode,而且它主要是js和Go开发的,不会编译,因此选择了上一版本的exe双击运行(地址:Releases · songquanpeng/one-api (github.com)

弹出cmd界面,访问:http://localhost:3000/

即可正常访问

配置

登录

点击其他链接,即弹出登录界面,默认用户root,密码123456

渠道

登录后,就有了渠道链接,渠道主要是维护各个大模型的调用信息,以便可以以统一的格式调用与返回信息。

点击“添加新的渠道”:

类型,选择即可,目前智谱ChatGLM、讯飞星火、阿里通义千问都有免费token可用,可以优先使用这几个。

名称,随便写,可以标识是哪个大模型就好

分组,默认default即可

模型,在选择了类型后,会进行数据筛选、并默认选中

秘钥,即对应大模型的apikey,根据格式提示填写即可(如讯飞星火需要填写APPID|APISecret|APIKey,而有些大模型只需要一个apikey即可)

令牌

令牌,用于通过webapi调用One API的时候提供鉴权。

点击“添加新的令牌”:

名称,随便写

过期日期,自己用可以设置为永不过期,也可以自定义

额度,随便设置,主要给其他人用的时候,可以用于控制额度

使用

apipost测试

api地址:http://localhost:3000/v1/chat/completions

http方法:post

header:Authorization:Bearer {设置的令牌,复制即可}

注意:这里一定要带上Bearer,且和令牌之间有一个空格,一开始我就是这里没设置对,一直有问题

body:这里就和openai格式完全一样了,这也是One API的设计初衷,简化调用与返回格式,实现格式统一。如下是一个简单的示例

{
    "model": "qwen-turbo",
    "messages": [
        {
            "role": "user",
            "content": "你是谁?"
        }
    ]
}

这里是不是有个疑问,如果配置了多个渠道,那么在这里使用哪个渠道(大模型)呢?

github上面的说明是,会自动通过负载均衡使用多个渠道。

我测试的情况是,会根据model确定使用哪个大模型,毕竟模型对不上,也没法使用其他大模型。

指定渠道ID

github说明也提到了,管理员可以指定渠道ID,这样就可以强制使用某个渠道的大模型

header:Authorization:Bearer {设置的令牌,复制即可}-{渠道ID}

python代码调用

直接使用调用openai的代码,只需修改环境变量OPENAI_BASE_URL和OPENAI_API_KEY即可,注意在apikey里也可以添加渠道号ID,和直接apipost测试是一致的。

SK调用

之前测试的时候,一直调用出错,大概错误:Role must be user or assistant and Content length must be greater than 0 (request id: 20240219174234243074400QqnFKmsk)
Status: 400 (Bad Request)
ErrorCode: bad_response_status_code
但是使用原本的openai的baseurl和apikey测试没问题。

写文章的时候又试了下,如果使用One API代理本来的openai,调用openai是可以的(设置模型为gpt的),因此推测问题是由于模型设置的不是openai的模型,SK底层可能做了参数验证,导致最终调用没法通过。

不确定的

对于function call这些,大模型也是存在差异的,这块不知能不能统一,估计够呛吧,有待验证

  • 28
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值