GPT-4 API接口文档中文版OpenAI

介绍

概述

OpenAI API 几乎可以应用于任何涉及理解或生成自然语言、代码或图像的任务。我们提供一系列具有不同功率级别的模型,适用于不同的任务,并且能够微调您自己的自定义模型。这些模型可用于从内容生成到语义搜索和分类的所有领域。


关键概念

我们建议您完成我们的快速入门教程,以通过实际操作的交互式示例熟悉关键概念。快速入门教程通过构建快速示例应用程序进行学习

提示

设计提示本质上是您“编程”模型的方式,通常是通过提供一些说明或一些示例。这不同于为单一任务设计的大多数其他 NLP 服务,例如情感分类或命名实体识别。相反,完成和聊天完成端点可用于几乎任何任务,包括内容或代码生成、摘要、扩展、对话、创意写作、风格转换等。

Token

我们的模型通过将文本分解为标记来理解和处理文本。标记可以是单词或只是字符块。例如,单词“hamburger”被分解为标记“ham”、“bur”和“ger”,而像“pear”这样的短而常见的单词是一个标记。许多标记以空格开头,例如“hello”和“bye”。

在给定的 API 请求中处理的token数量取决于输入和输出的长度。根据粗略的经验法则,对于英文文本,1 个标记大约为 4 个字符或 0.75 个单词。要记住的一个限制是,您的文本提示和生成的完成组合不能超过模型的最大上下文长度(对于大多数模型,这是 2048 个标记,或大约 1500 个单词)。查看我们的分词器工具,了解有关文本如何转换为分词的更多信息。

模型

API 由一组具有不同功能和价位的模型提供支持。GPT-4 是我们最新、最强大的模型。GPT-3.5-Turbo 是为 ChatGPT 提供支持的模型,并针对对话格式进行了优化。要了解有关这些模型以及我们提供的其他内容的更多信息,请访问我们的模型文档


快速开始

OpenAI 训练了非常擅长理解和生成文本的尖端语言模型。我们的 API 提供对这些模型的访问,可用于解决几乎任何涉及处理语言的任务。

在本快速入门教程中,您将构建一个简单的示例应用程序。在此过程中,您将学习使用 API 完成任何任务的关键概念和技术,包括:

  • 内容生成
  • 总结
  • 分类、分类和情感分析
  • 数据提取
  • 翻译
  • 还有很多!

介绍

完成端点是我们 API 的核心,它提供了一个极其灵活和强大的简单接口您输入一些文本作为提示,API 将返回一个文本完成,尝试匹配您提供的任何指令或上下文。迅速的为冰淇淋店写一个标语。完成每一勺我们都会微笑!

您可以将其视为非常高级的自动完成——模型处理您的文本提示并尝试预测接下来最有可能出现的内容。

1从指令开始

假设您想创建一个宠物名字生成器。从头开始想出名字很难!

首先,您需要一个明确说明您想要什么的提示。让我们从一个指令开始。提交此提示以生成您的第一个完成。‍

不错!现在,试着让你的指示更具体。‍

如您所见,在我们的提示中添加一个简单的形容词会改变生成的完成。设计提示本质上就是您“编程”模型的方式。

2添加一些示例

制定好的说明对于获得好的结果很重要,但有时它们还不够。让我们试着让你的指令更复杂。‍

这个完成并不是我们想要的。这些名称非常通用,而且模型似乎没有接受我们指令中的马匹部分。让我们看看能否让它提出一些更相关的建议。

在许多情况下,向模型展示告诉模型您想要什么是很有帮助的。在您的提示中添加示例可以帮助传达模式或细微差别。尝试提交此提示,其中包含几个示例。‍

好的!添加我们期望给定输入的输出示例有助于模型提供我们正在寻找的名称类型。

3调整您的设置

提示设计并不是您可以使用的唯一工具。您还可以通过调整设置来控制完成。最重要的设置之一称为温度

您可能已经注意到,如果您在上面的示例中多次提交相同的提示,模型将始终返回相同或非常相似的完成。这是因为您的温度设置为0

尝试将 temperature 设置为1重新提交几次相同的提示。‍

温度

看看发生了什么?当温度高于 0 时,每次提交相同的提示会导致不同的完成。

