介绍

您可以通过任何语言的 HTTP 请求、我们的官方 Python 绑定、我们的官方 Node.js 库或社区维护的库与 API 交互。

要安装官方 Python 绑定,请运行以下命令:

pip install openai

要安装官方 Node.js 库,请在 Node.js 项目目录中运行以下命令:

npm install openai

验证

OpenAI API 使用 API 密钥进行身份验证。访问您的API 密钥open in new window页面以检索您将在请求中使用的 API 密钥。

请记住,您的 API 密钥是秘密的 !不要与他人共享或在任何客户端代码(浏览器、应用程序)中公开它。生产请求必须通过您自己的后端服务器进行路由,您的 API 密钥可以从环境变量或密钥管理服务中安全加载。

所有 API 请求都应在AuthorizationHTTP 标头中包含您的 API 密钥,如下所示:

Authorization: Bearer YOUR_API_KEY

请求组织

对于属于多个组织的用户,您可以传递一个标头来指定哪个组织用于 API 请求。来自这些 API 请求的使用将计入指定组织的订阅配额。

curl 命令示例:

curl https://api.openai.com/v1/models \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'OpenAI-Organization: org-8PbmSSpo3zugMUVpmPwBR8yr'

openai Python 包的示例:

import os
import openai
openai.organization = "org-8PbmSSpo3zugMUVpmPwBR8yr"
openai.api_key = os.getenv("OPENAI_API_KEY")
openai.Model.list()

openai Node.js 包的示例:

import { Configuration, OpenAIApi } from "openai";
const configuration = new Configuration({
    organization: "org-8PbmSSpo3zugMUVpmPwBR8yr",
    apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const response = await openai.listEngines();

组织 ID 可以在您的组织设置open in new window页面上找到。


发出请求

您可以将下面的命令粘贴到您的终端中以运行您的第一个 API 请求。确保替换YOUR_API_KEY为您的秘密 API 密钥。

curl https://api.openai.com/v1/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"model": "text-davinci-003", "prompt": "Say this is a test", "temperature": 0, "max_tokens": 7}'

此请求查询 Davinci 模型以完成以提示“ Say this is a test ”开头的文本。该参数设置了 API 将返回的标记数量open in new windowmax_tokens的上限。您应该会收到类似于以下内容的响应:

{
    "id": "cmpl-GERzeJQ4lvqPk8SkZu4XMIuR",
    "object": "text_completion",
    "created": 1586839808,
    "model": "text-davinci:003",
    "choices": [
        {
            "text": "\n\nThis is indeed a test",
            "index": 0,
            "logprobs": null,
            "finish_reason": "length"
        }
    ],
    "usage": {
        "prompt_tokens": 5,
        "completion_tokens": 7,
        "total_tokens": 12
    }
}

现在你已经生成了你的第一个完成。echo 如果您连接提示和完成文本(如果您将参数设置为 ,API 将为您执行此操作 true ),则生成的文本为“ Say this is a test. This indeed a test. ”您还可以将stream参数设置为true用于 API 流回文本(作为仅数据服务器发送的事件open in new window)。

Last Updated:
Contributors: fangming78@sina.com