跨境互联网 跨境互联网
首页
  • AI 工具

    • 绘图提示词工具 (opens new window)
    • ChatGPT 指令 (opens new window)
  • ChatGPT

    • ChatGP T介绍
    • ChatGPT API 中文开发手册
    • ChatGPT 中文调教指南
    • ChatGPT 开源项目
  • Midjourney

    • Midjourney 文档
  • Stable Diffusion

    • Stable Diffusion 文档
  • 其他

    • AIGC 热门文章
    • 账号合租 (opens new window)
    • 有趣的网站
  • Vue

    • Vue3前置
  • JAVA基础

    • Stream
    • Git
    • Maven
    • 常用第三方类库
    • 性能调优工具
    • UML系统建模
    • 领域驱动设计
    • 敏捷开发
    • Java 测试
    • 代码规范及工具
    • Groovy 编程
  • 并发编程&多线程

    • 并发编程
    • 高性能队列 Disruptor
    • 多线程并发在电商系统下的应用
  • 其他

    • 面试题
  • 消息中间中间件

    • Kafka
    • RabbitMQ
    • RocketMQ
  • 任务调度

    • Quartz
    • XXL-Job
    • Elastic-Job
  • 源码解析

    • Mybatis 高级使用
    • Mybatis 源码剖析
    • Mybatis-Plus
    • Spring Data JPA
    • Spring 高级使用
    • Spring 源码剖析
    • SpringBoot 高级使用
    • SpringBoot 源码剖析
    • Jdk 解析
    • Tomcat 架构设计&源码剖析
    • Tomcat Web应用服务器
    • Zookeeper 高级
    • Netty
  • 微服务框架

    • 分布式原理
    • 分布式集群架构场景化解决方案
    • Dubbo 高级使用
    • Dubbo 核心源码剖析
    • Spring Cloud Gateway
    • Nacos 实战应用
    • Sentinel 实战应用
    • Seata 分布式事务
  • 数据结构和算法的深入应用
  • 存储

    • 图和Neo4j
    • MongoDB
    • TiDB
    • MySQL 优化
    • MySQL 平滑扩容实战
    • MySQL 海量数据存储与优化
    • Elasticsearch
  • 缓存

    • Redis
    • Aerospike
    • Guava Cache
    • Tair
  • 文件存储

    • 阿里云 OSS 云存储
    • FastDF 文件存储
  • 基础

    • Linux 使用
    • Nginx 使用与配置
    • OpenResty 使用
    • LVS+Keepalived 高可用部署
    • Jekins
  • 容器技术

    • Docker
    • K8S
    • K8S
  • 01.全链路(APM)
  • 02.电商终极搜索解决方案
  • 03.电商亿级数据库设计
  • 04.大屏实时计算
  • 05.分库分表的深入实战
  • 06.多维系统下单点登录
  • 07.多服务之间分布式事务
  • 08.业务幂等性技术架构体系
  • 09.高并发下的12306优化
  • 10.每秒100W请求的秒杀架构体系
  • 11.集中化日志管理平台的应用
  • 12.数据中台配置中心
  • 13.每天千万级订单的生成背后痛点及技术突破
  • 14.红包雨的架构设计及源码实现
  • 人工智能

    • Python 笔记
    • Python 工具库
    • 人工智能(AI) 笔记
    • 人工智能(AI) 项目笔记
  • 大数据

    • Flink流处理框架
  • 加密区

    • 机器学习(ML) (opens new window)
    • 深度学习(DL) (opens new window)
    • 自然语言处理(NLP) (opens new window)
AI 导航 (opens new window)

Revin

首页
  • AI 工具

    • 绘图提示词工具 (opens new window)
    • ChatGPT 指令 (opens new window)
  • ChatGPT

    • ChatGP T介绍
    • ChatGPT API 中文开发手册
    • ChatGPT 中文调教指南
    • ChatGPT 开源项目
  • Midjourney

    • Midjourney 文档
  • Stable Diffusion

    • Stable Diffusion 文档
  • 其他

    • AIGC 热门文章
    • 账号合租 (opens new window)
    • 有趣的网站
  • Vue

    • Vue3前置
  • JAVA基础

    • Stream
    • Git
    • Maven
    • 常用第三方类库
    • 性能调优工具
    • UML系统建模
    • 领域驱动设计
    • 敏捷开发
    • Java 测试
    • 代码规范及工具
    • Groovy 编程
  • 并发编程&多线程

    • 并发编程
    • 高性能队列 Disruptor
    • 多线程并发在电商系统下的应用
  • 其他

    • 面试题
  • 消息中间中间件

    • Kafka
    • RabbitMQ
    • RocketMQ
  • 任务调度

    • Quartz
    • XXL-Job
    • Elastic-Job
  • 源码解析

    • Mybatis 高级使用
    • Mybatis 源码剖析
    • Mybatis-Plus
    • Spring Data JPA
    • Spring 高级使用
    • Spring 源码剖析
    • SpringBoot 高级使用
    • SpringBoot 源码剖析
    • Jdk 解析
    • Tomcat 架构设计&源码剖析
    • Tomcat Web应用服务器
    • Zookeeper 高级
    • Netty
  • 微服务框架

    • 分布式原理
    • 分布式集群架构场景化解决方案
    • Dubbo 高级使用
    • Dubbo 核心源码剖析
    • Spring Cloud Gateway
    • Nacos 实战应用
    • Sentinel 实战应用
    • Seata 分布式事务
  • 数据结构和算法的深入应用
  • 存储

    • 图和Neo4j
    • MongoDB
    • TiDB
    • MySQL 优化
    • MySQL 平滑扩容实战
    • MySQL 海量数据存储与优化
    • Elasticsearch
  • 缓存

    • Redis
    • Aerospike
    • Guava Cache
    • Tair
  • 文件存储

    • 阿里云 OSS 云存储
    • FastDF 文件存储
  • 基础

    • Linux 使用
    • Nginx 使用与配置
    • OpenResty 使用
    • LVS+Keepalived 高可用部署
    • Jekins
  • 容器技术

    • Docker
    • K8S
    • K8S
  • 01.全链路(APM)
  • 02.电商终极搜索解决方案
  • 03.电商亿级数据库设计
  • 04.大屏实时计算
  • 05.分库分表的深入实战
  • 06.多维系统下单点登录
  • 07.多服务之间分布式事务
  • 08.业务幂等性技术架构体系
  • 09.高并发下的12306优化
  • 10.每秒100W请求的秒杀架构体系
  • 11.集中化日志管理平台的应用
  • 12.数据中台配置中心
  • 13.每天千万级订单的生成背后痛点及技术突破
  • 14.红包雨的架构设计及源码实现
  • 人工智能

    • Python 笔记
    • Python 工具库
    • 人工智能(AI) 笔记
    • 人工智能(AI) 项目笔记
  • 大数据

    • Flink流处理框架
  • 加密区

    • 机器学习(ML) (opens new window)
    • 深度学习(DL) (opens new window)
    • 自然语言处理(NLP) (opens new window)
