OpenAI API

1. ChatGPT

1.1 模型介绍:

DALL·E 可以在给定自然语言提示的情况下生成和编辑图像的模型

Whisper 可以将音频转换为文本的模型,语音转文字

Embeddings 可以将文本转换为数字形式的模型,用于高级搜索、聚类、主题建模和分类功能。

Moderation 一种微调模型,可以检测文本是否敏感或不安全,可以查找以下类别的内容:仇恨、仇恨/威胁、自残、性行为、性行为/未成年人、暴力和暴力/图形。

Fine-tuning 通过使用训练数据微调基本模型,创建自己的自定义模型。

GPT-3 一套能够理解并生成自然语言的模型,已弃用

GPT-3.5 一组在 GPT-3 基础上改进的模型,可以理解并生成自然语言或代码

GPT-4 一组在 GPT-3.5 基础上改进的模型,可以理解并生成自然语言或代码

1.2 价格:按模型和输入输出的内容收费

GPT-4

ModelInputOutput
8K context$0.03 / 1K tokens$0.06 / 1K tokens
32K context$0.06 / 1K tokens$0.12 / 1K tokens

GPT-3.5 Turbo

ModelInputOutput
4K context$0.0015 / 1K tokens$0.002 / 1K tokens
16K context$0.003 / 1K tokens$0.004 / 1K tokens

Embedding

ModelUsage
Ada v2$0.0001 / 1K tokens

DALL·E

ResolutionPrice
1024×1024$0.020 / image
512×512$0.018 / image
256×256$0.016 / image

Whisper

ModelUsage
Whisper$0.006 / minute (四舍五入到最接近的秒)

什么是 tokens
可以把标记看作是用于自然语言处理的单词片段。对于英语文本,1个标记大约是4个字符或0.75个单词。作为参考,莎士比亚的作品集约有90万字,即120万代币。

1.3 收费方式:账号绑定美国信用卡,按月自动扣费

注: 国内办的 VISA卡,Master卡无法使用

1.4 使用限制

速率限制

这些应用于每分钟令牌(TPM)、每分钟请求(RPM)(在某些情况下为每天请求 JOBS PER DAY),或者在图像模型的情况下为每分钟图像(IMG / MIN)。

MODELTPMRPM
CHAT
gpt-3.5-turbo90,0003,500
gpt-3.5-turbo-030190,0003,500
gpt-3.5-turbo-061390,0003,500
gpt-3.5-turbo-16k180,0003,500
gpt-3.5-turbo-16k-0613180,0003,500
gpt-410,000200
gpt-4-031410,000200
gpt-4-061310,000200
TEXT
ada250,0003,000
ada-code-search-code250,0003,000
ada-code-search-text250,0003,000
ada-search-document250,0003,000
ada-search-query250,0003,000
ada-similarity250,0003,000
babbage250,0003,000
babbage-002250,0003,000
babbage-code-search-code250,0003,000
babbage-code-search-text250,0003,000
babbage-search-document250,0003,000
babbage-search-query250,0003,000
babbage-similarity250,0003,000
code-davinci-edit-001150,00020
code-search-ada-code-001250,0003,000
code-search-ada-text-001250,0003,000
code-search-babbage-code-001250,0003,000
code-search-babbage-text-001250,0003,000
curie250,0003,000
curie-instruct-beta250,0003,000
curie-search-document250,0003,000
curie-search-query250,0003,000
curie-similarity250,0003,000
davinci250,0003,000
davinci-002250,0003,000
davinci-instruct-beta250,0003,000
davinci-search-document250,0003,000
davinci-search-query250,0003,000
davinci-similarity250,0003,000
text-ada-001250,0003,000
text-babbage-001250,0003,000
text-curie-001250,0003,000
text-davinci-001250,0003,000
text-davinci-002250,0003,000
text-davinci-003250,0003,000
text-davinci-edit-001150,00020
text-embedding-ada-0021,000,0003,000
text-search-ada-doc-001250,0003,000
text-search-ada-query-001250,0003,000
text-search-babbage-doc-001250,0003,000
text-search-babbage-query-001250,0003,000
text-search-curie-doc-001250,0003,000
text-search-curie-query-001250,0003,000
text-search-davinci-doc-001250,0003,000
text-search-davinci-query-001250,0003,000
text-similarity-ada-001250,0003,000
text-similarity-babbage-001250,0003,000
text-similarity-curie-001250,0003,000
text-similarity-davinci-001250,0003,000
FINE-TUNING
babbage-002250,0003,000
davinci-002250,0003,000
gpt-3.5-turbo-061390,0003,500
FINE-TUNINGJOB CREATION ACTIVE / QUEUED JOBSJOBS PER DAY
Limit per model112
MODERATION
text-moderation-latest 150,0001,000
text-moderation-stable150,0001,000
IMAGEIMG / MIN
DALL·E 250
AUDIO
whisper-125,000,00050
OTHER
Default limits for all other models250,0003,000

