使用 OpenAI API 和 Python 玩 GPT-3

介绍

在本文中,我们将使用 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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 193,968评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,682评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,254评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,074评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,964评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,055评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,484评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,170评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,433评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,512评论 2 308
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,296评论 1 325
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,184评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,545评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,150评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,437评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,630评论 2 335

推荐阅读更多精彩内容