ChatGPT API教程在线对接OpenAI APIKey技术教程

闪电发卡1周前ChatGPT88

闪电发卡ChatGPT产品推荐:

ChatGPT独享账号:https://xingtupai.com/post/86.html

ChatGPT Plus独享共享账号购买代充:https://xingtupai.com/post/329.html

ChatGPT APIKey购买充值(直连+转发):https://xingtupai.com/post/348.html

ChatGPT Plus国内镜像(逆向版):https://www.chatgptgm.com/buy/23

ChatGPT国内版(AIChat):https://aichat.shandianfk.com

客服微信:1、chatgptpf 2、chatgptgm 3、businesstalent


一、OpenAI基本库介绍

您可以通过 HTTP 请求与 API 进行交互,这可以通过任何编程语言实现。我们提供官方的 Python 绑定、官方的 Node.js 库,以及由社区维护的库。

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

pip install openai

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

npm install openai@^4.0.0


二、APIKey认证授权

API密钥(API Keys)
OpenAI API 使用 API 密钥进行认证。您可以在用户或服务账户级别创建 API 密钥。服务账户与“机器人”个体相关联,应用于为生产系统提供访问权限。每个 API 密钥可以限定以下之一的范围:

项目密钥 - 提供对单个项目的访问(推荐选项);通过选择您希望生成密钥的特定项目来访问项目 API 密钥。
用户密钥 - 我们的旧密钥。提供对用户已添加到的所有组织和所有项目的访问;访问 API 密钥以查看您可用的密钥。我们强烈建议过渡到项目密钥以获得最佳安全实践,尽管目前仍支持通过这种方法进行访问。
记住您的 API 密钥是一个秘密!不要与他人共享或在客户端代码(浏览器、应用程序)中公开它。生产请求必须通过您自己的后端服务器进行路由,您可以从环境变量或密钥管理服务中安全加载您的 API 密钥。

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

Authorization: Bearer OPENAI_API_KEY


组织和项目(可选)
对于属于多个组织的用户或通过其旧的用户 API 密钥访问其项目的用户,您可以传递一个头来指定用于 API 请求的组织和项目。这些 API 请求的使用将计入指定的组织和项目的使用量。

要访问组织中的默认项目,请省略 OpenAI-Project 头

示例 curl 命令:

curl https://api.openai.com/v1/models \
  -H "Authorization: Bearer $OPENAI_API_KEY" \  -H "OpenAI-Organization: YOUR_ORG_ID" \  -H "OpenAI-Project: $PROJECT_ID"

使用 openai Python 包的示例:

from openai import OpenAI

client = OpenAI(
  organization='YOUR_ORG_ID',
  project='$PROJECT_ID',
)

使用 openai Node.js 包的示例:

import OpenAI from "openai";const openai = new OpenAI({
    organization: "YOUR_ORG_ID",
    project: "$PROJECT_ID",
});

Organization IDs可以在您的组织设置页面找到。 Project IDs可以通过选择特定项目在您的常规设置页面找到。

三、发起请求示例

您可以将下面的命令粘贴到您的终端中来运行您的第一个 API 请求。请确保将 $OPENAI_API_KEY 替换为您的秘密 API 密钥。如果您使用的是旧版用户密钥并且有多个项目,您还需要指定Project ID。为了提高安全性,我们建议转向基于项目的keys。

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 模型(实际上是指向 gpt-3.5-turbo 模型变体),以完成以 "Say this is a test" 为提示的文本。您应该会收到一个类似以下内容的响应:

{
    "id": "chatcmpl-abc123",
    "object": "chat.completion",
    "created": 1677858242,
    "model": "gpt-3.5-turbo-0613",
    "usage": {
        "prompt_tokens": 13,
        "completion_tokens": 7,
        "total_tokens": 20
    },
    "choices": [
        {
            "message": {
                "role": "assistant",
                "content": "\n\nThis is a test!"
            },
            "logprobs": null,
            "finish_reason": "stop",
            "index": 0
        }
    ]}

现在您已经生成了第一次chat completion  ,让我们分解一下响应对象。我们可以看到 finish_reason 是 stop,这意味着 API 返回了模型生成的完整chat completion 内容,没有遇到任何限制。在 choices 列表中,我们只生成了一条消息,但您可以设置 n 参数来生成多个消息选项。

四、流式输出

OpenAI API 提供了将响应流回客户端的能力,以允许某些请求返回部分结果。为实现此目的,我们遵循 Server-sent events 标准。我们的官方 Node 和 Python 库包括一些帮助工具,可以简化这些事件的解析。

流式传输支持 Chat Completions API 和 Assistants API。本节重点介绍流式传输在 Chat Completions 中的工作方式。

在 Python 中,流式请求看起来像这样:

from openai import OpenAI

client = OpenAI()

stream = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "Say this is a test"}],
    stream=True,
)for chunk in stream:    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="")

在 Node / Typescript 中,流式请求看起来像这样:

import OpenAI from "openai";const openai = new OpenAI();async function main() {    const stream = await openai.chat.completions.create({
        model: "gpt-3.5-turbo",
        messages: [{ role: "user", content: "Say this is a test" }],
        stream: true,
    });    for await (const chunk of stream) {
        process.stdout.write(chunk.choices[0]?.delta?.content || "");
    }
}

main();

解析 Server-sent events 并不简单,需要谨慎处理。简单的策略比如按新行分割可能会导致解析错误。我们建议尽可能使用现有的客户端库。

原文链接:介绍 | ChatGPT API教程 | ChatGPT API技术开发教程 (chatgptzh.com)

相关文章

ChatGPT和ChatGPT Plus有什么区别?

闪电发卡ChatGPT产品推荐:ChatGPT独享账号:https://xingtupai.com/post/86.htmlChatGPT Plus独享共享账号购买代充:https://xingtup...

ChatGPT 3.5 vs 4.0:API Key购买指南及使用差异分析

闪电发卡快捷直达购买链接:ChatGPT 3.5 API(5美元,直连):https://www.shandianfk.com/buy/24ChatGPT 3.5 API(5美元,转发):https:...

国内用户必读:ChatGPT Plus 4.0订阅充值与会员升级详细教程

闪电发卡ChatGPT产品推荐:ChatGPT独享账号:https://xingtupai.com/post/86.htmlChatGPT Plus独享共享账号购买代充:https://xingtup...

全面解析ChatGPT Plus 4.0:如何升级代充会员,轻松享受高级服务

闪电发卡ChatGPT产品推荐:ChatGPT独享账号:https://xingtupai.com/post/86.htmlChatGPT Plus独享共享账号购买代充:https://xingtup...

对比ChatGPT 3.5和ChatGPT 4.0,差距真的挺大的!!!

对比ChatGPT 3.5和ChatGPT 4.0,差距真的挺大的!!!

话不多说,直接上图:下面是GPT4的回答,我感觉完全可以通过图灵测试,openAI不这么做可能是不想引起大家的恐慌提问:讲一讲关公战秦琼的故事,为什么关公最后去西天取经了,然后完了又跟朱元璋打天下?C...

黑客和网络安全从业者们如何正确使用OpenAI ChatGPT

黑客和网络安全从业者们如何正确使用OpenAI ChatGPT

ChatGPT账号如何注册准备工作1.代理要求韩国,日本,印度,新加坡均可。香港的不行。2.准备接码平台,sms-activate.org3.准备一个浏览器复制1、接码注册后选择充值,可以选择支付宝充...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。