tokens 限制

GPT-4

LATEST MODELMAX TOKENSTRAINING DATA
gpt-48,192 tokensSep 2021
gpt-4-06138,192 tokensSep 2021
gpt-4-32k32,768 tokensSep 2021
gpt-4-32k-061332,768 tokensSep 2021
gpt-4-0314 (Legacy)8,192 tokensSep 2021
gpt-4-32k-0314 (Legacy)32,768 tokensSep 2021

GPT-3.5

LATEST MODELMAX TOKENSTRAINING DATA
gpt-3.5-turbo4,097 tokensSep 2021
gpt-3.5-turbo-16k16,385 tokensSep 2021
gpt-3.5-turbo-06134,097 tokensSep 2021
gpt-3.5-turbo-16k-061316,385 tokensSep 2021
gpt-3.5-turbo-0301 (Legacy)4,097 tokensSep 2021
text-davinci-003 (Legacy)4,097 tokensJun 2021
text-davinci-002 (Legacy)4,097 tokensJun 2021
code-davinci-002 (Legacy)8,001 tokensJun 2021

1.5 API

url: https://api.openai.com

端点可选择的模型

ENDPOINTMODEL NAME
/v1/audio/transcriptionswhisper-1
/v1/audio/translationswhisper-1
/v1/chat/completionsgpt-4, gpt-4-0613, gpt-4-32k, gpt-4-32k-0613, gpt-3.5-turbo, gpt-3.5-turbo-0613, gpt-3.5-turbo-16k, gpt-3.5-turbo-16k-0613
/v1/completions (Legacy)text-davinci-003, text-davinci-002, text-davinci-001, text-curie-001, text-babbage-001, text-ada-001, davinci, curie, babbage, ada
/v1/embeddingstext-embedding-ada-002, text-similarity--001, text-search---001, code-search--*-001
/v1/fine_tuning/jobsgpt-3.5-turbo, babbage-002, davinci-002
/v1/fine-tunesdavinci, curie, babbage, ada
/v1/moderationstext-moderation-stable, text-moderation-latest

授权

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

Authorization: Bearer OPENAI_API_KEY

Audio

POST
https://api.openai.com/v1/audio/transcriptions
//将音频转录为输入语言。

POST
https://api.openai.com/v1/audio/translations
//将音频翻译成英语。

Request body

  • file 二进制文件 必填
    要转录的音频文件对象(而不是文件名),格式如下:flac、mp3、mp4、mpeg、mpga、m4a、ogg、wav或webm。

  • model string 必填
    要使用的模型。目前只有whisper-1可用。

  • prompt string 可选
    可选文本,用于指导模型的风格或继续上一个音频片段。提示应与音频语言相匹配。

  • response_format string 可选 默认json
    输出的格式,在以下选项之一中:json, text, srt, verbose_json, vtt.

  • temperature number 可选 默认 0
    采样温度,介于0和1之间。值越高(如0.8),输出越随机,而值越低(如0.2),输出就越集中和确定。如果设置为0,模型将使用对数概率自动提高温度,直到达到特定阈值。

  • language string 可选
    输入音频的语言。提供ISO-639-1格式的输入语言将提高准确性和延迟。
    Chinese zh
    English en
    French fr
    German de
    Italian it
    Japanese ja
    Korean ko
    Russian ru
    Spanish, Castilian es

