跳至主要内容

ChatGPT API 入门指南

本指南将带您了解 ChatGPT API 的基础知识,展示其在自然语言处理和 AI 驱动沟通中的潜力。
· 11分钟 阅读

使用 AI 探索

自 2022 年 11 月发布以来,ChatGPT 一直备受全球关注。这款开创性的 AI 聊天机器人擅长理解自然语言指令,并能在广泛主题上生成近似人类对话的回应。

像 GPT-4 这样的大型语言模型的出现,为自然语言处理领域带来了新的可能。随着 OpenAI 发布 ChatGPT API,我们如今可以更轻松地将对话式 AI 能力集成到各类应用中。在这篇入门指南中,我们将介绍 ChatGPT API 的功能,并演示如何使用 Python 客户端开始上手。

什么是 GPT?

GPT 是 Generative Pre-trained Transformer(生成式预训练变换器)的缩写,是 OpenAI 开发的一系列语言模型。从 GPT-1 演进到 GPT-4,它们在海量文本数据上进行训练,并可进一步针对特定语言任务进行微调。通过预测下一个词来生成连贯文本是其强项。基于这些模型的对话式 AI——ChatGPT——能够以自然语言交互,并经过训练使其安全、可靠且信息丰富,知识更新至 2023 年 3 月。

什么是 ChatGPT API?

API(应用程序编程接口)允许两个软件程序彼此通信。API 会将应用的某些功能和数据开放给其他应用。例如,Twitter API 允许开发者访问来自 Twitter 的用户资料、推文、趋势等,并据此构建自己的应用。

ChatGPT API 提供对 OpenAI 对话式 AI 模型(如 GPT-4、GPT-4 turbo、GPT-3 等)的访问。通过 API,我们可以在自己的应用中调用这些语言模型。借助这些 API,您可以在应用中构建多种对用户有用的功能与特性,包括:

  • 构建聊天机器人和虚拟助手
  • 自动化客服工作流
  • 生成邮件、报告等内容
  • 回答特定领域的问题

ChatGPT API 的关键特性

以下是您可能在项目中选择使用 ChatGPT API 的一些理由:

自然语言理解

ChatGPT 在理解自然语言方面表现出色。它构建于 GPT-3 架构之上,能够解释并处理多种自然语言输入,包括问题、指令和陈述。

这种理解能力得益于其在海量文本语料上的训练,使其能够识别多种语言细微差别,并生成准确且契合语境的回应。

上下文相关的回应生成

该 API 擅长生成不仅连贯且与上下文密切相关的文本。这意味着 ChatGPT 能顺畅衔接对话流程,保持与先前语境的一致性。

其处理长文本序列的能力使其能够理解对话中的依存关系,从而确保回应不仅准确,而且在给定语境中更有意义。

该 API 提供的一些关键能力包括:

  • 自然语言理解
  • 上下文相关的回应生成
  • 回答追问的能力
  • 支持对话式工作流

如何使用 ChatGPT API

OpenAI 的 Python API 库提供了一种简单高效的方式,让任何 Python 3.7+ 应用都能与 OpenAI 的 REST API 进行交互。本详解指南旨在帮助您高效使用该库。

安装

要开始使用该库,请通过 pip 安装:

!pip install openai

用法

要使用该库,您需要先导入并创建一个 OpenAI 客户端:

from openai import OpenAI
client = OpenAI(api_key="...")

您可以登录 platform.openai.com 生成密钥

OpenAI API Keys page

获取密钥后,您就可以发起 API 调用,例如创建对话补全:

chat_completion = client.chat.completions.create(
    messages=[
        {
            "role": "user",
            "content": "What is Machine Learning?",
        }
    ],
    model="gpt-4-1106-preview",
)

image3.png

该库还支持使用服务器端事件(SSE)进行流式响应。以下示例展示了如何进行流式传输:

from openai import OpenAI
client = OpenAI(api_key="...")
stream = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "what is machine learning?"}],
    stream=True,
)
for part in stream:
    print(part.choices[0].delta.content or "")

image1.png

OpenAI 模型与定价

OpenAI 通过其 API 提供多种可用的 AI 模型,用户可根据需要加以利用。不同模型在能力、定价和预期用例方面各不相同。

旗舰模型 GPT-4 功能最强、价格也最高,输入每 1,000 个 token 起价 $0.03,输出每 1,000 个 token 起价 $0.06。GPT-4 代表了自然语言处理的最前沿,能够理解并生成类人文本,支持最高 128,000 个 token 的上下文。GPT-4 系列包括基础 GPT-4 模型以及使用 32,000 个 token 上下文的 GPT-4-32k。