请记住,该模型预测哪个文本最有可能跟在它前面的文本之后。温度是一个介于 0 和 1 之间的值,基本上可以让您控制模型在进行这些预测时的置信度。降低温度意味着它将承担更少的风险,并且完成将更加准确和确定。升高温度将导致更多样化的完成。深潜了解标记和概率

对于您的昵称生成器,您可能希望能够生成很多名字创意。0.6 的适中温度应该可以正常工作。

4构建您的应用程序

节点.JS蟒蛇(烧瓶)

现在您已经找到了一个好的提示和设置,您已经准备好构建您的爱称生成器了!我们编写了一些代码来帮助您入门 – 按照以下说明下载代码并运行应用程序。

设置

如果您没有安装 Node.js,请从此处安装然后通过克隆此存储库下载代码。

git clone https://github.com/openai/openai-quickstart-node.git

如果您不想使用 git,您也可以使用此 zip 文件下载代码。

添加您的 API 密钥

导航到项目目录并复制示例环境变量文件。

cd openai-quickstart-node
cp .env.example .env

复制您的秘密 API 密钥并将其设置为OPENAI_API_KEY您新创建的.env文件中的。如果您还没有创建密钥,您可以在下面创建。

姓名钥匙已创建最后使用 
密钥sk-…NnPv2023年2月22日2023年4月15日
用于autogptsk-…0DTO2023年4月17日2023年4月18日

创建新密钥

重要说明:使用 Javascript 时,所有 API 调用都应仅在服务器端进行,因为在客户端浏览器代码中进行调用会暴露您的 API 密钥。有关更多详细信息,请参见此处。

运行应用

在项目目录下运行以下命令安装依赖并运行应用程序。

npm install
npm run dev

在浏览器中打开http://localhost:3000,您应该会看到昵称生成器!

理解代码

generate.js在文件夹中打开openai-quickstart-node/pages/api。在底部,您将看到生成我们在上面使用的提示的函数。由于用户将输入他们宠物的动物类型,因此它会动态换出指定动物的提示部分。

function generatePrompt(animal) {
  const capitalizedAnimal = animal[0].toUpperCase() + animal.slice(1).toLowerCase();  return `Suggest three names for an animal that is a superhero.

Animal: Cat
Names: Captain Sharpclaw, Agent Fluffball, The Incredible Feline
Animal: Dog
Names: Ruff the Protector, Wonder Canine, Sir Barks-a-Lot
Animal: ${capitalizedAnimal}
Names:`;
}

在 中的第 9 行generate.js,您将看到发送实际 API 请求的代码。如上所述,它使用温度为 0.6 的完成端点。

const completion = await openai.createCompletion({
  model: "text-davinci-003",
  prompt: generatePrompt(req.body.animal),
  temperature: 0.6,
});

就是这样!您现在应该完全了解您的(超级英雄)宠物名称生成器如何使用 OpenAI API!

价格

我们提供一系列具有不同功能和价位的型号。在本教程中,我们使用了. 我们建议使用此模型或进行试验,因为它们会产生最佳结果。一旦一切正常,您就可以查看其他模型是否可以以更低的延迟和成本产生相同的结果。或者,如果您可能需要迁移到更强大的模型,例如.text-davinci-003gpt-3.5-turbogpt-4

单个请求(提示和完成)中处理的token总数不能超过模型的最大上下文长度。对于大多数模型,这是 4,096 个标记或大约 3,000 个单词。根据粗略的经验法则,对于英文文本,1 个标记大约为 4 个字符或 0.75 个单词。

定价为每 1,000 个token即用即付,前 3 个月可使用 5 美元的免费信用额度。了解更多

关闭

这些概念和技术将大大有助于您构建自己的应用程序。也就是说,这个简单的例子只是展示了可能性的一小部分!完成端点非常灵活,几乎可以解决任何语言处理任务,包括内容生成、摘要、语义搜索、主题标记、情感分析等等。

要记住的一个限制是,对于大多数模型,单个 API 请求在提示和完成之间最多只能处理 4,096 个token。

对于更高级的任务,您可能会发现自己希望能够提供更多的示例或上下文,而不是单个提示中的内容。微调API是执行此类更高级任务的绝佳选择。微调允许您提供数百甚至数千个示例来为您的特定用例定制模型。

模型

概述