Chat

POST
https://api.openai.com/v1/chat/completions
//为给定的聊天会话创建一个模型响应。参阅端点可选择的模型。

Request body

  • model string 必填
    要使用的模型。可选择gpt-3.5-turbo-16k,gpt-3.5-turbo 等,

  • messages array 必填
    到目前为止,包含对话的消息列表。

    • role string 必填
      消息的角色。system, user, assistant, function 其中之一

    • content string or null 必填
      消息的内容。

    • name string 可选
      如果角色是 function ,则 name 是必需的,并且它应该是其响应在内容中的函数的名称。可以包含a-z、A-z、0-9和下划线,最大长度为64个字符。

    • function_call object 可选
      应调用的函数的名称和参数,由模型生成。

user: 代表用户发的消息,即用户的提问或者指令
assistant: 就是GPT,需要将GPT上一次的回复或者反馈加入到messages中
system: 设置chatgpt的角色。系统消息的目的是给 assistant 提供进一步的指导或者指示,从而让assistant 作出更好的响应。
function: 函数调用结果

  • functions array 可选
    模型可以为其生成JSON输入的函数列表。当前应用可调用的函数的列表。函数信息中包含了函数的名称、自然语言描述、以及函数所支持传入的参数信息。

    • name string 必填
      函数名称。后续模型会在需要调用函数时返回此名称。必须是a-z、A-Z、0-9,或包含下划线和短划线,最大长度为64。

    • description string 可选
      函数功能描述。模型通过该描述理解函数能力,并判断是否需要调用该函数。

    • parameters object 必填
      函数所需的参数。以对象的形式描述函数所需的参数,其中对象的 key 即为参数名。

functions=[{"name": "get_current_weather", "description": "Get the current weather in a given location", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA"}, "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}, }, "required": ["location"] } } ]

  • function_call string or undefined 可选
    控制模型应该如何响应函数调换。支持几种输入:

    • “none”:模型不调用函数,直接返回内容。没有提供可调用函数时的默认值。
    • “auto”:模型根据用户输入自行决定是否调用函数以及调用哪个函数。提供可调用函数时的默认值。
    • {“name”: “function_name”}:强制模型调用指定的函数。
  • temperature number or null 可选 默认 1
    使用什么样的采样温度,介于0和2之间。值越高(如0.8),输出越随机,而值越低(如0.2),输出就越集中和确定。

  • top_p number or null 可选 默认 1
    一种替代温度采样的方法,称为核采样,其中模型考虑具有 top_p 概率质量的令牌的结果。因此,0.1 意味着只考虑包含前 10%概率质量的代币。

改变 temperature 或 top_p ,但不能同时改变。

  • n integer or null 可选 默认 1
    为每条输入消息生成多少聊天完成选项。

  • stream boolean or null 可选 默认 false
    如果设置了,将发送部分消息增量,就像在ChatGPT中一样逐字返回结果。流由 data:[DONE] 消息终止。

  • stop string / array / null 可选 默认 null
    最多4个序列,API将停止生成更多令牌。

  • max_tokens integer 可选 默认 inf
    聊天输出时生成的最大令牌数。
    输入令牌和生成令牌的总长度受模型上下文长度的限制。

  • presence_penalty number or null 可选 默认 0
    介于-2.0和2.0之间的数字。正值会根据到目前为止新标记是否出现在文本中来惩罚它们,从而增加模型谈论新主题的可能性。

  • frequency_penalty number or null 可选 默认 0
    介于-2.0和2.0之间的数字。到目前为止,正值会根据新标记在文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性。

  • logit_bias map 可选 默认 null
    修改指定令牌出现在输出中的可能性。
    接受一个json对象,该对象将令牌(由令牌生成器中的令牌ID指定)映射到从-100到100的相关偏差值。从数学上讲,在采样之前,将偏差添加到模型生成的logits中。每个模型的确切效果会有所不同,但-1到1之间的值应该会降低或增加选择的可能性;像-100或100这样的值应该导致相关令牌的禁止或独占选择。

  • user string 可选
    代表最终用户的唯一标识符,可以帮助OpenAI监控和检测滥用。

