OpenAI中转代理API接口服务

由于OpenAI提供服务的地区列表里没有 China,因此想要方便使用OpenAI API的话就需要用到中转服务。

本文介绍的iDataRiver平台便提供这样的API,且比官方OpenAI还要便宜,其文档地址入口为 https://docs.idatariver.com/zh

支持模型

idatariver.com支持的OpenAI模型列表

如何统计消费的token量

token 是大语言模型处理信息的最小单元,你可以在线计算token数量

通常 1 汉字介于1到2个token之间,具体请以实际消耗为准。

如何使用

开发者使用

开发者只需要以下两步即可快速使用:

  1. 填入平台的API Key
  2. 使用平台的中转接口地址: 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文档

第三方产品使用

如果你正在使用第三方产品如: ChatHubOpenAI TranslatorLobe-ChatChatGPT Next Web或其它的应用与浏览器插件,仅需简单操作即可使用。

在应用或插件的OpenAI配置栏里填入下面两项:

  1. 平台的API Key
  2. 平台的中转接口地址: https://api.idatariver.com/api/openai/v1

API错误状态码

错误代码代码解释
400Bad Request 请求格式错误或不能被服务器理解。通常意味着客户端错误。
401Unauthorized API密钥验证未通过。你需要验证你的API密钥是否正确。
403Forbidden 一般是权限不足。
404Not Found 请求的资源未找到。你可能正在尝试访问一个不存在的端点。
413Request Entity Too Large 请求体太大。你可能需要减小你的请求体容量。
429Too Many Requests 请求过于频繁。
500Internal Server Error 服务器内部的错误。这可能是OpenAI服务器的问题,不是你的问题。
503Service Unavailable 服务器暂时不可用。这可能是由于OpenAI正在进行维护或者服务器过载。

更多细节可查阅 OpenAI官方API错误码

  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以通过以下步骤在 C# 中使用 Web API 中转上传文件到文件服务器: 1. 创建一个 Web API 控制器来处理上传请求,例如: ```csharp public class FileUploadController : ApiController { [HttpPost] public async Task<IHttpActionResult> Upload() { // 处理上传请求 // ... } } ``` 2. 在上传请求中,使用 `MultipartFormDataStreamProvider` 类来处理上传的文件和表单数据。例如: ```csharp public async Task<IHttpActionResult> Upload() { // 验证上传请求是否为 multipart/form-data if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } // 设置文件上传目录 var uploadPath = HttpContext.Current.Server.MapPath("~/Uploads"); // 处理上传的文件和表单数据 var provider = new MultipartFormDataStreamProvider(uploadPath); await Request.Content.ReadAsMultipartAsync(provider); // 获取上传的文件 var file = provider.FileData.FirstOrDefault(); // 将文件上传到文件服务器 // ... } ``` 3. 使用 `WebClient` 类或其他 HTTP 客户端库将文件上传到文件服务器。例如: ```csharp public async Task<IHttpActionResult> Upload() { // ... // 将文件上传到文件服务器 var fileStream = File.OpenRead(file.LocalFileName); var client = new WebClient(); client.UploadFile("http://fileserver/upload", fileStream); // 删除上传的临时文件 File.Delete(file.LocalFileName); return Ok(); } ``` 4. 在文件服务器上处理上传的文件。例如,在 ASP.NET Core 中,可以使用 `IFormFile` 类来处理上传的文件。例如: ```csharp [HttpPost("upload")] public async Task<IActionResult> Upload(IFormFile file) { if (file == null || file.Length == 0) { return BadRequest(); } // 保存上传的文件 var filePath = Path.Combine(_hostingEnvironment.ContentRootPath, "uploads", file.FileName); using (var stream = new FileStream(filePath, FileMode.Create)) { await file.CopyToAsync(stream); } return Ok(); } ``` 以上是一个基本的上传文件的流程,具体的实现细节可以根据具体的需求进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值