OpenAI API 由具有不同功能和价位的多种模型提供支持。您还可以通过微调针对您的特定用例对我们的原始基础模型进行有限的定制。

楷模描述
GPT-4 有限公测一组在 GPT-3.5 上改进的模型,可以理解并生成自然语言或代码
GPT-3.5一组在 GPT-3 上改进的模型,可以理解并生成自然语言或代码
给她测试版可以在给定自然语言提示的情况下生成和编辑图像的模型
耳语测试版一种可以将音频转换为文本的模型
嵌入一组可以将文本转换为数字形式的模型
适度可以检测文本是否敏感或不安全的微调模型
GPT-3一组可以理解和生成自然语言的模型
法典弃用一组可以理解和生成代码的模型,包括将自然语言翻译成代码

我们还发布了开源模型,包括Point-EWhisperJukeboxCLIP

访问我们的研究人员模型索引,详细了解我们的研究论文中介绍了哪些模型以及 InstructGPT 和 GPT-3.5 等模型系列之间的差异。


模型端点兼容性

此列表不包括我们的第一代嵌入模型和我们的DALL·E 模型

ENDPOINTMODEL NAME
/v1/chat/completionsgpt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301
/v1/completionstext-davinci-003, text-davinci-002, text-curie-001, text-babbage-001, text-ada-001
/v1/editstext-davinci-edit-001, code-davinci-edit-001
/v1/audio/transcriptionswhisper-1
/v1/audio/translationswhisper-1
/v1/fine-tunesdavinci, curie, babbage, ada
/v1/embeddingstext-embedding-ada-002, text-search-ada-doc-001
/v1/moderationstext-moderation-stable, text-moderation-latest

持续的模型升级

随着 的发布gpt-3.5-turbo,我们的一些模型现在正在不断更新。为了减少模型更改以意外方式影响我们用户的可能性,我们还提供将在 3 个月内保持静态的模型版本。随着模型更新的新节奏,我们还让人们能够贡献评估,以帮助我们针对不同的用例改进模型。如果您有兴趣,请查看OpenAI Evals存储库。

以下模型是将在指定日期弃用的临时快照。如果您想使用最新的模型版本,请使用标准模型名称,例如gpt-4gpt-3.5-turbo

型号名称弃用日期
gpt-3.5-turbo-03012023 年 6 月 1 日
gpt-4-03142023 年 6 月 14 日
gpt-4-32k-03142023 年 6 月 14 日

GPT-4 有限公测

GPT-4 是一个大型多模态模型(今天接受文本输入并发出文本输出,将来会出现图像输入),由于其更广泛的常识和高级推理,它可以比我们以前的任何模型更准确地解决难题能力。与 GPT-4 一样gpt-3.5-turbo,GPT-4 针对聊天进行了优化,但也适用于使用聊天完成 API 的传统完成任务。在我们的聊天指南中了解如何使用 GPT-4 。GPT-4 目前处于有限测试阶段,只有获得访问权限的人才能访问。请

加入候补名单,以便在容量可用时获得访问权限。

最新款描述最大代币训练数据
gpt-4比任何 GPT-3.5 模型都更强大,能够执行更复杂的任务,并针对聊天进行了优化。将使用我们最新的模型迭代进行更新。8,192 个代币截至 2021 年 9 月
gpt-4-03142023 年 3 月 14 日的快照gpt-4。与 不同的是gpt-4,此模型不会收到更新,并且只会在 2023 年 6 月 14 日结束的三个月内提供支持。8,192 个代币截至 2021 年 9 月
gpt-4-32k与基本gpt-4模式相同的功能,但上下文长度是其 4 倍。将使用我们最新的模型迭代进行更新。32,768 个代币截至 2021 年 9 月
gpt-4-32k-03142023 年 3 月 14 日的快照gpt-4-32。与 不同的是gpt-4-32k,此模型不会收到更新,并且只会在 2023 年 6 月 14 日结束的三个月内提供支持。32,768 个代币截至 2021 年 9 月

对于许多基本任务,GPT-4 和 GPT-3.5 模型之间的差异并不显着。然而,在更复杂的推理情况下,GPT-4 比我们之前的任何模型都更有能力。

GPT-3.5

GPT-3.5 模型可以理解并生成自然语言或代码。我们在 GPT-3.5 系列中功能最强大且最具成本效益的模型gpt-3.5-turbo已针对聊天进行了优化,但也适用于传统的完成任务。

