ChatGPT官方文档翻译2-快速开始

快速开始

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

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

  • 内容生成(Content generation)
  • 摘要(Summarization)
  • 分类、归类和情感分析(Classification, categorization, and sentiment analysis)
  • 数据提取(Data extraction)
  • 翻译(Translation)
  • 还有更多!

介绍

完成端点(completions endpoint)是我们API的核心,提供一个非常灵活和强大的简单接口。您输入一些文本作为提示,API将返回一个文本补全,试图匹配您给出的任何指令或上下文。例如:

你可以把它想象成一个非常先进的自动完成功能——模型会处理你的文本提示,并尝试预测最有可能出现的下一步。

从一个指令开始

想象一下你想创建一个宠物名字生成器。从零开始想出名字很难!

首先,您需要一个明确表达您想要的提示词。让我们从一条指令开始。提交这个提示词以生成您的第一个完成结果。

给一匹马起个名字

(点击官网文档里的绿色按钮,会生成结果https://platform.openai.com/docs/quickstart/start-with-an-instruction)

不错!现在,尝试使您的说明更具体。

给一匹黑马起个名字

(点击官网文档里的绿色按钮,会生成结果https://platform.openai.com/docs/quickstart/start-with-an-instruction)

正如您所看到的,将一个简单的形容词添加到我们的提示中会改变生成完成结果。 设计您的提示词,本质上就是如何“编程”模型。

添加一些示例

制作良好的指令,对于获得优质的结果非常重要,但有时这还不够。让我们尝试使您的指示更加复杂。

为一只超级英雄马建议三个名字。 (点击官网文档里的绿色按钮,会生成结果https://platform.openai.com/docs/quickstart/start-with-an-instruction)

这个结果并不完全符合我们的要求。这些名称相当通用,似乎模型没有理解我们指令中马的部分。让我们看看是否可以让它提出更相关的建议。

在许多情况下,在提示词中添加你想要的东西,会对生成答案有帮助。 将示例添加到提示中,可以帮助传达模式或细微差别。尝试提交包含一些示例的此提示。

动物:猫
名称:尖爪队长,毛球特工,超级猫咪

动物:狗
名称:保护者拉夫,奇迹犬,吠叫大师巴克斯

动物:马
名称:
ChatGPT生成的名字:Super Stallion, Mighty Mare, The Magnificent Equine(超级种马、强大的母马、壮丽的马)

添加期望的输出示例,有助于模型生成我们想要的名字。

调整您的设置

设计提示词并不是可以使用的唯一工具。你还可以通过调整设置来控制结果。其中最重要的设置之一称为温度(temperature)。

你可能已经注意到,如果你在上面的例子中多次提交相同的提示,模型总是返回相同或非常相似的结果。这是因为你的温度被设置为0。

尝试将温度设置为 1, 重新提交几次相同的提示词。

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

请记住,这个模型是:预测哪个文本最有可能跟在它前面的文本之后。 温度是一个介于 0 和 1 之间的值,基本上可以让您控制模型在进行这些预测时的置信度。 降低温度值,可以提高预测准确性和确定性;而增加温度值,则会产生更多样化的结果。

深度探究:了解标记(tokens)和概率(probabilities)

这一部分在官网上被折叠,需要单击才能打开页面。

(译者注释:这一部分非常好玩,在官网上有互动的功能,链接: https://platform.openai.com/docs/quickstart/adjust-your-settings )

我们的模型通过将文本分解为更小的单元(称为标记tokens)来处理文本。标记可以是单词、单词块或单个字符。编辑下面的文本以查看它是如何被标记化的。

像“猫cat”这样的常用词是单个标记(token),而不太常用的词通常被分解成多个标记。例如,“Butterscotch”翻译成四个标记:“But”、“ters”、“cot”和“ch”。许多标记以空格开头,例如“hello”和“bye”。

给定一些文本,该模型确定下一个最有可能出现的标记。例如,文本“Horses are my favorite”最有可能跟随标记“animal”。

这就是 温度 发挥作用的地方。如果您将此提示设置为 0 并提交 4 次,则模型始终会返回“动物animal”,因为它具有最高的概率。如果您增加温度,它将更冒险,并考虑概率较低的标记。

对于需要明确输出的任务,最好设置较低的温度;对于需要多样性或创造力的任务,或者想要为最终用户或人类专家生成几个变化时,较高的温度可能会有用。

对于您的宠物名字生成器,您可能希望能够生成许多名称想法。0.6 的适度温度应该效果良好。

创建您自己的应用程序

有NODE.JS 和 Python(flask)2个版本。 这里只以Python为例。

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

安装

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

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

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

Add your API key 添加您的 API 密钥

进入项目目录并复制示例环境变量文件。

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

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

运行代码

在项目目录下运行以下命令安装依赖并运行应用程序。运行命令时,您可能需要键入 python3 / pip3 而不是 python / pip ,具体取决于您的设置。

python -m venv venv
. venv/bin/activate
pip install -r requirements.txt
flask run

在浏览器中打开 http://localhost:5000 ,您应该会看到宠物名称生成器!

代码解释

在 openai-quickstart-python 文件夹中打开 app.py。在底部,您将看到生成我们上面使用的提示的函数。由于用户将输入其宠物类型,因此它会动态替换指定动物部分的提示。

def generate_prompt(animal):
    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: {}
Names:""".format(animal.capitalize())

在app.py的第14行,您将看到发送实际API请求的代码。如上所述,它使用温度为0.6。

response = openai.Completion.create(
  model="text-davinci-003",
  prompt=generate_prompt(animal),
  temperature=0.6
)

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

价格

我们提供了不同能力和价格的模型,建议使用text-davinci-003或gpt-3.5-turbo以获得最佳结果。一旦实现了功能,可以尝试其他模型以降低延迟和成本,或者升级到更强大的gpt-4模型。

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

定价是按使用量计费,每1,000个标记收取一次费用。在您的前3个月内,我们提供$5的免费信用额度可供使用。

小结

这些概念和技术将有助于您构建自己的应用程序。话虽如此,这个简单的例子只展示了可能性的一小部分!OpenAI api的功能强大,可以解决几乎任何语言处理任务,包括内容生成、摘要、语义搜索、主题标记、情感分析等等。

要记住的一个限制是,对于大多数模型,单个 API 请求,最多能处理4096个标记(包括提示词和结果)。

对于更高级的任务,您可能会发现自己希望能够提供更多的示例或上下文,而不是单个提示中的内容。 Fine-tuning API适用于更高级的任务,可以提供数百甚至数千个示例来定制模型以满足特定用例。

近期文章

发表评论