Images

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

POST
 https://api.openai.com/v1/images/generations
 //在给定提示的情况下创建图像。

Request body

  • prompt string 必填
    所需图像的文本描述。最大长度为1000个字符。

  • n integer or null 可选 默认 1
    要生成的图像数。必须介于1和10之间。

  • size string or null 可选 默认 1024x1024
    生成的图像的大小。必须是256x256、512x512或1024x1024中的一个。

  • response_format string or null 可选 默认 url
    返回生成图像的格式。必须是 ur l或 b64_json 之一。

  • user string 可选
    代表最终用户的唯一标识符,可以帮助OpenAI监控和检测滥用。

POST
https://api.openai.com/v1/images/edits
//在给定原始图像和提示的情况下创建经过编辑或扩展的图像。

Request body

  • image string 必填
    要编辑的图像。必须是有效的 PNG文件,小于4MB,并且为方形。若不提供遮罩,图像必须具有透明度,透明度将用作遮罩。

  • mask string 可选
    一个附加图像,其完全透明的区域(例如,alpha为零的区域)指示应在何处编辑图像。必须是有效的 PNG文件,小于4MB,并且具有与图像相同的尺寸。

  • prompt string 必填
    所需图像的文本描述。最大长度为1000个字符。

  • n integer or null 可选 默认 1
    要生成的图像数。必须介于1和10之间。

  • size string or null 可选 默认 1024x1024
    生成的图像的大小。必须是256x256、512x512或1024x1024中的一个。

  • response_format string or null 可选 默认 url
    返回生成图像的格式。必须是 url 或 b64_json 之一。

  • user string 可选
    代表最终用户的唯一标识符,可以帮助OpenAI监控和检测滥用。

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

//创建给定图像的变体。

Request body

  • image string 必填
    要用作变体基础的图像。必须是有效的 PNG文件,小于4MB,并且为方形。

  • n integer or null 可选 默认 1
    要生成的图像数。必须介于1和10之间。

  • size string or null 可选 默认 1024x1024
    生成的图像的大小。必须是256x256、512x512或1024x1024中的一个。

  • response_format string or null 可选 默认 url
    返回生成图像的格式。必须是 url 或 b64_json 之一。

  • user string 可选
    代表最终用户的唯一标识符,可以帮助OpenAI监控和检测滥用。

1.6 函数调用(Function Calling)

OpenAI 在 Chat Completions API 中添加了新的函数调用(Function Calling)能力,帮助开发者通过 API 方式实现类似于 ChatGPT 插件的数据交互能力。这个功能允许开发者描述函数给AI模型,然后模型可以智能地决定输出一个包含调用这些函数的参数的 JSON 对象。

根据模型返回的函数和函数参数,在本地完成函数计算,然后再将计算过程和结果保存为 message 并追加到messages 后面,并第二次调用 Chat Completion 模型分析函数的计算结果,并最终根据函数计算结果输出用户问题的答案。

  • 在请求参数中向聊天 API 传递信息,描述应用所提供的可调用函数的信息。(functions)

  • 解析聊天 API 响应的消息类型,若模型决定需要调用函数,则根据模型返回的函数信息和函数传参调用函数,并获得返回结果。

  • 根据模型返回的函数和函数参数,在本地完成函数计算

  • 将函数返回的结果添加到消息列表中,并再次调用聊天 API。(function)
    注意:向消息列表中追加函数调用响应消息前,还需要首先将上一步模型返回的消息追加到消息列表中,以保证消息列表中的上下文完整。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值