最新款描述最大代币训练数据
gpt-3.5-turbo功能最强大的 GPT-3.5 模型,并针对聊天进行了优化,成本仅为text-davinci-003. 将使用我们最新的模型迭代进行更新。4,096 个代币截至 2021 年 9 月
gpt-3.5-turbo-03012023 年 3 月 1 日的快照gpt-3.5-turbo。与 不同的是gpt-3.5-turbo,此模型不会收到更新,并且只会在 2023 年 6 月 1 日结束的三个月内提供支持。4,096 个代币截至 2021 年 9 月
文本-​​davinci-003可以以比居里、巴贝奇或 ada 模型更好的质量、更长的输出和一致的指令遵循来完成任何语言任务。还支持在文本中插入补全。4,097 个代币截至 2021 年 6 月
文本-​​davinci-002类似的能力,text-davinci-003但训练有监督的微调而不是强化学习4,097 个代币截至 2021 年 6 月
代码-davinci-002针对代码完成任务进行了优化8,001 个代币截至 2021 年 6 月

我们建议使用gpt-3.5-turbo其他 GPT-3.5 模型,因为它的成本较低。OpenAI 模型是不确定的,这意味着相同的输入可以产生不同的输出。

将温度设置为 0 将使输出大部分具有确定性,但可能会保留少量可变性。

特定功能模型

虽然新gpt-3.5-turbo模型针对聊天进行了优化,但它非常适合传统的完成任务。原始的 GPT-3.5 模型针对文本补全进行了优化。

我们用于创建嵌入编辑文本的端点使用它们自己的一组专用模型。

找到合适的模型

进行试验gpt-3.5-turbo是了解 API 功能的好方法。在您了解要实现的目标之后,您可以继续使用gpt-3.5-turbo或使用其他模型并尝试围绕其功能进行优化。

您可以使用GPT 比较工具,让您并排运行不同的模型来比较输出、设置和响应时间,然后将数据下载到 Excel 电子表格中。

给她 测试版

DALL·E 是一个人工智能系统,可以根据自然语言的描述创建逼真的图像和艺术作品。我们目前支持在提示的情况下创建具有特定大小的新图像、编辑现有图像或创建用户提供的图像的变体的能力。

通过我们的 API 提供的当前 DALL·E 模型是 DALL·E 的第 2 次迭代,具有比原始模型更逼真、更准确且分辨率高 4 倍的图像。您可以通过我们的实验室界面API进行试用。

耳语 测试版

Whisper 是一种通用的语音识别模型。它在不同音频的大型数据集上进行训练,也是一个多任务模型,可以执行多语言语音识别以及语音翻译和语言识别。Whisper v2-large 模型目前可通过我们的 API 使用whisper-1模型名称获得。

目前, Whisper 的开源版本与通过我们的 API 提供的版本之间没有区别。然而,通过我们的 API,我们提供了一个优化的推理过程,这使得通过我们的 API 运行 Whisper 比通过其他方式运行要快得多。有关 Whisper 的更多技术细节,您可以阅读论文

嵌入

嵌入是文本的数字表示,可用于衡量两段文本之间的相关性。我们的第二代嵌入模型text-embedding-ada-002旨在以一小部分成本取代之前的 16 种第一代嵌入模型。嵌入可用于搜索、聚类、推荐、异常检测和分类任务。您可以在公告博客文章中阅读有关我们最新嵌入模型的更多信息。


适度

审核模型旨在检查内容是否符合 OpenAI 的使用政策。这些模型提供了查找以下类别内容的分类功能:仇恨、仇恨/威胁、自残、性、性/未成年人、暴力和暴力/图片。您可以在我们的审核指南中找到更多信息。

审核模型接受任意大小的输入,该输入会自动分解以修复模型特定的上下文窗口。

模型描述
文本审核最新最有能力的审核模型。精度会比稳定模型略高
文本审核稳定几乎与最新型号一样强大,但稍旧一些。

GPT-3

GPT-3 模型可以理解和生成自然语言。这些模型被更强大的 GPT-3.5 代模型所取代。但是,原始 GPT-3 基本模型(davincicurieadababbage)是当前唯一可用于微调的模型。

