接口文档:ChatGPT(聊天版)
概述
ChatGPT是OpenAI的一款自然语言处理模型,旨在通过对话进行多轮问答和交互。ChatGPT使用了深度学习技术,可以接受文本输入,并生成相应的文本响应。
基本信息
- 模型名称:ChatGPT
- 模型版本:1.0
- 接口版本:1.0
请求URL
https://api.openai.com/v1/chat/completions
请求方法
POST
请求参数
model
:(必填)模型名称,此处为”chatgpt”messages
:(必填)一个数组,包含一系列对话消息对象。每个消息对象都有一个role
和content
字段。role
可以是”system”(系统角色)或”user”(用户角色)。content
为消息的文本内容。max_tokens
:(可选)生成的响应文本的最大长度(以token为单位)。默认为50
。temperature
:(可选)控制生成文本的随机性。值越高,生成文本越随机。默认为0.7
。top_p
:(可选)使用nucleus sampling时的概率阈值。较大的值会产生更多的选择,较小的值会产生更确定的选择。默认为1.0
。n
:(可选)生成多个响应的数量。默认为1
。
示例请求
import requests
import json
url = "https://api.openai.com/v1/chat/completions"
payload = {
"model": "chatgpt",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who won the world series in 2020?"}
],
"max_tokens": 100
}
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
响应参数
id
:请求的唯一标识符object
:固定为”chat.completion”created
:请求创建的时间戳model
:模型名称usage
:API使用统计信息choices
:一个数组,包含生成的响应文本。每个响应文本对象都有一个message
字段,表示生成的文本内容。
示例响应
{
"id": "chatcmpl-6p9XYPYSTTRi0xEviKjjilqrWU2Ve",
"object": "chat.completion",
"created": 1677649420,
"model": "chatgpt",
"usage": {
"prompt_tokens": 56,
"completion_tokens": 31,
"total_tokens": 87
},
"choices": [
{
"message": {
"role": "assistant",
"content": "The Los Angeles Dodgers won the World Series in 2020."
}
}
]
}
错误处理
400 Bad Request
:请求参数缺失或无效。401 Unauthorized
:API密钥无效。403 Forbidden
:API密钥不具备访问所请求资源的权限。404 Not Found
:请求的URL无效。429 Too Many Requests
:请求频率过高,达到了API的限制。500 Internal Server Error
:服务器内部错误。
限制和注意事项
- 单个API请求的token数不得超过4096。
- 每个模型调用的时间上限为5秒。
temperature
和top_p
参数的值会影响生成的文本质量和随机性。可以根据需要进行调整。- 注意在对话中使用
role
字段来指定消息的角色,以便模型在生成响应时识别角色。系统角色可以用于发送指令或提供上下文信息。 - 建议使用独立的系统角色来提供上下文信息,而不是将上下文信息与用户消息混合在一起。
最后更新:2022年10月
接口文档:ChatGPT API
ChatGPT API是一个自然语言处理接口,用于与ChatGPT模型进行对话。
基本信息:
- Base URL: https://api.openai.com/v1/chat/completions
- 认证: 使用Bearer Token进行认证
请求参数:
- model (必需): ChatGPT模型的名称。例如:”gpt-3.5-turbo”
- messages (必需): 包含对话历史和用户输入的数组。每个消息都有一个角色(”system”、”user”或”assistant”)和内容(文本)。
- max_tokens (可选): 指定API返回的最大令牌数。默认为50。
- temperature (可选): 控制生成文本的多样性。较高的值会增加随机性,较低的值会增加确定性。默认值为0.6。
- top_p (可选): 一个0到1之间的值,表示在多项式采样中从概率最高的令牌中选择的概率质量。默认为1.0。
- n (可选): 指定API返回的候选完整对话的数量。默认为1。
- stop (可选): 一个字符串或数组,表示API在生成文本时应该停止的条件。默认为null。
响应:
API会返回一个包含生成的文本的JSON对象。响应对象的choices
属性是一个数组,每个元素包含message
和finish_reason
字段。message
字段包含模型的响应文本,finish_reason
字段指示对话是否已经完成。
示例请求:
POST /v1/chat/completions
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"model": "gpt-3.5-turbo",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who won the world series in 2020?"},
{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
{"role": "user", "content": "Where was it played?"}
]
}
示例响应:
{
"id": "chatcmpl-6p9XYPYSTTRi0xEviKjjilqrWU2Ve",
"object": "chat.completion",
"created": 1677649420,
"model": "gpt-3.5-turbo",
"usage": {"prompt_tokens": 56, "completion_tokens": 31, "total_tokens": 87},
"choices": [
{
"message": {
"role": "assistant",
"content": "The 2020 World Series was played in Arlington, Texas at the Globe Life Field, which was the new home stadium for the Texas Rangers."
},
"finish_reason": "stop"
}
]
}
错误处理:
- 如果请求中的参数无效或缺失,API将返回一个400 Bad Request的错误响应。
- 如果模型名称无效,API将返回一个404 Not Found的错误响应。
- 如果请求超出了API的限制,例如超出了请求的最大令牌数,API将返回一个429 Too Many Requests的错误响应。
更多信息:
请参考OpenAI官方文档了解更多关于ChatGPT API的详细信息。
chatgpt写接口文档 发布者:luotuoemo,转转请注明出处:https://www.chatairc.com/31350/