认证
OpenAI API 使用 API 密钥进行身份验证。您可以在用户或服务帐户级别创建 API 密钥。服务帐户与“机器人”个人关联,并应用于为生产系统预配访问权限。每个 API 密钥可以作用于以下之一:
- 项目密钥 - 提供对单个项目的访问权限(首选选项);通过选择您希望为其生成密钥的特定项目,访问项目 API 密钥。
- 用户密钥 - 我们的遗留密钥。提供对用户加入的所有组织和所有项目的访问权限;访问API 密钥以查看可用的密钥。我们强烈建议您转换为项目密钥以实现最佳安全实践,尽管通过此方法的访问目前仍受支持。
请记住,您的 API 密钥是秘密! 不要与他人分享或在任何客户端代码(浏览器,应用)中公开泄露。生产请求必须通过您自己的后端服务器路由,在该服务器上可以安全加载 API 密钥,例如从环境变量或密钥管理服务。
所有 API 请求都应在 Authorization
HTTP 头中包含您的 API 密钥,如下所示:
Authorization: Bearer OPENAI_API_KEY
API 密钥
OpenAI API 使用 API 密钥进行身份验证。您可以在用户或服务帐户级别创建 API 密钥。服务帐户与“机器人”个人关联,并应用于为生产系统预配访问权限。每个 API 密钥可以作用于以下之一:
项目密钥 - 提供对单个项目的访问权限(首选选项);通过选择您希望为其生成密钥的特定项目,访问项目 API 密钥。
用户密钥 - 我们的遗留密钥。提供对用户加入的所有组织和所有项目的访问权限;访问API 密钥以查看可用的密钥。我们强烈建议您转换为项目密钥以实现最佳安全实践,尽管通过此方法的访问目前仍受支持。
请记住,您的 API 密钥是秘密! 不要与他人分享或在任何客户端代码(浏览器,应用)中公开泄露。生产请求必须通过您自己的后端服务器路由,在该服务器上可以安全加载 API 密钥,例如从环境变量或密钥管理服务。
所有 API 请求都应在 Authorization
HTTP 头中包含您的 API 密钥,如下所示:
Authorization: Bearer OPENAI_API_KEY
组织和项目(可选)
对于属于多个组织或通过其遗留用户 API 密钥访问其项目的用户,您可以传递一个标头以指定用于 API 请求的组织和项目。来自这些 API 请求的使用情况将计入为指定的组织和项目的使用情况。
要在组织中访问 Default Project
,请省略 OpenAI-Project
标头
示例 curl 命令:
curl https://api.openai.com/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "OpenAI-Organization: org-cgJUqXSIAB6I9peQJ5wvGVeD" \
-H "OpenAI-Project: $PROJECT_ID"
使用 openai
Python 包的示例:
from openai import OpenAI
client = OpenAI(
organization='org-cgJUqXSIAB6I9peQJ5wvGVeD',
project='$PROJECT_ID',
)
使用 openai
Node.js 包的示例:
import OpenAI from "openai";
const openai = new OpenAI({
organization: "org-cgJUqXSIAB6I9peQJ5wvGVeD",
project: "$PROJECT_ID",
});