介紹
在本文中昨凡,我們將使用 GPT-3检激。我將向您展示如何訪問它,并提供一些示例說明您可以使用它做什么允蜈,以及您可以使用它構(gòu)建什么樣的應(yīng)用程序磷箕!
入門
在您可以使用 GPT-3 之前选酗,您必須首先使用OpenAI創(chuàng)建一個帳戶。設(shè)置帳戶后岳枷,要訪問 API芒填,您需要添加計費憑據(jù)。OpenAI 將根據(jù)每個請求向您收費空繁。您可以在此處查看 API 費用殿衰。
添加賬單詳細信息后,您將能夠檢索您的 API 密鑰盛泡。您將需要它來訪問 API播玖。保密很重要,因為任何有權(quán)訪問此密鑰的人都可以代表您提出請求饭于,向您收取費用蜀踏。
重要的
由于使用 API 需要花錢,因此最好確保在發(fā)布應(yīng)用程序之前考慮到這一點掰吕。如果您的應(yīng)用程序在每次有人加載它時都發(fā)出 OpenAPI 請求果覆,然后您為此付費,您可能很快就會產(chǎn)生大量費用殖熟。
我建議您只允許經(jīng)過身份驗證的用戶使用您的應(yīng)用程序局待,并且我肯定會建議添加某種 API 限制。如果您正在構(gòu)建某種 SaaS 應(yīng)用程序菱属,也許您可以讓客戶為他們提出的每個請求付費钳榨,確保他們承擔相關(guān)的成本,而不是您纽门。這可以通過 Stripe 使用記錄實現(xiàn)自動化薛耻,您可以在此處了解更多信息。
使用 API
設(shè)置我們的環(huán)境
現(xiàn)在您已經(jīng)獲得了 API 密鑰赏陵,讓我們玩得開心饼齿!為了讓我們的生活更輕松饲漾,讓我們使用 OpenAI SDK for Python。OpenAI 也有適用于 Node.js 的 SDK缕溉,但是考传,對于這個演示,我們將使用 Python证鸥。您可以使用命令安裝 Python OpenAI SDK pip3 install openai
僚楞。
接下來,創(chuàng)建一個新.env
文件枉层。這就是我們要在本地存儲我們的 API 密鑰的內(nèi)容镜硕,您可以通過將以下行添加到文件中來做到這一點
OPENAI_API_KEY=YOUR_API_KEY
(其中 YOUR_API_KEY 替換為您的 OpenAI API 密鑰)。
將此文件保留在任何公共 GitHub 存儲庫之外很重要返干,您可以使用.gitignore
文件并將其添加.env
到其中兴枯。
現(xiàn)在為了加載.env
文件,我們需要 dotenv 依賴項矩欠,您可以使用pip3 install python-dotenv
.
現(xiàn)在創(chuàng)建一個新的 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
函數(shù)中
response = openai.Completion.create(
model="text-davinci-002",
prompt="Today I went to the movies and...",
temperature=1,
max_tokens=60,
)
print(response)
- 該
model
參數(shù)指定將生成文本的模型類型乳蓄。默認情況下咪橙,OpenAI 提供了幾個模型供您選擇,您可以在此處查看虚倒。此外美侦,您甚至可以創(chuàng)建自己的模型,但這超出了本教程的范圍魂奥。 - 該
prompt
參數(shù)指定您從模型提供的輸入提示菠剩,然后模型將自動完成對它的響應(yīng)。這可以是任何你想要的耻煤。 - 該
temperature
參數(shù)指定響應(yīng)的不確定性具壮。這意味著該模型更有可能產(chǎn)生創(chuàng)造性的東西,并且可以被認為是模型承擔風險并偏離正常反應(yīng)哈蝇。將此參數(shù)設(shè)置為 1 意味著模型將返回它不確定的結(jié)果棺妓,相比之下,將此參數(shù)設(shè)置為 0 意味著模型將返回它幾乎可以肯定的結(jié)果炮赦。 - 該
max_tokens
參數(shù)指定模型允許生成的最大令牌數(shù)量作為其輸出的一部分怜跑。您需要為生成的更多令牌付費,因此請務(wù)必小心使用此參數(shù)眼五。
如果您運行代碼妆艘,您應(yīng)該獲得一個 API 響應(yīng),其中包含 AI 模型根據(jù)您的提示自動生成的響應(yīng)看幼,例如
{
"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"
響應(yīng)
{
"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
}
}
這有多棒棚唆?現(xiàn)在暇赤,您可以從模型中獲取該字符串響應(yīng)并根據(jù)您的應(yīng)用程序的其余部分對其進行處理。
當然宵凌,GPT-3 的功能遠不止日期格式鞋囊,這只是一個例子。我鼓勵你玩弄這個模型瞎惫,看看你能用它做什么溜腐!GPT-3 能夠執(zhí)行的其他任務(wù)的一些示例包括:
- 翻譯
- 總結(jié)
- 代碼完成
- 配方創(chuàng)建
如果你能想到的話,GPT-3 大概可以做到瓜喇。
結(jié)論
因此挺益,現(xiàn)在您知道如何利用迄今為止最先進的語言模型之一來滿足您的所有個人或業(yè)務(wù)需求。
關(guān)于成本乘寒,您需要注意幾件事望众,但是,考慮到您可以獲得的功能伞辛,這絕對值得烂翰,更不用說節(jié)省您構(gòu)建、培訓蚤氏、測試和部署您的時間和金錢的時間和金錢了刽酱。自己的機器學習模型,即使是接近 GPT-3 的結(jié)果也不太可能實現(xiàn)瞧捌。
如果您需要使用 GPT-3 構(gòu)建項目的靈感棵里,請在此處查看他們?yōu)槟峁┑氖纠斜怼4送饨隳牛绻肓私庥嘘P(guān)在您的應(yīng)用程序中使用 GPT-3 的更多信息殿怜,請查看文檔!最后曙砂,確保您了解并遵循 OpenAI使用指南头谜。
文章來源:https://dev.blog.benosborn.tech/playing-with-gpt-3-using-the-openai-api-and-python