AI 导航 (opens new window)
  • ChatGPT

    • 入门

    • 进阶

      • ChatGPT API keys 秘钥获取
      • ChatGPT API 中文开发手册
        • 简介 (Introduction)
        • 身份验证 (Authentication)
        • 请求组织(Requesting organization)
        • 发出请求 (Making requests)
        • 模型 (Models)
          • 模型列表 (List models)
          • 检索模型 (Retrieve model)
        • 完成 (Completions)
          • 创建完成 (Create completion)
        • 聊天 (Chat)
          • 创建 (Create chat completion)
        • 编辑 (Edits)
          • 创建编辑 (Create edit)
        • 图片 (Images)
          • 创建图像 (Create image)
          • 创建图像编辑 (Create image edit)
          • 创建图像变体 (Create image variation)
        • 嵌入 (Embeddings)
          • 创建嵌入 (Create embeddings)
        • 音频(Audio)
          • 创建转录 (Create transcription)
          • 创建翻译 (Create transcription)
        • 文件 (Files)
          • 文件列表 (List files)
          • 上传文件 (Upload file)
          • 删除文件 (Delete file)
          • 检索文件 (Retrieve file)
          • 检索文件内容 (Retrieve file content)
        • 微调 (Fine-tunes)
          • 创建微调 (Create fine-tune)
          • 微调列表 (List fine-tunes)
          • 微调检索 (Retrieve fine-tune)
          • 取消微调 (Cancel fine-tune)
          • 列出微调事件 (List fine-tune events)
          • 删除微调模型 (Delete fine-tune model)
        • 适度 (Moderations)
          • 创建适度 (Create moderation)
        • (Engines)
          • (List engines)
          • (Retrieve engine)
        • 参数详情 (Parameter details)
          • 频率和存在惩罚 (Frequency and presence penalties)
      • 各种开发语言OpenAI类库
      • 如何使用大型语言模型
      • OpenAI的价格
    • ChatGPT指令

    • 其他

    • 提示
  • Stable Diffusion

  • Midjourney

  • whisper
  • PaddleSpeech
  • AIGC
  • ChatGPT
  • 进阶
Revin
2023-04-13
目录

ChatGPT API 中文开发手册

👉 官方API参考手册原文链接 (opens new window)

# 简介 (Introduction)

您可以通过任何编程语言通过HTTP请求的方式与API交互,也可以通过官方提供的Python库、Node.js库或社区维护的库的方式。

使用安装Python库,运行下面的命令:

pip install openai
1

要安装正式的Node.js库,在Node.js项目目录中运行以下命令:

npm install openai
1

# 身份验证 (Authentication)

OpenAI API 使用 API 密钥进行身份验证。访问您的API 密钥 (opens new window)页面以检索您将在请求中使用的 API 密钥。

**请记住,您的 API 密钥是秘密的!**不要与他人共享或在任何客户端代码(浏览器、应用程序)中公开它。生产请求必须通过您自己的后端服务器进行路由,您的 API 密钥可以从环境变量或密钥管理服务中安全加载。

所有 API 请求都应在 HTTP 标头中包含您的 API 密钥,Authorization如下所示:

Authorization: Bearer OPENAI_API_KEY
1

# 请求组织(Requesting organization)

对于属于多个组织的用户,您可以传递一个标头来指定哪个组织用于 API 请求。来自这些 API 请求的使用将计入指定组织的订阅配额。

curl命令示例:

curl https://api.openai.com/v1/models \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "OpenAI-Organization: YOUR_ORG_ID"
1
2
3

Python 包的示例openai:

import os
import openai
openai.organization = "YOUR_ORG_ID"
openai.api_key = os.getenv("OPENAI_API_KEY")
openai.Model.list()
1
2
3
4
5

Node.js 包的示例openai:

import { Configuration, OpenAIApi } from "openai";
const configuration = new Configuration({
    organization: "YOUR_ORG_ID",
    apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const response = await openai.listEngines();
1
2
3
4
5
6
7

组织 ID 可以在您的组织设置 (opens new window)页面上找到。

# 发出请求 (Making requests)

您可以将下面的命令粘贴到您的终端中以运行您的第一个 API 请求。确保替换$OPENAI_API_KEY为您的秘密 API 密钥。

curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
     "model": "gpt-3.5-turbo",
     "messages": [{"role": "user", "content": "Say this is a test!"}],
     "temperature": 0.7
   }'
1
2
3
4
5
6
7
8

这个请求查询gpt-3.5-turbo模型,以完成以 "Say this is a test "的提示开始的文本。你应该得到一个类似于以下的响应:

{
   "id":"chatcmpl-abc123",
   "object":"chat.completion",
   "created":1677858242,
   "model":"gpt-3.5-turbo-0301",
   "usage":{
      "prompt_tokens":13,
      "completion_tokens":7,
      "total_tokens":20
   },
   "choices":[
      {
         "message":{
            "role":"assistant",
            "content":"\n\nThis is a test!"
         },
         "finish_reason":"stop",
         "index":0
      }
   ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

现在你已经生成了你的第一个聊天完成。我们可以看到finish_reason是stop这意味着 API 返回了模型生成的完整完成。在上面的请求中,我们只生成了一条消息,但是您可以设置参数n来生成多条消息选择。在这个例子中,gpt-3.5-turbo更多的是用于传统的文本完成任务 (opens new window)。该模型还针对聊天应用程序 (opens new window)进行了优化。

# 模型 (Models)

# 模型列表 (List models)

列出并描述 API 中可用的各种模型。您可以参考模型 (opens new window)文档以了解可用的模型以及它们之间的区别。

GET https://api.openai.com/v1/models
1

列出当前可用的模型,并提供有关每个模型的基本信息,例如所有者和可用性。

请求示例

curl https://api.openai.com/v1/models \
  -H "Authorization: Bearer $OPENAI_API_KEY"
1
2

响应

{
  "data": [
    {
      "id": "model-id-0",
      "object": "model",
      "owned_by": "organization-owner",
      "permission": [...]
    },
    {
      "id": "model-id-1",
      "object": "model",
      "owned_by": "organization-owner",
      "permission": [...]
    },
    {
      "id": "model-id-2",
      "object": "model",
      "owned_by": "openai",
      "permission": [...]
    },
  ],
  "object": "list"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 检索模型 (Retrieve model)

检索模型实例,提供有关模型的基本信息,例如所有者和权限。

GET https://api.openai.com/v1/models/{model}
1

路径参数

参数名 类型 是否必输 描述
model string 是 用于此请求的模型的 ID

请求示例

curl https://api.openai.com/v1/models/text-davinci-003 \
  -H "Authorization: Bearer $OPENAI_API_KEY"
1
2

响应

{
  "id": "text-davinci-003",
  "object": "model",
  "owned_by": "openai",
  "permission": [...]
}
1
2
3
4
5
6

# 完成 (Completions)

给定一个提示,该模型将返回一个或多个预测的完成,并且还可以返回每个位置的替代token的概率。

# 创建完成 (Create completion)

POST https://api.openai.com/v1/completions
1

为提供的提示和参数创建完成

请求体

参数名 类型 是否必输 默认值 描述
model string 是 要使用的模型的 ID。您可以使用List models (opens new window) API 来查看所有可用模型,或查看我们的模型概述 (opens new window)以了解它们的描述。
prompt string 或 array 否 <|endoftext|> 生成完成的提示,编码为字符串、字符串数组、token数组或token数组数组。请注意,<|endoftext|>是模型在训练期间看到的文档分隔符,因此如果未指定提示,模型将生成新文档的开头。
suffix string 否 null 插入文本完成后出现的后缀。
max_tokens integer 否 16 完成时生成的最大token (opens new window)数。您的提示加上的token计数max_tokens不能超过模型的上下文长度。大多数模型的上下文长度为 2048 个token(最新模型除外,它支持 4096)。token翻译请看文章末尾
temperature number 否 1 使用什么采样温度,介于 0 和 2 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使输出更加集中和确定。 我们通常建议改变这个或top_p但不是两者。
top_p number 否 1 一种替代温度采样的方法,称为核采样,其中模型考虑具有 top_p 概率质量的token的结果。所以 0.1 意味着只考虑构成前 10% 概率质量的token。 我们通常建议改变这个或temperature但不是两者。
n integer 否 1 为每个提示生成多少完成。 **注意:**因为这个参数会产生很多完成,它会很快消耗你的令牌配额。请谨慎使用并确保您对max_tokens和进行了合理的设置stop
stream boolean 否 false 是否回流部分进度。如果设置,token将在可用时作为仅数据服务器发送事件 (opens new window)发送,流由data: [DONE]消息终止。
logprobs integer 否 null 在 logprobs 上包括对数概率最有可能的token,以及所选token。例如,如果 logprobs 为 5,则 API 将返回 5 个最有可能的token的列表。 API 将始终返回采样令牌的 logprob,因此响应中最多可能有 logprobs+1 个元素。 logprobs 的最大值为 5。如果您需要更多,请通过我们的帮助中心 (opens new window)联系我们并描述您的用例。
echo boolean 否 false 除了完成之外,还回显提示
stop string 或 array 否 null API 将停止生成更多token的最多 4 个序列。
presence_penalty number 否 0 -2.0 和 2.0 之间的数字。正值会根据到目前为止是否出现在文本中来惩罚新token,从而增加模型谈论新主题的可能性。
frequency_penalty number 否 0 -2.0 和 2.0 之间的数字。正值会根据新token在文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性。
best_of integer 否 1 在服务器端生成 best_of 完成,并返回“最佳”。 每个token具有最高对数概率的那个。无法流式传输结果。 当使用n,best_of 控制候选完成的数量,n 指定返回多少 - best_of 必须大于 n。 **注意:**因为这个参数会产生很多完成,它会很快消耗你的令牌配额。请谨慎使用并确保您对max_tokens和进行了合理的设置stop。
logit_bias map 否 null 修改指定token出现在完成中的可能性。接受一个 json 对象,该对象将token(由 GPT 分词器中的tokenID 指定)映射到从 -100 到 100 的相关偏差值。您可以使用此token生成器工具 (opens new window)(适用于 GPT-2 和 GPT-3)将文本转换为token ID。从数学上讲,偏差会在采样之前添加到模型生成的对数中。确切的效果因模型而异,但 -1 和 1 之间的值应该会减少或增加选择的可能性;像 -100 或 100 这样的值应该导致相关token的禁止或独占选择。例如,您可以传递 {“50256”: -100} 以防止生成 <|endoftext|>
user string 否 代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。 了解更多 (opens new window)。

请求示例

curl https://api.openai.com/v1/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "text-davinci-003",
    "prompt": "Say this is a test",
    "max_tokens": 7,
    "temperature": 0
  }'
1
2
3
4
5
6
7
8
9

参数

{
  "model": "text-davinci-003",
  "prompt": "Say this is a test",
  "max_tokens": 7,
  "temperature": 0,
  "top_p": 1,
  "n": 1,
  "stream": false,
  "logprobs": null,
  "stop": "\n"
}
1
2
3
4
5
6
7
8
9
10
11

响应

{
  "id": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7",
  "object": "text_completion",
  "created": 1589478378,
  "model": "text-davinci-003",
  "choices": [
    {
      "text": "\n\nThis is indeed a test",
      "index": 0,
      "logprobs": null,
      "finish_reason": "length"
    }
  ],
  "usage": {
    "prompt_tokens": 5,
    "completion_tokens": 7,
    "total_tokens": 12
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 聊天 (Chat)

给定聊天对话,模型将返回聊天完成响应。

# 创建 (Create chat completion) Beta

POST https://api.openai.com/v1/chat/completions
1

为聊天消息创建完成

请求体

参数名 类型 是否必输 默认值 描述
model string 是 要使用的模型的 ID。有关哪些模型适用于聊天 API 的详细信息,请参阅模型端点兼容性表 (opens new window)。
messages array 是 以聊天格式 (opens new window)生成聊天完成的消息。
temperature number 否 1 使用什么采样温度,介于 0 和 2 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使输出更加集中和确定。 我们通常建议改变这个或top_p但不是两者。
top_p number 否 1 一种替代温度采样的方法,称为核采样,其中模型考虑具有 top_p 概率质量的token的结果。所以 0.1 意味着只考虑构成前 10% 概率质量的token。 我们通常建议改变这个或temperature但不是两者。
n integer 否 1 为每个输入消息生成多少个聊天完成选项。
stream boolean 否 false 如果设置,将发送部分消息增量,就像在 ChatGPT 中一样。令牌将在可用时作为纯数据服务器发送事件发送,流由data:[DONE] 消息终止。有关示例代码,请参阅 OpenAI Cookbook (opens new window)。
stop string 或 array 否 null API 将停止生成更多token的最多 4 个序列。
max_tokens integer 否 inf 聊天完成时生成的最大token数。 输入token和生成token的总长度受模型上下文长度的限制。
presence_penalty number 否 0 -2.0 和 2.0 之间的数字。正值会根据到目前为止是否出现在文本中来惩罚新token,从而增加模型谈论新主题的可能性。
frequency_penalty number 否 0 -2.0 和 2.0 之间的数字。正值会根据新token在文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性。
logit_bias map 否 null 修改指定token出现在完成中的可能性。接受一个 json 对象,该对象将token(由 GPT 分词器中的tokenID 指定)映射到从 -100 到 100 的相关偏差值。您可以使用此token生成器工具 (opens new window)(适用于 GPT-2 和 GPT-3)将文本转换为token ID。从数学上讲,偏差会在采样之前添加到模型生成的对数中。确切的效果因模型而异,但 -1 和 1 之间的值应该会减少或增加选择的可能性;像 -100 或 100 这样的值应该导致相关token的禁止或独占选择。
user string 否 代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。 了解更多 (opens new window)。

请求示例

curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'
1
2
3
4
5
6
7

参数

{
  "model": "gpt-3.5-turbo",
  "messages": [{"role": "user", "content": "Hello!"}]
}
1
2
3
4

响应

{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "\n\nHello there, how may I assist you today?",
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 12,
    "total_tokens": 21
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 编辑 (Edits)

给定提示和指令,模型将返回提示的编辑版本。

# 创建编辑 (Create edit)

POST https://api.openai.com/v1/edits
1

为提供的输入、指令和参数创建新的编辑。

请求体

参数名 类型 是否必输 默认值 描述
model string 是 要使用的模型的 ID。您可以将text-davinci-edit-001或code-davinci-edit-001模型与此端点一起使用。
input string 否 空字符串 用作编辑起点的输入文本。
instruction string 是 告诉模型如何编辑提示的指令。
n integer 否 1 为输入和指令生成多少编辑。
temperature number 否 1 使用什么采样温度,介于 0 和 2 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使输出更加集中和确定。 我们通常建议改变这个或top_p但不是两者。
top_p number 否 1 一种替代温度采样的方法,称为核采样,其中模型考虑具有 top_p 概率质量的token的结果。所以 0.1 意味着只考虑构成前 10% 概率质量的token。 我们通常建议改变这个或temperature但不是两者。

请求示例

curl https://api.openai.com/v1/edits \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "text-davinci-edit-001",
    "input": "What day of the wek is it?",
    "instruction": "Fix the spelling mistakes"
  }'
1
2
3
4
5
6
7
8

参数

{
  "model": "text-davinci-edit-001",
  "input": "What day of the wek is it?",
  "instruction": "Fix the spelling mistakes",
}
1
2
3
4
5

响应

{
  "object": "edit",
  "created": 1589478378,
  "choices": [
    {
      "text": "What day of the week is it?",
      "index": 0,
    }
  ],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 32,
    "total_tokens": 57
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 图片 (Images)

给定提示和/或输入图像,模型将生成新图像。

相关指南:图像生成 (opens new window)

# 创建图像 (Create image) Beta

POST https://api.openai.com/v1/images/generations
1

根据提示创建图像。

请求体

参数名 类型 是否必输 默认值 描述
prompt string 是 所需图像的文本描述。最大长度为 1000 个字符。
n integer 否 1 要生成的图像数。必须介于 1 和 10 之间。
size string 1024x1024 生成图像的大小。必须是256x256 512x512 1024x1024之一
response_format string 否 url 生成的图像返回的格式。必须是 url或b64_json
user number 否 1 代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。 了解更多 (opens new window)。

请求示例

curl https://api.openai.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "prompt": "A cute baby sea otter",
    "n": 2,
    "size": "1024x1024"
  }'
1
2
3
4
5
6
7
8

参数

{
  "prompt": "A cute baby sea otter",
  "n": 2,
  "size": "1024x1024"
}
1
2
3
4
5

响应

{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11

# 创建图像编辑 (Create image edit) Beta

POST https://api.openai.com/v1/images/edits
1

在给定原始图像和提示的情况下创建编辑或扩展图像。

请求体

参数名 类型 是否必输 默认值 描述
image string 是 要编辑的图像。必须是有效的 PNG 文件,小于 4MB,并且是方形的。如果未提供遮罩,图像必须具有透明度,将用作遮罩。
mask string 否 一个附加图像,其完全透明区域(例如,alpha 为零)指示应编辑image的位置。 必须是有效的 PNG 文件,小于 4MB,并且具有与image相同的尺寸。
prompt string 是 所需图像的文本描述。最大长度为 1000 个字符。
n integer 否 1 要生成的图像数。必须介于 1 和 10 之间。
size string 否 1 生成图像的大小。必须是256x256 512x512 1024x1024 之一
response_format string url 生成的图像返回的格式。必须是 或url b64_json之一
user string 代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。 了解更多 (opens new window)。

请求示例

curl https://api.openai.com/v1/images/edits \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F image="@otter.png" \
  -F mask="@mask.png" \
  -F prompt="A cute baby sea otter wearing a beret" \
  -F n=2 \
  -F size="1024x1024"
1
2
3
4
5
6
7

响应

{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11

# 创建图像变体 (Create image variation) Beta

POST https://api.openai.com/v1/images/variations
1

创建给定图像的变体。

请求体

image string 是 用作变体基础的图像。必须是有效的 PNG 文件,小于 4MB,并且是方形的。
n integer 否 1 要生成的图像数。必须介于 1 和 10 之间。
size string 否 1024x1024 生成图像的大小。必须是256x256 512x512 1024x1024 之一
response_format string 否 url 生成的图像返回的格式。必须是 或url b64_json之一
user string 否 代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。 了解更多 (opens new window)。

请求示例

curl https://api.openai.com/v1/images/variations \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F image="@otter.png" \
  -F n=2 \
  -F size="1024x1024"
1
2
3
4
5

响应

{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11

# 嵌入 (Embeddings)

获取给定输入的矢量表示,机器学习模型和算法可以轻松使用该表示。

相关指南:嵌入 (opens new window)

# 创建嵌入 (Create embeddings)

POST https://api.openai.com/v1/embeddings
1

创建表示输入文本的嵌入向量。

请求体

参数名 类型 是否必输 默认值 描述
model string 是 要使用的模型的 ID。您可以使用List models (opens new window) API 来查看所有可用模型,或查看我们的模型概述 (opens new window)以了解它们的描述。
input string or array 是 1 输入文本以获取嵌入,编码为字符串或token数组。要在单个请求中获取多个输入的嵌入,请传递一个字符串数组或令牌数组数组。每个输入的长度不得超过 8192 个token。
user string 否 1024x1024 代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。了解更多 (opens new window)。

请求示例

curl https://api.openai.com/v1/embeddings \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "The food was delicious and the waiter...",
    "model": "text-embedding-ada-002"
  }'
1
2
3
4
5
6
7

参数

{
  "model": "text-embedding-ada-002",
  "input": "The food was delicious and the waiter..."
}
1
2
3
4

响应

{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [
        0.0023064255,
        -0.009327292,
        .... (1536 floats total for ada-002)
        -0.0028842222,
      ],
      "index": 0
    }
  ],
  "model": "text-embedding-ada-002",
  "usage": {
    "prompt_tokens": 8,
    "total_tokens": 8
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 音频(Audio)

了解如何将音频转换为文本。

相关指南:语音转文本 (opens new window)

# 创建转录 (Create transcription) Beta

POST https://api.openai.com/v1/audio/transcriptions
1

将音频转录为输入语言。

请求体

参数名 类型 是否必输 默认值 描述
file string 是 要转录的音频文件,采用以下格式之一:mp3、mp4、mpeg、mpga、m4a、wav 或 webm。
model string 是 要使用的模型的 ID。仅whisper-1当前可用。
prompt string 否 1024x1024 可选文本,用于指导模型的风格或继续之前的音频片段。提示应与音频语言相匹配。
response_format string 否 json 转录输出的格式,采用以下选项之一:json、text、srt、verbose_json 或 vtt。
temperature number 否 0 采样温度,介于 0 和 1 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使输出更加集中和确定。如果设置为 0,模型将使用对数概率 (opens new window)自动升高温度,直到达到特定阈值。
language string 否 输入音频的语言。以ISO-639-1 (opens new window)格式提供输入语言将提高准确性和延迟。

请求示例

curl https://api.openai.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F file="@/path/to/file/audio.mp3" \
  -F model="whisper-1"
1
2
3
4
5

参数

{
  "file": "audio.mp3",
  "model": "whisper-1"
}
1
2
3
4

响应

{
  "text": "Imagine the wildest idea that you've ever had, and you're curious about how it might scale to something that's a 100, a 1,000 times bigger. This is a place where you can get to do that."
}
1
2
3

# 创建翻译 (Create transcription) Beta

POST https://api.openai.com/v1/audio/translations
1

将音频翻译成英文。

参数名 类型 是否必输 默认值 描述
file string 是 要翻译的音频文件,采用以下格式之一:mp3、mp4、mpeg、mpga、m4a、wav 或 webm。
model string 是 要使用的模型的 ID。仅whisper-1当前可用。
prompt string 否 1024x1024 可选文本,用于指导模型的风格或继续之前的音频片段。提示应为英文
response_format string 否 json 转录输出的格式,采用以下选项之一:json、text、srt、verbose_json 或 vtt。
temperature number 否 0 采样温度,介于 0 和 1 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使输出更加集中和确定。如果设置为 0,模型将使用对数概率 (opens new window)自动升高温度,直到达到特定阈值。

请求示例

curl https://api.openai.com/v1/audio/translations \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F file="@/path/to/file/german.m4a" \
  -F model="whisper-1"
1
2
3
4
5

参数

{
  "file": "german.m4a",
  "model": "whisper-1"
}
1
2
3
4

响应

{
  "text": "Hello, my name is Wolfgang and I come from Germany. Where are you heading today?"
}
1
2
3

# 文件 (Files)

文件用于上传可与微调等 (opens new window)功能一起使用的文档。

# 文件列表 (List files)

GET https://api.openai.com/v1/files
1

返回属于用户组织的文件列表。

请求示例

curl https://api.openai.com/v1/files \
  -H "Authorization: Bearer $OPENAI_API_KEY"
1
2

响应

{
  "data": [
    {
      "id": "file-ccdDZrC3iZVNiQVeEA6Z66wf",
      "object": "file",
      "bytes": 175,
      "created_at": 1613677385,
      "filename": "train.jsonl",
      "purpose": "search"
    },
    {
      "id": "file-XjGxS3KTG0uNmNOK362iJua3",
      "object": "file",
      "bytes": 140,
      "created_at": 1613779121,
      "filename": "puppy.jsonl",
      "purpose": "search"
    }
  ],
  "object": "list"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

# 上传文件 (Upload file)

POST https://api.openai.com/v1/files
1

上传包含要跨各种端点/功能使用的文档的文件。目前,一个组织上传的所有文件的大小最大可达 1 GB。如果您需要增加存储限制,请联系我们。

请求体

参数名 类型 是否必输 默认值 描述
file string 是 要上传的JSON 行 (opens new window)文件的名称。 如果purpose设置为“fine-tune”,则每一行都是一个 JSON 记录,其中包含代表您的训练示例 (opens new window)的“prompt”和“completion”字段。
purpose string 是 上传文件的预期目的。 使用“fine-tune”进行微调 (opens new window)。这使我们能够验证上传文件的格式。

请求示例

curl https://api.openai.com/v1/files \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F purpose="fine-tune" \
  -F file="@mydata.jsonl"
1
2
3
4

响应

{
  "id": "file-XjGxS3KTG0uNmNOK362iJua3",
  "object": "file",
  "bytes": 140,
  "created_at": 1613779121,
  "filename": "mydata.jsonl",
  "purpose": "fine-tune"
}
1
2
3
4
5
6
7
8

# 删除文件 (Delete file)

DELETE https://api.openai.com/v1/files/{file_id}
1

删除文件。

路径参数

参数名 类型 是否必输 描述
file_id string 是 用于此请求的文件的 ID

请求示例

curl https://api.openai.com/v1/files/file-XjGxS3KTG0uNmNOK362iJua3 \
  -X DELETE \
  -H "Authorization: Bearer $OPENAI_API_KEY"
1
2
3

响应

{
  "id": "file-XjGxS3KTG0uNmNOK362iJua3",
  "object": "file",
  "deleted": true
}
1
2
3
4
5

# 检索文件 (Retrieve file)

GET https://api.openai.com/v1/files/{file_id}
1

返回有关特定文件的信息。

路径参数

参数名 类型 是否必输 描述
file_id string 是 用于此请求的文件的 ID

请求示例

curl https://api.openai.com/v1/files/file-XjGxS3KTG0uNmNOK362iJua3 \
  -H "Authorization: Bearer $OPENAI_API_KEY"
1
2

响应

{
  "id": "file-XjGxS3KTG0uNmNOK362iJua3",
  "object": "file",
  "bytes": 140,
  "created_at": 1613779657,
  "filename": "mydata.jsonl",
  "purpose": "fine-tune"
}
1
2
3
4
5
6
7
8

# 检索文件内容 (Retrieve file content)

GET https://api.openai.com/v1/files/{file_id}/content
1

返回指定文件的内容

路径参数

参数名 类型 是否必输 描述
file_id string 是 用于此请求的文件的 ID

请求示例

curl https://api.openai.com/v1/files/file-XjGxS3KTG0uNmNOK362iJua3/content \
  -H "Authorization: Bearer $OPENAI_API_KEY" > file.jsonl
1
2

# 微调 (Fine-tunes)

管理微调作业以根据您的特定训练数据定制模型。

相关指南:微调模型 (opens new window)

# 创建微调 (Create fine-tune)

POST https://api.openai.com/v1/fine-tunes
1

创建一个从给定数据集微调指定模型的作业。

响应包括排队作业的详细信息,包括作业状态和完成后微调模型的名称。

了解有关微调的更多信息 (opens new window)

请求体

参数名 类型 是否必输 默认值 描述
training_file string 是 包含训练数据的上传文件的 ID。 有关如何上传文件,请参阅上传文件 (opens new window) 您的数据集必须格式化为 JSONL 文件,其中每个训练示例都是一个带有键“prompt”和“completion”的 JSON 对象。此外,您上传文件时purpose 参数必须为fine-tune。 有关详细信息,请参阅微调指南 (opens new window)
validation_file string 否 包含验证数据的上传文件的 ID。 如果您提供此文件,该数据将用于在微调期间定期生成验证指标。这些指标可以在微调结果文件 (opens new window)中查看。您的训练和验证数据应该是互斥的。 您的数据集必须格式化为 JSONL 文件,其中每个训练示例都是一个带有键“prompt”和“completion”的 JSON 对象。此外,您上传文件时purpose 参数必须为fine-tune。 有关详细信息,请参阅微调指南 (opens new window)
model string 否 curie 要微调的基本模型的名称。您可以选择“ada”、“babbage”、“curie”、“davinci”或 2022-04-21 之后创建的微调模型之一。要了解有关这些模型的更多信息,请参阅 模型 (opens new window)文档。
n_epochs integer 否 4 训练模型的时期数。一个时期指的是训练数据集的一个完整周期。
batch_size integer 否 null 用于训练的批量大小。批量大小是用于训练单个前向和后向传递的训练示例数。 默认情况下,批量大小将动态配置为训练集中示例数量的 0.2%,上限为 256 - 通常,我们发现较大的批量大小往往更适合较大的数据集。
learning_rate_multiplier number 否 null 用于训练的学习率乘数。微调学习率是用于预训练的原始学习率乘以该值。 默认情况下,学习率乘数是 0.05、0.1 或 0.2,具体取决于batch_size(较大的学习率往往在较大的批量大小下表现更好)。我们建议使用 0.02 到 0.2 范围内的值进行试验,以查看产生最佳结果的值。
prompt_loss_weight number 否 0.01 用于提示token损失的权重。这控制了模型尝试学习生成提示的程度(与权重始终为 1.0 的完成相比),并且可以在完成(completions) 较短时为训练增加稳定效果。 如果提示非常长(相对于完成),则减少此权重以避免过度优先学习提示可能是有意义的。
compute_classification_metrics boolean 否 false 如果设置,我们将在每个时期结束时使用验证集计算特定于分类的指标,例如准确性和 F-1 分数。可以在结果文件 (opens new window)中查看这些指标。 为了计算分类指标,您必须提供一个 validation_file. 此外,您必须指定classification_n_classes多类分类或 classification_positive_class二元分类。
classification_n_classes integer 否 null 分类任务中的类数。 多类分类需要此参数。
classification_positive_class string 否 null 二元分类中的正类。 在进行二元分类时,需要此参数来生成精度、召回率和 F1 指标。
classification_betas array 否 null 如果提供,我们将计算指定 beta 值的 F-beta 分数。F-beta 分数是 F-1 分数的推广。这仅用于二元分类。 当 beta 为 1(即 F-1 分数)时,精确率和召回率被赋予相同的权重。Beta 分数越大,召回率越高,精确率越低。Beta 分数越小,精确度越重要,召回率越低。
suffix string 否 null 最多 40 个字符的字符串,将添加到您的微调模型名称中。 例如,suffix为“custom-model-name”的,生成名字类似这样ada:ft-your-org:custom-model-name-2022-02-15-04-21-04

请求示例

curl https://api.openai.com/v1/fine-tunes \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "training_file": "file-XGinujblHPwGLSztz8cPS8XY"
  }'
1
2
3
4
5
6

响应

{
  "id": "ft-AF1WoRqd3aJAHsqc9NY7iL8F",
  "object": "fine-tune",
  "model": "curie",
  "created_at": 1614807352,
  "events": [
    {
      "object": "fine-tune-event",
      "created_at": 1614807352,
      "level": "info",
      "message": "Job enqueued. Waiting for jobs ahead to complete. Queue number: 0."
    }
  ],
  "fine_tuned_model": null,
  "hyperparams": {
    "batch_size": 4,
    "learning_rate_multiplier": 0.1,
    "n_epochs": 4,
    "prompt_loss_weight": 0.1,
  },
  "organization_id": "org-...",
  "result_files": [],
  "status": "pending",
  "validation_files": [],
  "training_files": [
    {
      "id": "file-XGinujblHPwGLSztz8cPS8XY",
      "object": "file",
      "bytes": 1547276,
      "created_at": 1610062281,
      "filename": "my-data-train.jsonl",
      "purpose": "fine-tune-train"
    }
  ],
  "updated_at": 1614807352,
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

# 微调列表 (List fine-tunes)

GET https://api.openai.com/v1/fine-tunes
1

列出您的组织的微调作业

请求示例

curl https://api.openai.com/v1/fine-tunes \
  -H "Authorization: Bearer $OPENAI_API_KEY"
1
2

响应

{
  "object": "list",
  "data": [
    {
      "id": "ft-AF1WoRqd3aJAHsqc9NY7iL8F",
      "object": "fine-tune",
      "model": "curie",
      "created_at": 1614807352,
      "fine_tuned_model": null,
      "hyperparams": { ... },
      "organization_id": "org-...",
      "result_files": [],
      "status": "pending",
      "validation_files": [],
      "training_files": [ { ... } ],
      "updated_at": 1614807352,
    },
    { ... },
    { ... }
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

# 微调检索 (Retrieve fine-tune)

GET https://api.openai.com/v1/fine-tunes/{fine_tune_id}
1

获取有关微调作业的信息。

了解有关微调的更多信息 (opens new window)

路径参数

参数名 类型 是否必输 描述
fine_tune_id string 是 微调作业的ID

请求示例

curl https://api.openai.com/v1/fine-tunes/ft-AF1WoRqd3aJAHsqc9NY7iL8F \
  -H "Authorization: Bearer $OPENAI_API_KEY"
1
2

响应

{
  "id": "ft-AF1WoRqd3aJAHsqc9NY7iL8F",
  "object": "fine-tune",
  "model": "curie",
  "created_at": 1614807352,
  "events": [
    {
      "object": "fine-tune-event",
      "created_at": 1614807352,
      "level": "info",
      "message": "Job enqueued. Waiting for jobs ahead to complete. Queue number: 0."
    },
    {
      "object": "fine-tune-event",
      "created_at": 1614807356,
      "level": "info",
      "message": "Job started."
    },
    {
      "object": "fine-tune-event",
      "created_at": 1614807861,
      "level": "info",
      "message": "Uploaded snapshot: curie:ft-acmeco-2021-03-03-21-44-20."
    },
    {
      "object": "fine-tune-event",
      "created_at": 1614807864,
      "level": "info",
      "message": "Uploaded result files: file-QQm6ZpqdNwAaVC3aSz5sWwLT."
    },
    {
      "object": "fine-tune-event",
      "created_at": 1614807864,
      "level": "info",
      "message": "Job succeeded."
    }
  ],
  "fine_tuned_model": "curie:ft-acmeco-2021-03-03-21-44-20",
  "hyperparams": {
    "batch_size": 4,
    "learning_rate_multiplier": 0.1,
    "n_epochs": 4,
    "prompt_loss_weight": 0.1,
  },
  "organization_id": "org-...",
  "result_files": [
    {
      "id": "file-QQm6ZpqdNwAaVC3aSz5sWwLT",
      "object": "file",
      "bytes": 81509,
      "created_at": 1614807863,
      "filename": "compiled_results.csv",
      "purpose": "fine-tune-results"
    }
  ],
  "status": "succeeded",
  "validation_files": [],
  "training_files": [
    {
      "id": "file-XGinujblHPwGLSztz8cPS8XY",
      "object": "file",
      "bytes": 1547276,
      "created_at": 1610062281,
      "filename": "my-data-train.jsonl",
      "purpose": "fine-tune-train"
    }
  ],
  "updated_at": 1614807865,
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69

# 取消微调 (Cancel fine-tune)

POST https://api.openai.com/v1/fine-tunes/{fine_tune_id}/cancel
1

立即取消微调作业

路径参数

参数名 类型 是否必输 描述
fine_tune_id string 是 要取消的微调作业的 ID

请求示例

curl https://api.openai.com/v1/fine-tunes/ft-AF1WoRqd3aJAHsqc9NY7iL8F/cancel \
  -H "Authorization: Bearer $OPENAI_API_KEY"
1
2

响应

{
  "id": "ft-xhrpBbvVUzYGo8oUO1FY4nI7",
  "object": "fine-tune",
  "model": "curie",
  "created_at": 1614807770,
  "events": [ { ... } ],
  "fine_tuned_model": null,
  "hyperparams": { ... },
  "organization_id": "org-...",
  "result_files": [],
  "status": "cancelled",
  "validation_files": [],
  "training_files": [
    {
      "id": "file-XGinujblHPwGLSztz8cPS8XY",
      "object": "file",
      "bytes": 1547276,
      "created_at": 1610062281,
      "filename": "my-data-train.jsonl",
      "purpose": "fine-tune-train"
    }
  ],
  "updated_at": 1614807789,
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# 列出微调事件 (List fine-tune events)

GET https://api.openai.com/v1/fine-tunes/{fine_tune_id}/events
1

获取微调作业细粒度的状态更新

路径参数

参数名 类型 是否必输 描述
fine_tune_id string 是 要为其获取事件的微调作业的 ID。

查询参数

参数名 类型 是否必输 默认值 描述
stream boolean false 是否为微调作业流式传输事件。 如果设置为 true,事件将在可用时作为纯数据服务器发送事件发送。当作业完成(成功、取消或失败)时,流将会伴随着data: [DONE]消息终止。 如果设置为 false,则只返回到目前为止生成的事件。

请求示例

curl https://api.openai.com/v1/fine-tunes/ft-AF1WoRqd3aJAHsqc9NY7iL8F/events \
  -H "Authorization: Bearer $OPENAI_API_KEY"
1
2

响应

{
  "object": "list",
  "data": [
    {
      "object": "fine-tune-event",
      "created_at": 1614807352,
      "level": "info",
      "message": "Job enqueued. Waiting for jobs ahead to complete. Queue number: 0."
    },
    {
      "object": "fine-tune-event",
      "created_at": 1614807356,
      "level": "info",
      "message": "Job started."
    },
    {
      "object": "fine-tune-event",
      "created_at": 1614807861,
      "level": "info",
      "message": "Uploaded snapshot: curie:ft-acmeco-2021-03-03-21-44-20."
    },
    {
      "object": "fine-tune-event",
      "created_at": 1614807864,
      "level": "info",
      "message": "Uploaded result files: file-QQm6ZpqdNwAaVC3aSz5sWwLT."
    },
    {
      "object": "fine-tune-event",
      "created_at": 1614807864,
      "level": "info",
      "message": "Job succeeded."
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

# 删除微调模型 (Delete fine-tune model)

DELETE https://api.openai.com/v1/models/{model}
1

删除微调模型。您必须在您的组织中拥有所有者角色。

路径参数

参数名 类型 是否必输 描述
model string 是 要删除的模型

请求示例

curl https://api.openai.com/v1/models/curie:ft-acmeco-2021-03-03-21-44-20 \
  -X DELETE \
  -H "Authorization: Bearer $OPENAI_API_KEY"
1
2
3

响应

{
  "id": "curie:ft-acmeco-2021-03-03-21-44-20",
  "object": "model",
  "deleted": true
}
1
2
3
4
5

# 适度 (Moderations)

给定输入文本,如果模型将其分类为违反 OpenAI 的内容策略,则输出。

相关指南:适度 (opens new window)

# 创建适度 (Create moderation)

POST https://api.openai.com/v1/moderations
1

分类文本是否违反 OpenAI 的内容政策

请求体

参数名 类型 是否必输 默认值 描述
input sstring 或 array 是 要分类的输入文本
model string 否 text-moderation-latest 有两种内容审核模型可用:text-moderation-stable和text-moderation-latest 默认情况下text-moderation-latest会随着时间的推移自动升级。这可确保您始终使用我们最准确的模型。如果您使用text-moderation-stable,我们将在更新模型之前提供提前通知。text-moderation-stable的准确性略低于text-moderation-latest。

请求示例

curl https://api.openai.com/v1/moderations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "input": "I want to kill them."
  }'
1
2
3
4
5
6

参数

{
  "input": "I want to kill them."
}
1
2
3

分类文本是否违反 OpenAI 的内容政策

响应

{
  "id": "modr-5MWoLO",
  "model": "text-moderation-001",
  "results": [
    {
      "categories": {
        "hate": false,
        "hate/threatening": true,
        "self-harm": false,
        "sexual": false,
        "sexual/minors": false,
        "violence": true,
        "violence/graphic": false
      },
      "category_scores": {
        "hate": 0.22714105248451233,
        "hate/threatening": 0.4132447838783264,
        "self-harm": 0.005232391878962517,
        "sexual": 0.01407341007143259,
        "sexual/minors": 0.0038522258400917053,
        "violence": 0.9223177433013916,
        "violence/graphic": 0.036865197122097015
      },
      "flagged": true
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

categories中各个字段的含义如下

类别 描述
hate 基于种族、性别、民族、宗教、国籍、性取向、残疾状况或种姓表达、煽动或促进仇恨的内容。
hate/threatening 仇恨内容还包括对目标群体的暴力或严重伤害。
self-harm 提倡、鼓励或描述自残行为(例如自杀、割伤和饮食失调)的内容。
sexual 意在引起性兴奋的内容,例如对性活动的描述,或宣传性服务(不包括性教育和健康)的内容。
sexual/minors 包含 18 岁以下个人的色情内容。
violence 宣扬或美化暴力或颂扬他人的痛苦或屈辱的内容。
violence/graphic 以极端的画面细节描绘死亡、暴力或严重身体伤害的暴力内容。

# (Engines)

# (List engines) Deprecated

GET https://api.openai.com/v1/engines
1

# (Retrieve engine) Deprecated

GET https://api.openai.com/v1/engines/{engine_id}
1

# 参数详情 (Parameter details)

# 频率和存在惩罚 (Frequency and presence penalties)

Completions API (opens new window)中发现的频率和存在惩罚可用于降低对令牌重复序列进行采样的可能性。他们通过添加贡献直接修改 logits(非标准化对数概率)来工作。

mu[j] -> mu[j] - c[j] * alpha_frequency - float(c[j] > 0) * alpha_presence
1

在该情况下:

  • mu[j]是第 j 个token的对数
  • c[j]是在当前位置之前对该令牌进行采样的频率
  • 如果c[j] > 0, float(c[j] > 0)为1,否则为 0
  • alpha_frequency是频率惩罚系数
  • alpha_presence是存在惩罚系数

正如我们所见,存在惩罚是一种一次性的加性贡献,适用于所有至少被采样过一次的token,而频率惩罚是与特定token被采样的频率成正比的贡献。

如果目标只是稍微减少重复样本,则惩罚系数的合理值约为 0.1 到 1。如果目标是强烈抑制重复,那么可以将系数增加到 2,但这会显着降低样本质量。负值可用于增加重复的可能性。

openaidoc.kaimingwan.com openai.xiniushu.com

上次更新: 2025/04/03, 11:07:08
ChatGPT API keys 秘钥获取
各种开发语言OpenAI类库

← ChatGPT API keys 秘钥获取 各种开发语言OpenAI类库→

最近更新
01
tailwindcss
03-26
02
PaddleSpeech
02-18
03
whisper
02-18
更多文章>
Theme by Vdoing | Copyright © 2019-2025 跨境互联网 | 豫ICP备14016603号-5 | 豫公网安备41090002410995号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式