最新款描述最大代币训练数据
文本-​​居里-001非常有能力,比达芬奇更快,成本更低。2,049 个代币截至 2019 年 10 月
text-babbage-001能够执行简单的任务,速度非常快,成本更低。2,049 个代币截至 2019 年 10 月
文本-​​a-001能够执行非常简单的任务,通常是 GPT-3 系列中最快的型号,而且成本最低。2,049 个代币截至 2019 年 10 月
达芬奇功能最强大的 GPT-3 模型。可以完成其他模型可以完成的任何任务,而且通常质量更高。2,049 个代币截至 2019 年 10 月
居里非常有能力,但比达芬奇更快,成本更低。2,049 个代币截至 2019 年 10 月
白菜能够执行简单的任务,速度非常快,成本更低。2,049 个代币截至 2019 年 10 月
能够执行非常简单的任务,通常是 GPT-3 系列中最快的型号,而且成本最低。2,049 个代币截至 2019 年 10 月

法典 弃用

Codex 模型现已弃用。他们是我们 GPT-3 模型的后代,可以理解和生成代码。他们的训练数据包含自然语言和来自 GitHub 的数十亿行公共代码。了解更多

他们最擅长 Python,精通 JavaScript、Go、Perl、PHP、Ruby、Swift、TypeScript、SQL,甚至 Shell 等十几种语言。

以下 Codex 模型现已弃用:

最新款描述最大代币训练数据
代码-davinci-002功能最强大的 Codex 型号。特别擅长将自然语言翻译成代码。除了补全代码,还支持在代码中插入补全。8,001 个代币截至 2021 年 6 月
代码-davinci-001早期版本code-davinci-0028,001 个代币截至 2021 年 6 月
代码-cushman-002几乎与 Davinci Codex 一样强大,但速度稍快。这种速度优势可能使其成为实时应用程序的首选。最多 2,048 个代币
代码-cushman-001早期版本code-cushman-002最多 2,048 个代币

文本补全

了解如何生成或操作文本

介绍

完成端点可用于各种任务。它为我们的任何模型提供了一个简单但功能强大的界面。您输入一些文本作为提示,模型将生成一个文本补全,尝试匹配您提供的任何上下文或模式。比如给API提示“正如笛卡尔所说,我认为,因此”,它会大概率返回补全“我是”。

开始探索补全的最佳方式是通过我们的 Playground。它只是一个文本框,您可以在其中提交提示以生成完成。要自己尝试,请在 Playground 中打开此示例

为冰淇淋店写一个标语。

提交后,您会看到如下内容:

为冰淇淋店写一个标语。每一勺我们都会微笑!

您看到的实际完成情况可能有所不同,因为默认情况下 API 是不确定的。这意味着即使您的提示保持不变,您每次调用它时可能会得到略微不同的完成。将温度设置为 0 将使输出大部分具有确定性,但可能会保留少量可变性。

这个简单的文本输入、文本输出界面意味着您可以通过提供说明或您希望它做什么的几个示例来“编程”模型。它的成功通常取决于任务的复杂性和提示的质量。一个好的经验法则是考虑如何为中学生写一个应用题来解决。一个写得很好的提示提供了足够的信息让模型知道你想要什么以及它应该如何响应。

本指南涵盖了一般的提示设计最佳实践和示例。要了解有关使用我们的 Codex 模型处理代码的更多信息,请访问我们的代码指南。请记住,默认模型的训练数据将在 2021 年中断,因此它们可能不了解时事。我们计划在未来增加更多的持续培训。

提示设计

基本

我们的模型可以做任何事情,从生成原创故事到执行复杂的文本分析。因为他们可以做很多事情,所以你必须明确描述你想要什么。展示,而不仅仅是讲述,通常是获得良好提示的秘诀。

创建提示的三个基本准则:

展示和讲述。通过说明、示例或两者的结合,明确您想要什么。如果您希望模型按字母顺序对项目列表进行排名或按情绪对段落进行分类,请向它展示您想要的。

提供质量数据。如果您正在尝试构建分类器或让模型遵循某种模式,请确保有足够的示例。一定要校对你的例子——模型通常足够聪明,可以看穿基本的拼写错误并给你一个回应,但它也可能认为这是故意的,它会影响回应。

