介绍
您可以通过 HTTP 请求从任何语言与 API 进行交互,使用我们的官方 Python 绑定、官方 Node.js 库或社区维护的库。
要安装官方 Python 绑定,请运行以下命令:
pip install openai
要安装官方的Node.js库,请在您的Node.js项目目录中运行以下命令:
npm install openai
认证
OpenAI API使用API密钥进行身份验证。访问您的API密钥页面以检索在请求中使用的API密钥。
请记住,您的API密钥是机密!不要与他人分享或在任何客户端代码(浏览器、应用程序)中公开它。生产请求必须通过您自己的后端服务器路由,其中可以从环境变量或键管理服务安全地加载您的API密钥。
所有 API 请求都应该在 Authorization
HTTP 头中包含您的 API 密钥,格式如下:
Authorization: Bearer OPENAI_API_KEY
请求组织
对于属于多个组织的用户,您可以传递一个头来指定用于 API 请求的组织。这些 API 请求的使用将计入指定组织的订阅配额。
示例 curl 命令:
curl https://api.openai.com/v1/models \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "OpenAI-Organization: YOUR_ORG_ID"
使用openai Python
包的示例:
import osimport openaiopenai.organization = "YOUR_ORG_ID"openai.api_key = os.getenv("OPENAI_API_KEY")openai.Model.list()
使用 OpenAI
Node.js 包的示例:
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();
组织 ID 可以在您的组织设置页面找到。
发出请求
您可以将以下命令粘贴到终端中以运行第一个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
被用于更传统的文本完成任务。该模型也针对聊天应用进行了优化。
模型
列出并描述API中可用的各种模型。您可以参考模型文档以了解可用模型及其之间的区别。
列出模型
GET https://api.openai.com/v1/models(opens in a new tab)
列出当前可用的模型,并提供有关每个模型的基本信息,例如所有者和可用性。
curl https://api.openai.com/v1/models \ -H "Authorization: Bearer $OPENAI_API_KEY"
{"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"}
检索模型
GET ttps://api.openai.com/v1/models/{model}
检索模型实例,提供有关模型的基本信息,例如所有者和权限。
路径参数
模型 字符串 必需的
用于此请求的模型ID
curl https://api.openai.com/v1/models/text-davinci-003 \ -H "Authorization: Bearer $OPENAI_API_KEY"
{ "id": "text-davinci-003", "object": "model", "owned_by": "openai", "permission": [...]}
完成
在给定提示的情况下,模型将返回一个或多个预测完成,并且还可以返回每个位置上备选标记的概率。