记录: OpenAI中转代理API接口服务的使用
由于OpenAI提供服务的地区列表里没有 China,因此想要方便使用OpenAI API的话就需要用到中转服务。
本文介绍的iDataRiver平台便提供这样的API,且比官方OpenAI还要便宜,其文档地址入口为 https://docs.idatariver.com/zh
支持模型

如何统计消费的token量
token 是大语言模型处理信息的最小单元,你可以在线计算token数量
通常 1 汉字介于1到2个token之间,具体请以实际消耗为准。
如何使用
开发者使用
开发者只需要以下两步即可快速使用:
- 填入平台的API Key
- 使用平台的中转接口地址:
https://api.idatariver.com/api/openai/v1
接口用法与 OpenAI 官方 API 完全一致,示例如下:
Curl使用示例
curl https://api.idatariver.com/api/openai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $iDataRiver_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
]
}'
python使用示例
from openai import OpenAI
client = OpenAI(
api_key='idr_******',
base_url='https://cnapi.idatariver.com/api/openai/v1'
)
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
print(completion.choices[0].message)
nodejs使用示例
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: 'idr_****',
baseURL: 'https://cnapi.idatariver.com/api/openai/v1',
});
async function main() {
const completion = await openai.chat.completions.create({
messages: [{ role: "system", content: "You are a helpful assistant." }],
model: "gpt-3.5-turbo",
});
console.log(completion.choices[0]);
}
main();
更多用法可查阅 OpenAI官方API文档
第三方产品使用
如果你正在使用第三方产品如: ChatHub、OpenAI Translator、Lobe-Chat、ChatGPT Next Web或其它的应用与浏览器插件,仅需简单操作即可使用。
在应用或插件的OpenAI配置栏里填入下面两项:
- 平台的API Key
- 平台的中转接口地址:
https://api.idatariver.com/api/openai/v1
API错误状态码
| 错误代码 | 代码解释 |
|---|---|
| 400 | Bad Request 请求格式错误或不能被服务器理解。通常意味着客户端错误。 |
| 401 | Unauthorized API密钥验证未通过。你需要验证你的API密钥是否正确。 |
| 403 | Forbidden 一般是权限不足。 |
| 404 | Not Found 请求的资源未找到。你可能正在尝试访问一个不存在的端点。 |
| 413 | Request Entity Too Large 请求体太大。你可能需要减小你的请求体容量。 |
| 429 | Too Many Requests 请求过于频繁。 |
| 500 | Internal Server Error 服务器内部的错误。这可能是OpenAI服务器的问题,不是你的问题。 |
| 503 | Service Unavailable 服务器暂时不可用。这可能是由于OpenAI正在进行维护或者服务器过载。 |
更多细节可查阅 OpenAI官方API错误码
记录: OpenAI中转代理API接口服务的使用的更多相关文章
- API接口服务端
<?php /** * API接口服务端 * * */ require 'mysql_class.php'; header('Content-Type:text/html;charset=utf ...
- ASP.NET WebAPI构建API接口服务实战演练
一.课程介绍 一.王小二和他领导的第一次故事 有一天王小二和往常一下去上早班,刚吃完早餐刚一打开电脑没一会儿.王小二的领导宋大宝走到他的面前,我们现在的系统需要提供服务给其他内部业务系统,我看你平时喜 ...
- ASP.NET Core WebApi构建API接口服务实战演练
一.ASP.NET Core WebApi课程介绍 人生苦短,我用.NET Core!提到Api接口,一般会想到以前用到的WebService和WCF服务,这三个技术都是用来创建服务接口,只不过Web ...
- 手把手教你用Abp vnext构建API接口服务
ABP是一个开源应用程序框架,该项目是ASP.NET Boilerplate Web应用程序框架的下一代,专注于基于ASP.NET Core的Web应用程序开发,也支持开发控制台应用程序. 官方网站: ...
- 亿级用户下的新浪微博平台架构 前端机(提供 API 接口服务),队列机(处理上行业务逻辑,主要是数据写入),存储(mc、mysql、mcq、redis 、HBase等)
https://mp.weixin.qq.com/s/f319mm6QsetwxntvSXpKxg 亿级用户下的新浪微博平台架构 炼数成金前沿推荐 2014-12-04 序言 新浪微博在2014年3月 ...
- 怎样提供一个好的移动API接口服务/从零到一[开发篇]
引语:现在互联网那么热,你手里没几个APP都不好意思跟别人打招呼!但是,难道APP就是全能的神吗?答案是否定的,除了优雅的APP前端展示,其实核心还是服务器端.数据的保存.查询.消息的推送,无不是在服 ...
- 四十五:漏洞发现-API接口服务之漏洞探针类型利用修复
接口服务类安全测试 根据前期信息收集针对目标端口服务类探针后进行的安全测试,主要涉及攻击方法:口令安全,WEB类漏洞,版本漏洞等,其中产生的危害可大可小,属于端口服务/第三方服务类安全测试.一般在已知 ...
- Api接口服务的设计和安全解决方案
这个涉及到两个方面问题:一个是接口访问认证问题,主要解决谁可以使用接口(用户登录验证.来路验证)一个是数据数据传输安全,主要解决接口数据被监听(HTTPS安全传输.敏感内容加密.数字签名) 普通网站应 ...
- Python Tornado搭建高并发Restful API接口服务
Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快能实现高并发.得利于其 非阻塞的方式和对epoll的运用,Torn ...
- Spring Boot Security 整合 OAuth2 设计安全API接口服务
简介 OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版.本文重点讲解Spring Boot项目对OAuth2进行的实现,如果你对OAut ...
随机推荐
- TienChin 活动管理-活动导出
ActivityController /** * 导出活动列表 */ @PreAuthorize("hasPermission('tienchin:activity:export')&quo ...
- net8来了
11 月 15 日开始的为期三天的 .NET Conf 在线活动的开幕日上,.NET 8作为微软的开源跨平台开发平台正式发布..NET 团队着重强调云.性能.全栈 Blazor.AI 和 .NET M ...
- Git企业开发控制理论和实操-从入门到深入(三)|分支管理
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总 然后就是博主最近最花时间的一 ...
- 优化算法之梯度下降|Matlab实现梯度下降算法
题目要求: 使用Matab实现梯度下降法 对于函数: min f ( x ) = 2 x 1 2 + 4 x 2 2 − 6 x 1 − 2 x 1 x 2 \min f(x)=2 x_{1}^{ ...
- (C语言)格式输出,右对齐
printf("%8d", i);可以输出整数 i,让它占至少 8 个字符的宽度(即场宽为8):如果 i 不够8 位则在左边补空格使它右对齐满 8 位,如果 i 的输出的位数 ≥ ...
- 下载、安装Git并拷贝GitHub项目到本地的流程
本文介绍分布式开源版本控制系统Git的下载.安装,并基于Git实现克隆GitHub中项目代码的方法. Git是一款开源软件,因此我们直接在Git的官方下载地址下载最新版本的Git即可.其中,在 ...
- IDE 不用鼠标 向下选择
- 【Flink入门修炼】1-3 Flink WordCount 入门实现
本篇文章将带大家运行 Flink 最简单的程序 WordCount.先实践后理论,对其基本输入输出.编程代码有初步了解,后续篇章再对 Flink 的各种概念和架构进行介绍. 下面将从创建项目开始,介绍 ...
- 回顾复习之坐标DP
定义 坐标型动态规划一般是给定网格.序列,求满足条件的MAX或MIN. 开数组时,dp[i]一般代表以ai结尾的满足条件的子序列,dp[i][j]代表以i.j结尾的满足条件的最优解 例题 数塔 典中典 ...
- 计网学习笔记九 Routing Fundamentals
在这一讲开始讲路由器的控制平面.简单介绍了routing,两个最小cost算法. 参考看的文章: VC网络中的路由 VC网络和数据报网络中路由的区别:Differences between Virtu ...