使用?OpenAI?API?和?Python?使用?GPT-3的操作方法
使用 OpenAI API 和相應(yīng)的 Python SDK 試用 GPT-3 語言模型。
介紹
在本文中,我們將使用 GPT-3。我將向您展示如何訪問它,并提供一些示例來說明您可以使用它做什么,以及您可以使用它構(gòu)建什么樣的應(yīng)用程序!
開始
在使用 GPT-3 之前,您必須先使用 OpenAI 創(chuàng)建一個(gè)帳戶。設(shè)置帳戶后,為了訪問 API,您需要添加計(jì)費(fèi)憑據(jù)。OpenAI將按請(qǐng)求向您收費(fèi)。您可以在此處查看 API 成本。
添加帳單詳細(xì)信息后,您將能夠檢索您的 API 密鑰。您將需要它來訪問 API。對(duì)此保密很重要,因?yàn)槿魏斡袡?quán)訪問此密鑰的人都可以代表您提出請(qǐng)求,向您收費(fèi)。
重要
由于 API 的使用成本很高,因此最好確保在發(fā)布應(yīng)用之前考慮到這一點(diǎn)。如果您的應(yīng)用程序每次有人加載時(shí)都會(huì)發(fā)出 OpenAPI 請(qǐng)求,然后為此向您收費(fèi),您可能會(huì)很快產(chǎn)生大量成本。
我建議您只允許經(jīng)過身份驗(yàn)證的用戶使用您的應(yīng)用程序,并且我絕對(duì)建議您添加某種 API 限制。如果您正在構(gòu)建某種 SaaS 應(yīng)用程序,也許您可以這樣做,以便向客戶收取他們提出的每個(gè)請(qǐng)求的費(fèi)用,確保他們承擔(dān)相關(guān)的成本而不是您。這可以通過 Stripe 使用記錄自動(dòng)實(shí)現(xiàn),您可以在此處找到更多信息。
使用接口
設(shè)置我們的環(huán)境
現(xiàn)在您已經(jīng)有了 API 密鑰,讓我們玩得開心吧!為了讓我們的生活更輕松,讓我們使用適用于Python的OpenAI SDK。OpenAI也有可用于Node.js的SDK,但是,對(duì)于這個(gè)演示,我們將使用Python。您可以使用命令安裝 Python OpenAI SDK。pip3 install openai
接下來,創(chuàng)建一個(gè)新文件。這就是我們將在本地存儲(chǔ) API 密鑰的內(nèi)容,您可以通過將以下行添加到文件中來執(zhí)行此操作.env
OPENAI_API_KEY=YOUR_API_KEY
(其中YOUR_API_KEY替換為您的 OpenAI API 密鑰)。
請(qǐng)務(wù)必將此文件排除在任何公共 GitHub 存儲(chǔ)庫之外,您可以使用文件并添加到其中。.gitignore.env
現(xiàn)在為了加載文件,我們將需要dotenv依賴項(xiàng),您可以使用..envpip3 install python-dotenv
現(xiàn)在創(chuàng)建一個(gè)新的 Python 文件并添加以下代碼行
import os
import openai
from dotenv import load_dotenv
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
():defmain
pass
if __name__ == "__main__":
main()這對(duì)您來說是一個(gè)很好的入門,它會(huì)自動(dòng)將您的 API 密鑰從文件加載到 OpenAI SDK 中,以便隨時(shí)可以使用。一般來說,使用.env
if __name__ == "__main__":
# Your code here生成文本
要使用 GPT-3 生成文本,請(qǐng)將以下代碼添加到函數(shù)中main
response = openai.Completion.create(
model="text-davinci-002",
prompt="Today I went to the movies and...",
temperature=1,
max_tokens=60,
)
print(response)- 該參數(shù)指定將生成文本的模型的類型。默認(rèn)情況下,OpenAI 提供了一些模型,您可以選擇這些模型,您可以在此處查看這些模型。此外,您甚至可以創(chuàng)建自己的模型,但這超出了本教程的范圍。
model - 該參數(shù)指定從模型饋送的輸入提示,然后模型將自動(dòng)完成響應(yīng)。這可以是您想要的任何內(nèi)容。
prompt - 該參數(shù)指定響應(yīng)的不確定性。這意味著模型更有可能產(chǎn)生一些創(chuàng)造性的東西,并且可以被認(rèn)為是冒險(xiǎn)并偏離正常響應(yīng)的模型。將此參數(shù)設(shè)置為 1 意味著模型將返回它不確定的結(jié)果,相比之下,給此參數(shù)的值為 0,這意味著模型將返回它幾乎可以確定的結(jié)果。
temperature - 該參數(shù)指定允許模型作為其輸出的一部分生成的最大令牌量。您需要為生成的更多令牌付費(fèi),因此請(qǐng)務(wù)必小心使用此參數(shù)。
max_tokens
如果運(yùn)行代碼,則應(yīng)獲得一個(gè) API 響應(yīng),其中包含 AI 模型從提示自動(dòng)生成的響應(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)用程序的其余部分。
當(dāng)然,GPT-3 的功能遠(yuǎn)不止日期格式化,這只是一個(gè)例子。我鼓勵(lì)你玩這個(gè)模型,看看你能用它做什么!GPT-3 能夠執(zhí)行的其他任務(wù)的一些示例包括:
- 譯本
- 綜述
- 代碼完成
- 配方創(chuàng)建
如果你能想到,GPT-3 大概可以做到。
結(jié)論
因此,現(xiàn)在您知道如何利用迄今為止最先進(jìn)的語言模型之一來滿足您的所有個(gè)人或業(yè)務(wù)需求。
關(guān)于成本,您只需要警惕幾件事,但是,考慮到您獲得的功能,這絕對(duì)是值得的,更不用說節(jié)省您的時(shí)間和金錢,因?yàn)槟仨殬?gòu)建、訓(xùn)練、測試和部署您自己的機(jī)器學(xué)習(xí)模型,這不太可能達(dá)到接近 GPT-3 的結(jié)果。
如果您需要使用 GPT-3 構(gòu)建項(xiàng)目的靈感,請(qǐng)?jiān)诖颂幉榭此麄優(yōu)槟峁┑氖纠斜?。此外,如果您想了解有關(guān)將 GPT-3 用于應(yīng)用程序的更多信息,請(qǐng)查看文檔!最后,確保您了解并遵循 OpenAI 使用指南。
文章來源:https://dev.blog.benosborn.tech/playing-with-gpt-3-using-the-openai-api-and-python
到此這篇關(guān)于使用 OpenAI API 和 Python 使用 GPT-3的文章就介紹到這了,更多相關(guān)OpenAI API 和 Python 使用 GPT-3內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python調(diào)用.net動(dòng)態(tài)庫實(shí)現(xiàn)過程解析
這篇文章主要介紹了Python調(diào)用.net動(dòng)態(tài)庫實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Python根據(jù)服務(wù)獲取端口號(hào)的方法
這篇文章主要介紹了Python根據(jù)服務(wù)獲取端口號(hào),文中給大家提到了linux查看端口開啟端口的方法,需要的朋友可以參考下2019-09-09
在VSCode中搭建Python開發(fā)環(huán)境并進(jìn)行調(diào)試
這篇文章介紹了在VSCode中搭建Python開發(fā)環(huán)境并進(jìn)行調(diào)試的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
Python的ORM框架SQLObject入門實(shí)例
這篇文章主要介紹了Python的ORM框架SQLObject簡單使用實(shí)例,使用Linux Mint 15、Python 2.7,需要的朋友可以參考下2014-04-04
Python將二維列表list的數(shù)據(jù)輸出(TXT,Excel)
這篇文章主要介紹了Python將二維列表list的數(shù)據(jù)輸出(TXT,Excel),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
django foreignkey(外鍵)的實(shí)現(xiàn)
這篇文章主要介紹了django foreignkey(外鍵)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07

