OpenAI API 几乎可以应用于任何涉及理解或生成自然语言或代码的任务。我们提供一系列具有不同功率级别的模型,适用于不同的任务,并且能够微调您自己的自定义模型。这些模型可用于从内容生成到语义搜索和分类的所有领域。
OpenAI API 使用 API 密钥进行身份验证。访问您的API 密钥页面以检索您将在请求中使用的 API 密钥。
请记住,您的 API 密钥是秘密的!不要与他人共享或在任何客户端代码(浏览器、应用程序)中公开它。生产请求必须通过您自己的后端服务器进行路由,您的 API 密钥可以从环境变量或密钥管理服务中安全加载。
所有 API 请求都应在AuthorizationHTTP 标头中包含您的 API 密钥,如下所示:
Authorization: Bearer YOUR_API_KEY
对于属于多个组织的用户,您可以传递一个标头来指定哪个组织用于 API 请求。来自这些 API 请求的使用将计入指定组织的订阅配额。
卷曲命令示例:
curl https://api.openai.com/v1/models \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'OpenAI-Organization: org-Kh317O0F3ISLtdXBdafrKQl2'
您可以将下面的命令粘贴到您的终端中以运行您的第一个 API 请求。确保替换YOUR_API_KEY为您的秘密 API 密钥。
curl https://api.openai.com/v1/chat/completions \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
}'
此请求查询模型以完成以提示“ Say this is a testgpt-3.5-turbo ”开头的文本。您应该会收到类似于以下内容的响应:
{
"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_reasonisstop这意味着 API 返回了模型生成的完整完成。在上面的请求中,我们只生成了一条消息,但是您可以设置参数n来生成多条消息选择。在这个例子中,gpt-3.5-turbo更多的是用于传统的文本完成任务。该模型还针对聊天应用程序进行了优化。
curl https://api.openai.com/v1/chat/completions \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
}'
{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
}
{
"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
}
}