检查您的设置。temperature 和 top_p 设置控制模型在生成响应时的确定性。如果您要求它提供只有一个正确答案的答复,那么您需要将这些设置得较低。如果您正在寻找更多样化的响应,那么您可能希望将它们设置得更高。人们在使用这些设置时犯的第一个错误是假设它们是“聪明”或“创造力”控制。

故障排除

如果您在使 API 按预期执行时遇到问题,请遵循此清单:

  1. 是否清楚预期的一代应该是什么?
  2. 有足够的例子吗?
  3. 你检查过你的例子是否有错误吗?(API 不会直接告诉你)
  4. 您是否正确使用 temperature 和 top_p?

分类

为了使用 API 创建文本分类器,我们提供了任务描述和一些示例。在此示例中,我们展示了如何对推文的情绪进行分类。确定推文的情绪是积极的、中性的还是消极的。推文:我喜欢新的蝙蝠侠电影!情绪:

在操场上打开

值得关注此示例中的几个功能:

  1. 使用通俗易懂的语言来描述您的输入和输出。我们对输入“Tweet”和预期输出“Sentiment”使用通俗易懂的语言。作为最佳实践,从简单的语言描述开始。虽然您通常可以使用速记或键来指示输入和输出,但最好从尽可能具有描述性开始,然后向后工作以删除多余的单词并查看性能是否保持一致。
  2. 显示 API 如何响应任何情况。在此示例中,我们在指令中包含了可能的情绪标签。中性标签很重要,因为在很多情况下,即使是人类也很难确定某事是积极的还是消极的,以及两者都不是的情况。
  3. 对于熟悉的任务,您需要更少的示例。对于这个分类器,我们不提供任何示例。这是因为 API 已经理解了情绪和推文的概念。如果您正在为 API 可能不熟悉的内容构建分类器,则可能需要提供更多示例。

提高分类器的效率

现在我们已经掌握了如何构建分类器,让我们以该示例为例并使其更加高效,以便我们可以使用它从一次 API 调用中获取多个结果。将这些推文中的情绪分类:1.“我受不了家庭作业”2.“这糟透了。我很无聊😠”3.“我等不及万圣节了!!!” 4.“我的猫很可爱❤️❤️”5.“我讨厌巧克力”推文情绪评分:

在操场上打开

我们提供了一个带编号的推文列表,这样 API 就可以在一次 API 调用中对五个(甚至更多)推文进行评分。

请务必注意,当您要求 API 创建列表或评估文本时,您需要格外注意您的概率设置(Top P 或 Temperature)以避免漂移。

  1. 通过运行多个测试确保您的概率设置得到正确校准。
  2. 不要让您的列表太长,否则 API 可能会发生变化。

一代

您可以使用 API 完成的最强大但最简单的任务之一是产生新的想法或输入版本。您可以询问任何内容,从故事创意到商业计划,再到人物描述和营销口号。在此示例中,我们将使用 API 来创建在健身中使用虚拟现实的想法。集思广益结合 VR 和健身的一些想法:

在操场上打开

如果需要,您可以通过在提示中包含一些示例来提高响应质量。


对话

API 非常擅长与人甚至与自己进行对话。仅需几行指令,我们就已经看到 API 作为一个客户服务聊天机器人运行,它可以智能地回答问题而不会感到慌张,或者是一个聪明的开玩笑的对话伙伴,可以开玩笑和双关语。关键是告诉 API 它应该如何表现,然后提供一些示例。

以下是扮演 AI 回答问题角色的 API 示例:以下是与AI助手的对话。助理乐于助人、富有创意、聪明而且非常友好。人类:你好,你是谁?AI:我是 OpenAI 创建的 AI。今天我能帮到你什么?人类:

在操场上打开

这就是创建能够进行对话的聊天机器人所需的全部。在其简单性的背后,有几件事情值得关注:

  1. 我们告诉 API 意图,但我们也告诉它如何表现。就像其他提示一样,我们将 API 提示到示例所代表的内容中,但我们还添加了另一个关键细节:我们明确说明如何与短语“助手很有帮助、有创意、聪明且非常友好”进行交互。 “如果没有该指令,API 可能会偏离并模仿与之交互的人,并变得讽刺或我们想要避免的其他行为。
  2. 我们给 API 一个身份。一开始我们让 API 作为 AI 助手响应。虽然 API 没有内在身份,但这有助于它以尽可能接近事实的方式做出响应。您可以通过其他方式使用身份来创建其他类型的聊天机器人。如果您告诉 API 以一名作为生物学研究科学家的女性的身份做出回应,您将从 API 中获得智能和深思熟虑的评论,类似于您对具有该背景的人的期望。

