跳至主要内容

OpenAI API 新手指南:实践教程与最佳实践

本教程将带您认识 OpenAI API、其用例、如何动手使用 API,以及应遵循的最佳实践。
· 13分钟 阅读

使用 AI 探索

随着 ChatGPT 的发布,全球范围内对人工智能及其应用的讨论热度陡增,尤其是在非技术背景的高层业务决策者之间。各行各业都希望将他们在 ChatGPT 中体验到的技术,定制化地应用到自身行业与增长场景中。

但我们该如何实现这一点?

答案很直接:企业可以使用由 ChatGPT 的开发者构建并开放的快速演进的 OpenAI API,打造符合业务需求的定制化解决方案。

作为入门级的数据科学家与机器学习从业者,我们知道 OpenAI 早在 ChatGPT 爆红之前就已存在,但我们大多数人并未真正用它来解决行业中的业务问题。鉴于近期的飞速进步,如今全面理解该 API 比以往任何时候都更重要。

本教程将带您完成这一目标:介绍 OpenAI 及其 API,从创建 OpenAI 账户到使用 API 获取响应的实操上手,并在使用过程中讨论最佳实践,帮助您全面了解 OpenAI API。

想看看 OpenAI 实战演示?欢迎观看我们的代码跟练课程《使用 OpenAI API 与 Pinecone 构建聊天机器人》:

OpenAI 及其 API 概览

OpenAI 是一家专注于研究与部署的 AI 公司,其使命是确保通用人工智能惠及全人类。

该公司于 2015 年以非营利形式成立,创始团队包括 Elon Musk 和 Sam Altman 等。多年来,OpenAI 从非营利起点逐步过渡到更加多元的模式以实现其使命,并与微软等科技巨头建立合作伙伴关系。

什么是 OpenAI API?

OpenAI API(应用程序编程接口)是通往 OpenAI 强大机器学习模型的桥梁,让您能够较为轻松地将前沿 AI 能力集成进自己的项目。

更通俗地说,API 就像一个助手,帮您在项目中调用 OpenAI 的智能程序。比如,您无需了解底层模型的所有细节,也能为产品添加理解与生成文本等强大功能。

OpenAI API 的功能特点

以下是让 OpenAI API 成为企业引入 AI 能力有力工具的一些核心特性:

1. 预训练 AI 模型

预训练模型是指先在大规模数据集上(通常为通用任务)完成训练,再用于特定任务的机器学习模型。OpenAI 团队将这些模型训练好并以 API 形式发布,意味着“他们训练一次,我们多次使用”,既省时又省资源。

部分已发布的模型包括:

  • GPT-4:GPT-3.5 的改进版本,能够理解与生成文本和代码。
  • GPT-3.5:在 GPT-3 基础上的增强版本,能够理解并生成文本或代码。
  • GPT Base:可处理与生成文本或代码,但不具备指令跟随能力的模型。
  • DALL·E:可根据文本提示生成与编辑图像的模型。
  • Whisper:将音频输入转写为文本。
  • Embeddings:将文本转换为数值向量的模型。
  • Moderation:用于识别潜在敏感或不安全文本的精调模型。

这些模型在海量数据上训练,并使用了极高的计算资源,个人甚至许多组织往往难以获得或负担。如今,数据科学家与企业可以通过 API 轻松利用这些预训练模型。

2. 可定制的 AI 模型

在 OpenAI API 中定制模型主要通过“微调”(fine-tuning)实现,使用户能够将预训练模型进一步适配自身特定用例。

OpenAI API 允许我们在预训练模型基础上,使用自有训练数据进行进一步训练,并将微调后的模型用于具体场景。您可以在此处了解如何微调 GPT-3 模型。微调有助于节省成本,并为下游应用带来更低的延迟。

3. 简洁的 API 接口

OpenAI API 平台直观易用,适合初学者入门。借助详尽的文档与快速上手示例,仅需少量代码即可在您的用例中开始使用 API,且无需经历陡峭的学习曲线。

