【接口调试】AbortController
发出请求
可以将以下命令粘贴到终端中以运行第一个API请求。
请确保用您的秘密API密钥替换$OPENAI_API_KEY。
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
}'
此请求查询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
}
]
}
现在您已经生成了第一个聊天完成。
我们可以看到finish_reason
是stop
,这意味着API返回了模型生成的完整完成。
在上面的请求中,我们只生成了一条消息,但您可以将n参数设置为生成多个消息选项。
在此示例中,gpt-3.5-turbo
被用于更传统的文本完成任务。
该模型也针对聊天应用进行了优化。
finish_reason
在官方文档中,finish_reason
字段被用来指示 API 响应完成的原因。
以下是 finish_reason 可能的值以及它们的含义:
- stop :表示
API
返回了完整的模型输出。这意味着生成过程已经按照预期完成了。 - length :表示由于达到了
max_tokens
参数设定的最大长度或模型自身的限制,导致生成过程提前结束。 - content_filter:表示生成的内容触发了内容过滤器,因此部分内容被省略。
- null :表示
API
响应仍在进行中或不完整。