使用?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),您可以使用..env
pip3 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)練、測(cè)試和部署您自己的機(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解析html開發(fā)庫pyquery使用方法
PyQuery是一個(gè)類似于jQuery的Python庫,也可以說是jQuery在Python上的實(shí)現(xiàn),能夠以jQuery的語法來操作解析 HTML 文檔,易用性和解析速度都很好2014-02-02Django多進(jìn)程滾動(dòng)日志問題解決方案
這篇文章主要介紹了Django多進(jìn)程滾動(dòng)日志問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Pygame實(shí)戰(zhàn)之迷宮游戲的實(shí)現(xiàn)
玩迷宮游戲長(zhǎng)大的我們,欣慰地看到,下一代仍熱愛著這個(gè)經(jīng)典游戲。本文將通過Python中的Pygame庫制作這一經(jīng)典的游戲,需要的可以參考一下2022-02-02Python實(shí)現(xiàn)判斷一個(gè)整數(shù)是否為回文數(shù)算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)判斷一個(gè)整數(shù)是否為回文數(shù)算法,結(jié)合實(shí)例形式分析了Python針對(duì)字符串的翻轉(zhuǎn)、判斷等相關(guān)操作技巧,需要的朋友可以參考下2019-03-03關(guān)于Python時(shí)間日期常見的一些操作方法
Python的datetime模塊是處理日期和時(shí)間的強(qiáng)大工具,datetime類可以獲取當(dāng)前時(shí)間、指定日期、計(jì)算時(shí)間差、訪問時(shí)間屬性及格式化時(shí)間,這些功能使得在Python中進(jìn)行時(shí)間日期處理變得簡(jiǎn)單高效,需要的朋友可以參考下2024-09-09