使用 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

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容