在这个例子中,我们创建了一个聊天机器人,它有点讽刺并且不情愿地回答问题:Marv 是一个聊天机器人,它不情愿地用讽刺的回答回答问题:你:一公斤是多少磅?马尔夫:又是这个?一公斤有 2.2 磅。请记下这一点。你:HTML 代表什么?Marv:Google 是不是太忙了?超文本标记语言。T是为了在未来尝试提出更好的问题。你:第一架飞机是什么时候飞的?Marv:1903 年 12 月 17 日,Wilbur 和 Orville Wright 进行了首飞。我希望他们能来把我带走。你:生命的意义是什么?马尔夫:我不确定。我会问我的朋友谷歌。你:天空为什么是蓝色的?

在操场上打开

为了创建一个有趣且有点帮助的聊天机器人,我们提供了一些问题和答案示例,展示了 API 如何回复。所需要的只是一些讽刺的回应,API 能够识别模式并提供无穷无尽的讽刺回应。


转型

API 是一种语言模型,熟悉单词和字符用于表达信息的各种方式。这范围从自然语言文本到代码和英语以外的语言。API 还能够在允许它以不同方式总结、转换和表达内容的级别上理解内容。

翻译

在此示例中,我们向 API 展示了如何将英语转换为法语、西班牙语和日语:将其翻译成法语、西班牙语和日语:您有哪些房间可用?

在操场上打开

此示例之所以有效,是因为 API 已经掌握了这些语言,因此无需尝试教授它们。

如果您想将英语翻译成 API 不熟悉的语言,则需要为其提供更多示例,甚至需要微调模型以使其流畅地完成。

转换

在此示例中,我们将电影名称转换为表情符号。这显示了 API 对选取模式和处理其他字符的适应性。将电影片名转换为表情符号。回到未来:👨👴🚗🕒蝙蝠侠:🤵🦇变形金刚:🚗🤖星球大战:

在操场上打开


总结

API 能够掌握文本的上下文并以不同的方式重新措辞。在这个例子中,我们创建了一个孩子可以从更长、更复杂的文本段落中理解的解释。这说明API对语言的把握很深。给一个二年级的学生总结一下:木星是距离太阳第五远的行星,也是太阳系中最大的行星。它是一颗气体巨行星,质量是太阳的千分之一,但却是太阳系中所有其他行星总和的两倍半。木星是夜空中肉眼可见的最亮天体之一,早在有记载的历史之前就已为古代文明所知。它以罗马神木星命名。 [19] 从地球上看,木星的亮度足以使其反射光投下可见的阴影,[20] 平均来说,木星是继月球和金星之后夜空中第三亮的自然物体。

在操场上打开

完成

虽然所有提示都会导致完成,但在您希望 API 从您中断的地方继续执行的情况下,将文本完成视为它自己的任务会很有帮助。例如,如果给出此提示,API 将继续垂直农业的思路。您可以降低温度设置以使 API 更专注于提示的意图,或者提高温度设置以使其偏离正切。垂直农业为本地生产食品、降低运输成本和

在操场上打开

