介绍
在本文中,我们将使用 GPT-3。我将向您展示如何访问它,并提供一些示例说明您可以使用它做什么,以及您可以使用它构建什么样的应用程序!
入门
在您可以使用 GPT-3 之前,您必须首先使用OpenAI创建一个帐户。设置帐户后,要访问 API,您需要添加计费凭据。OpenAI 将根据每个请求向您收费。您可以在此处查看 API 费用。
添加账单详细信息后,您将能够检索您的 API 密钥。您将需要它来访问 API。保密很重要,因为任何有权访问此密钥的人都可以代表您提出请求,向您收取费用。
重要的
由于使用 API 需要花钱,因此最好确保在发布应用程序之前考虑到这一点。如果您的应用程序在每次有人加载它时都发出 OpenAPI 请求,然后您为此付费,您可能很快就会产生大量费用。
我建议您只允许经过身份验证的用户使用您的应用程序,并且我肯定会建议添加某种 API 限制。如果您正在构建某种 SaaS 应用程序,也许您可以让客户为他们提出的每个请求付费,确保他们承担相关的成本,而不是您。这可以通过 Stripe 使用记录实现自动化,您可以在此处了解更多信息。
使用 API
设置我们的环境
现在您已经获得了 API 密钥,让我们玩得开心!为了让我们的生活更轻松,让我们使用 OpenAI SDK for Python。OpenAI 也有适用于 Node.js 的 SDK,但是,对于这个演示,我们将使用 Python。您可以使用命令安装 Python OpenAI SDK pip3 install openai
。
接下来,创建一个新.env
文件。这就是我们要在本地存储我们的 API 密钥的内容,您可以通过将以下行添加到文件中来做到这一点
OPENAI_API_KEY=YOUR_API_KEY
(其中 YOUR_API_KEY 替换为您的 OpenAI API 密钥)。
将此文件保留在任何公共 GitHub 存储库之外很重要,您可以使用.gitignore
文件并将其添加.env
到其中。
现在为了加载.env
文件,我们需要 dotenv 依赖项,您可以使用pip3 install python-dotenv
.
现在创建一个新的 Python 文件并添加以下代码行
import os
import openai
from dotenv import load_dotenv
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
def main():
pass
if __name__ == "__main__":
main()
这对您来说是一个很好的启动器,它将自动将您的 API 密钥从.env
文件加载到 OpenAI SDK 中,以便可以使用它。一般来说,使用
if __name__ == "__main__":
# Your code here
生成文本
要使用 GPT-3 生成文本,请将以下代码添加到main
函数中
response = openai.Completion.create(
model="text-davinci-002",
prompt="Today I went to the movies and...",
temperature=1,
max_tokens=60,
)
print(response)
- 该
model
参数指定将生成文本的模型类型。默认情况下,OpenAI 提供了几个模型供您选择,您可以在此处查看。此外,您甚至可以创建自己的模型,但这超出了本教程的范围。 - 该
prompt
参数指定您从模型提供的输入提示,然后模型将自动完成对它的响应。这可以是任何你想要的。 - 该
temperature
参数指定响应的不确定性。这意味着该模型更有可能产生创造性的东西,并且可以被认为是模型承担风险并偏离正常反应。将此参数设置为 1 意味着模型将返回它不确定的结果,相比之下,将此参数设置为 0 意味着模型将返回它几乎可以肯定的结果。 - 该
max_tokens
参数指定模型允许生成的最大令牌数量作为其输出的一部分。您需要为生成的更多令牌付费,因此请务必小心使用此参数。
如果您运行代码,您应该获得一个 API 响应,其中包含 AI 模型根据您的提示自动生成的响应,例如
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"text": "\n\nI saw a great film!"
}
],
"created": 1658030956,
"id": "cmpl-5UpsiIqm3IyQmFy1op27TOZ6Brvc6",
"model": "text-davinci-002",
"object": "text_completion",
"usage": {
"completion_tokens": 16,
"prompt_tokens": 8,
"total_tokens": 24
}
}
很酷!另外,你可以告诉模型你想让它做什么,它会遵从它。例如,让我们看看我们是否让模型能够使用以下提示为我们格式化日期
"Format the following time in the form of DD/MM/YYYY
May 4th 1989"
响应
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"text": "\n\n04/05/1989"
}
],
"created": 1658031618,
"id": "cmpl-5Uq3OlXZA57KTkn2MabHh8l8FdbnS",
"model": "text-davinci-002",
"object": "text_completion",
"usage": {
"completion_tokens": 8,
"prompt_tokens": 20,
"total_tokens": 28
}
}
这有多棒?现在,您可以从模型中获取该字符串响应并根据您的应用程序的其余部分对其进行处理。
当然,GPT-3 的功能远不止日期格式,这只是一个例子。我鼓励你玩弄这个模型,看看你能用它做什么!GPT-3 能够执行的其他任务的一些示例包括:
- 翻译
- 总结
- 代码完成
- 配方创建
如果你能想到的话,GPT-3 大概可以做到。
结论
因此,现在您知道如何利用迄今为止最先进的语言模型之一来满足您的所有个人或业务需求。
关于成本,您需要注意几件事,但是,考虑到您可以获得的功能,这绝对值得,更不用说节省您构建、培训、测试和部署您的时间和金钱的时间和金钱了。自己的机器学习模型,即使是接近 GPT-3 的结果也不太可能实现。
如果您需要使用 GPT-3 构建项目的灵感,请在此处查看他们为您提供的示例列表。此外,如果您想了解有关在您的应用程序中使用 GPT-3 的更多信息,请查看文档!最后,确保您了解并遵循 OpenAI使用指南。
原文地址:https://dev.blog.benosborn.tech/playing-with-gpt-3-using-the-openai-api-and-python