新发布的 GPT-4 turbo 模型提供 128k 上下文长度,支持视觉能力,且比 GPT-4 更强大。更重要的是其价格更低:输入每 1,000 个 token 仅 $0.01,输出每 1,000 个 token 为 $0.03。

若需更具性价比的自然语言处理,OpenAI 还提供 GPT-3.5 系列模型。GPT-3.5 Turbo 针对对话应用优化,支持 16,000 个 token 的上下文,定价为每 1,000 个输入 token $0.0010、每 1,000 个输出 token $0.0020。GPT-3.5 Turbo Instruct 是一款指令模型,支持 4,000 个 token 的上下文,定价略高:每 1,000 个输入 token $0.0015、每 1,000 个输出 token $0.0020。

除核心语言模型外,OpenAI 还通过其 API 提供其他能力。Assistants API 提供诸如检索与代码解释等工具,便于构建 AI 助手。图像模型可生成和编辑图像;嵌入模型可将文本表示为数值向量;还可针对特定应用对模型进行微调。

总的来说,OpenAI 通过按量付费的简单 API 提供了一系列强大的 AI 模型。模型选择取决于具体应用需求与预算。GPT-4 以更高价格提供前沿能力,而 GPT-3.5 等模型在许多场景中能在性能与成本间取得平衡。

您可以查阅官方文档,了解所有可用模型及其 API定价的更多信息。

灵活性与自定义

该 API 提供多种参数,便于根据应用需求自定义模型行为:

认证

  • api_key(str):用于请求认证的 API 密钥。必填。

模型

  • model(str):要使用的模型 ID。指定用于生成补全的模型。

输入

  • prompt(str):用于生成补全的提示。通常为文本。
  • suffix(str):生成文本补全后附加的后缀。

输出

  • max_tokens(int):在补全中生成的最大 token 数,介于 1 与 4096 之间。
  • stop(str):最多 4 个序列,API 遇到其中任一序列将停止继续生成。
  • temperature(float):控制随机性,取值范围 0.0 至 2.0。值越高,模型越敢于尝试。
  • top_p(float):温度采样的替代方案,又称核采样,取值范围 0.0 至 1.0。值越高,模型越敢于尝试。
  • n(int):为每个提示生成的补全数量。
  • stream(bool):是否以流式返回部分进度。若启用,token 将在可用时以仅数据的服务器发送事件进行发送。

塑造 ChatGPT API 的行为

决定聊天机器人行为的三种主要消息类型是“system”“user”和“assistant”。System 消息表示聊天机器人的内部过程,User 消息是人类的输入,Assistant 消息是聊天机器人的回应。

System 消息使聊天机器人能够跟踪对话状态、理解上下文并确定合适的回应。例如,system 消息可能记录当前讨论主题、用户情绪或与该用户的历史对话。这些元数据会影响聊天机器人如何解释用户消息并生成 assistant 消息。

User 消息提供了聊天机器人必须分析并作出反应的原始对话输入。聊天机器人会使用自然语言处理从这些消息中提取含义并判断意图。不同的用户消息表述、长度、标点和内容都会引发不同的回应。

最后,assistant 消息代表聊天机器人基于对系统状态与用户输入的分析而生成的回应。assistant 消息的语气、个性与信息含量最终决定用户体验。对用于生成 assistant 消息的聊天机器人规则与 AI 进行精心设计,是构建有吸引力且有帮助的对话的关键。

结语

ChatGPT API 在对话式 AI 领域迈出了重要一步,为开发者和创新者提供了多功能且强大的工具。其理解和生成自然语言的能力,以及可灵活集成至各类应用的特性,使其成为打造复杂 AI 驱动解决方案的宝贵资产。

无论是构建高级聊天机器人、自动化客户支持、生成创意内容,还是解答特定领域问题,ChatGPT API 都提供了实现这些想法所需的工具与能力。

OpenAI 提供的多样化模型,兼顾不同用例与预算考量,确保开发者可以选择最合适的工具。从最前沿的 GPT-4 到更具性价比的 GPT-3.5 变体,模型选择可根据应用的具体需求进行精细匹配。

本指南为任何希望利用这项前沿技术的人提供了一个出色的起点。

想进一步了解该主题?请查看这篇关于 OpenAI API 的实操教程与最佳实践,或注册免费的“使用 OpenAI API 开发”课程。

Moez Ali

作者

Moez Ali

数据科学家,PyCaret 的创始人兼作者

主题