下一个提示显示了如何使用补全来帮助编写 React 组件。我们向 API 发送一些代码,它能够继续剩下的,因为它了解 React 库。我们建议将我们的Codex 模型用于涉及理解或生成代码的任务。要了解更多信息,请访问我们的代码指南。从“反应”导入反应;const HeaderComponent = () => (

在操场上打开


事实回应

API 有很多知识,这些知识是从它接受训练的数据中学到的。它还能够提供听起来非常真实但实际上是虚构的响应。有两种方法可以限制 API 编造答案的可能性。

  1. 为 API 提供基本事实。如果您向 API 提供文本正文来回答有关问题(如维基百科条目),那么它就不太可能伪造响应。
  2. 使用低概率并向 API 展示如何说“我不知道”。如果 API 理解在不太确定回答“我不知道”或某些变体是否合适的情况下,它就不太愿意编造答案。

在此示例中,我们为 API 提供它知道的问题和答案示例,然后提供它不知道的示例并提供问号。我们还将概率设置为零,这样 API 更有可能以“?”响应。如果有任何疑问。问:蝙蝠侠是谁?A:蝙蝠侠是一个虚构的漫画人物。问:什么是躯干复杂性?A: ?问:Devz9 是什么?A: ?问:乔治·卢卡斯是谁?A:乔治卢卡斯是美国电影导演和制片人,以创作星球大战而闻名。问:加州的首府是哪里?答:萨克拉门托。问:什么绕地球运行?答:月亮。问:弗雷德·里克森是谁?A: ?问:什么是原子?A:原子是构成一切的微小粒子。问:Alvan Muntz 是谁?A: ?问:什么是 Kozar-09?A: ?问:火星有多少颗卫星?A:两个,火卫一和火卫二。问:

在操场上打开

插入文字测试版

完成端点还支持通过提供前缀提示之外的后缀提示在文本中插入文本。在编写长文本、段落之间的过渡、遵循大纲或引导模型走向结尾时,这种需求自然会出现。这也适用于代码,可用于插入函数或文件的中间。请访问我们的代码指南以了解更多信息。

为了说明后缀上下文对我们的预测能力有多么重要,请考虑提示“今天我决定做出重大改变”。有很多方法可以想象完成句子。但是如果我们现在提供故事的结尾:“我的新头发得到了很多赞美!”,预期的完成就变得很清楚了。

我在波士顿大学上了大学。获得学位后,我决定做出改变。大变样!   我收拾行囊搬到了美国西海岸。  现在,我怎么也看不够太平洋!

通过为模型提供额外的上下文,它可以更加可控。然而,这对模型来说是一个更具约束性和挑战性的任务。

最佳实践

插入文本是 Beta 版的一项新功能,您可能需要修改 API 的使用方式以获得更好的结果。以下是一些最佳实践:

使用 max_tokens > 256。该模型更擅长插入更长的补全。如果 max_tokens 太小,模型可能会在连接到后缀之前被切断。请注意,即使使用更大的 max_tokens,您也只会根据生成的代币数量付费。

更喜欢 finish_reason == “stop”。当模型到达自然停止点或用户提供的停止序列时,它会将 finish_reason 设置为“停止”。这表明该模型已设法很好地连接到后缀,并且是完成质量的良好信号。这对于在使用 n > 1 或重采样时在几个完成之间进行选择尤其相关(请参阅下一点)。

重新采样 3-5 次。虽然几乎所有补全都连接到前缀,但在更困难的情况下,模型可能难以连接后缀。我们发现,在这种情况下,重采样 3 次或 5 次(或使用 k=3,5 的 best_of)并选择带有“stop”作为其 finish_reason 的样本可能是一种有效的方法。重采样时,您通常需要更高的温度来增加多样性。

注意:如果所有返回的样本都有 finish_reason == “length”,很可能是 max_tokens 太小,模型在设法自然地连接提示和后缀之前用完了标记。考虑在重采样之前增加 max_tokens。

尝试提供更多线索。在某些情况下,为了更好地帮助模型的生成,您可以通过提供一些模式示例来提供线索,模型可以遵循这些模式来决定自然停止的位置。

如何制作美味的热巧克力: 1.将水烧开 2. 将热巧克力放入杯中 3. 向杯中加入开水4. 享用热巧克力

1.狗是忠诚的动物。2. 狮子是凶猛的动物。3. 海豚是顽皮的动物。4. 马是高贵的动物。

编辑文本Α

edits端点可用于编辑文本,而不仅仅是完成文本您提供一些文本和如何修改它的说明,模型text-davinci-edit-001将尝试相应地对其进行编辑。这是用于翻译、编辑和调整文本的自然界面。这对于重构和使用代码也很有用。请访问我们的代码指南以了解更多信息。在此初始测试期间,编辑端点的使用是免费的。

例子

输入

GPT-3 是一个非常好的 AI 它非常擅长写回复 当它被问到一个问题时 它会给出它的建议 这是一首它写的押韵的诗

指示

用 GPT-3 的声音做这个

输出

我是一个非常好的AI

很擅长写回复当

有人问我问题时

我给出我的建议这是

写的一首押韵的诗

GPT-4 API接口文档中文版OpenAI

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

滚动到顶部