这种简洁性尤其有利于职业初期的数据从业者,让迈向 AI 的第一步不再令人生畏,反而更具吸引力。

4. 可扩展的基础设施

OpenAI 已将Kubernetes 集群扩展至 7,500 个节点,为 GPT-3、CLIP、DALL·E 等大型模型以及快速的小规模迭代研究提供可扩展的基础设施。Azure OpenAI Service 运行于 Azure 全球基础设施之上,以满足企业级生产需求,如关键的安全、合规与区域可用性,这表明其具备支撑 OpenAI API 使用的可扩展能力。

随着项目体量与复杂度的提升,您需要能与之同步成长的基础设施。当使用量增加时,OpenAI API 的伸缩能力尤为关键,有助于您从小项目平稳过渡到更大、更高要求的项目,使其成为可靠的技术工具。

OpenAI API 的行业用例

目前已有 300 多个应用通过 OpenAI API 使用 GPT-3,显示出全球范围内丰富多样且富有创意的应用正在涌现。以下是一些常见的行业应用:

1. 聊天机器人与虚拟助手

OpenAI API 对类人文本的理解与生成能力,使其成为构建智能聊天机器人与虚拟助手的理想之选。通过 GPT-4 或 ChatGPT 等预训练模型,可以驱动自然直观的人机对话代理。这些代理可部署于网站、应用或客服平台,以提升用户参与度并提供自动化支持。

2. 情感分析

情感分析旨在理解文本数据背后的情绪倾向。借助 OpenAI API,您可以分析客户评价、社交媒体评论或任意文本数据,以衡量公众舆情或客户满意度。通过使用GPT-4 或 3.5 等模型,您可以将情感分析流程自动化,提炼对业务战略至关重要的洞察。

3. 图像识别

尽管 OpenAI 往往与文本处理相关,它也涉足图像识别领域,如 CLIP 等模型。CLIP 能从自然语言描述中学习视觉概念,并可通过 OpenAI API 用于目标检测、图像分类等任务。这为诸多领域带来可能性,例如医疗领域中可借助图像识别从影像数据中识别病症。

4. 游戏与强化学习

OpenAI API 同样适用于游戏产业与强化学习环境。模型可以被训练或微调以与游戏环境交互,进行决策,从而实现自主游玩或为玩家提供辅助。

OpenAI 已通过诸如 Dactyl(通过强化学习学会还原魔方)与 OpenAI Five(在 Dota 2 中与人类选手对战)的模型展示了这一点。

既然我们已经了解了 OpenAI API 及其用例,下面就开始实操使用吧。

动手实践:OpenAI API 入门

假设您完全是 OpenAI API 的新手,我们将以循序渐进的方式带您完成第一次 API 调用。

步骤 1:创建 OpenAI 平台账户

首先,您需要在 OpenAI 平台创建一个账户。

前往OpenAI 平台并按提示创建账户。注册完成后,您应能看到类似这样的页面:

OpenAI 平台着陆页

步骤 2:获取您的 API 密钥

账户设置完成后,您需要获取用于与 API 交互的 API 密钥。

如下面的示意图所示,在 OpenAI 账户中导航至 API keys 页面。

API Key 子菜单

您现在可以创建一个 API 密钥。请复制并妥善保存,因为之后将无法再次查看。如果遗失或需要新密钥,可以重新生成。

创建新密钥按钮

步骤 3:安装 OpenAI 的 Python 库

在完成账户与 API 密钥的准备后,下一步是本地环境的设置。我们可以通过 OpenAI 的 Python 库在本地访问 OpenAI API。

您可以使用 pip 通过以下命令安装:

pip install openai

步骤 4:发起您的第一次 API 调用

现在您已经有了 API 密钥并安装好了 OpenAI 库,是时候进行第一次 API 调用了。

示例代码如下:

def get_chat_completion(prompt, model="gpt-3.5-turbo"):
  
   # Creating a message as required by the API
   messages = [{"role": "user", "content": prompt}]
  
   # Calling the ChatCompletion API
   response = openai.ChatCompletion.create(
       model=model,
       messages=messages,
       temperature=0,
   )

   # Returning the extracted response
   return response.choices[0].message["content"]

response = get_chat_completion("Translate into Spanish: As a beginner data scientist, I'm excited to learn about OpenAI API!")

print(response)

我们编写了一个辅助函数来调用 ChatCompletion API,选择“gpt-3.5-turbo”模型,接收用户生成的提示并返回响应。

以下是返回结果(如果您懂一点西班牙语,欢迎验证!):

使用 API 的西班牙语翻译结果

步骤 5:进一步探索

完成第一次 API 调用后,您已经迈出了关键一步!接下来可以考虑:

  • 探索不同的引擎/模型,找到最适合您用例的选项。
  • 尝试不同的提示与参数,观察 API 的响应变化。
  • 深入阅读OpenAI 文档,了解更多 API 的用法。

接下来,您需要围绕当前业务问题进行头脑风暴,思考如何利用 API 落地解决(本教程末尾还提供了更多资源)。

使用 OpenAI API 的最佳实践

当您已能较为熟练地动手使用 API 时,在将其用于项目之前,请注意以下最佳实践:

1. 了解 API 的定价

API 提供多种模型,能力与价格各不相同,采用按使用量付费的方式。费用按每 1,000 个 token 计费,token 本质上是词片段,1,000 个 token 约等于 750 个英文单词。您可以在OpenAI 定价页面查看最新价格。

注册后,您将获得 5 美元的免费额度,可在前三个月内使用。这样,您可以先完成教程、加深对 API 的理解,再决定是否付费。

2. 保护您的 API 密钥

请不要将 API 密钥硬编码在应用源代码中,而应使用环境变量来存储与读取密钥,这样更安全。

在团队环境中,硬编码的密钥也很难管理。如果需要轮换或更换密钥,必须在源代码中查找并更新所有实例。

3. 使用最新模型

当存在多个版本可选时,OpenAI 建议针对您的问题使用最新模型。这样做通常能获得更强的能力,但成本也可能更高。总体而言,值得在少量可用模型间进行试验,再结合成本与性能的权衡选择最契合您用例的模型。

4. 通过批处理高效利用 token 限制

批处理(Batching)是一种将多个任务合并到单次 API 请求中以统一高效处理的技术,而不是为每个任务单独发送请求。

OpenAI API 对每分钟请求次数(RPM)与每分钟可处理的 token 数(TPM)分别设有限制。如果您触达了 RPM 限制,但在 TPM 限制下仍有余量,批处理可以帮助更高效地利用这部分容量。

通过将多个小任务合并为一次请求,您可以减少总请求数,同时在单个请求中处理更多 token,从而既保持在速率限制之内,又优化成本。

结语

如果您是数据科学领域的新手,过去也许很少接触 API。这在以前很常见,但随着 OpenAI 等公司在 AI 领域的快速发展与能力提升,学会如何通过 API 高效使用其预训练模型(以及进行微调)已成为每位数据科学家的必备技能,可节省时间、成本与其他资源。

本教程介绍了 OpenAI、其 API,以及一些常见的行业用例;同时带您完成了 OpenAI API 的动手上手,并给出了相关最佳实践。

下一步,您可以通过以下教程进一步拓展对 OpenAI API 的认识:

如果您更喜欢有指导的学习路径,并希望配合本教程进行动手实践,欢迎查看我们的《使用 OpenAI API 开发》课程。

Arunn Thevapalan

作者

Arunn Thevapalan

作为一名高级数据科学家,我设计、开发并部署大规模机器学习解决方案,帮助企业做出更明智的数据驱动决策。作为数据科学写作者,我分享所学心得、职业建议以及深入的实践型教程。

主题