Python實(shí)現(xiàn)同時(shí)調(diào)用多個(gè)GPT的API
相信很多同學(xué)或多或少都在Python中使用過(guò)GPT API,通過(guò)Python安裝openai
庫(kù),來(lái)調(diào)用GPT模型。
OpenAI官方文檔中給出了一個(gè)示例,如下圖所示:
如果你只有一個(gè)API賬號(hào),那么你可能不覺(jué)得這樣寫有什么問(wèn)題。但如果你想同時(shí)使用兩個(gè)賬號(hào)怎么辦?
有些同學(xué)可能知道,微軟的Azure也提供GPT接口,在Python中也需要通過(guò)openai
庫(kù)來(lái)調(diào)用,它的調(diào)用示例為:
當(dāng)你全局設(shè)置了openai.api_type = 'azure'
以后,你怎么同時(shí)使用OpenAI的GPT接口?
這兩個(gè)文檔中給出的示例寫法,都是全局寫法,一但設(shè)定以后,在整個(gè)運(yùn)行時(shí)中,所有調(diào)用GPT接口的地方,都會(huì)使用這里設(shè)置的參數(shù):
import?openai openai.xx?=?yy
有些同學(xué)不知道怎么在Python SDK中同時(shí)使用多個(gè)賬號(hào),于是他們只有使用GPT的Rest HTTP接口,自己封裝一個(gè)函數(shù)來(lái)發(fā)起請(qǐng)求從而切換不同的賬號(hào)。放棄了Python SDK提供的各種便利。
但實(shí)際上,根本沒(méi)有那么麻煩。在openai
模塊里面,天然就可以切換多個(gè)賬號(hào)。雖然文檔里面沒(méi)有寫,但是我們可以通過(guò)函數(shù)簽名來(lái)找到這種方法。
如下圖所示,在PyCharm中,隨便寫一段調(diào)用openai
模塊的代碼,然后Windows按下鍵盤的Ctrl,MacOS按下鍵盤的Command,并鼠標(biāo)左鍵點(diǎn)擊create
函數(shù):
跳轉(zhuǎn)到的函數(shù)里面,還有一個(gè)create
函數(shù),繼續(xù)按上面的方法跳入,如下圖所示:
接下來(lái),你就會(huì)看到這個(gè)create
函數(shù)能夠接受的參數(shù)里面,包含了幾個(gè)很熟悉的名字:
也就是說(shuō),當(dāng)你想同時(shí)調(diào)用多個(gè)賬號(hào)時(shí),不需要在一開(kāi)始給openai設(shè)置對(duì)應(yīng)的參數(shù),你只需要在調(diào)用.create
函數(shù)的時(shí)候,把對(duì)應(yīng)的API參數(shù)傳入就可以了。示例代碼如下:
import?openai #?使用OpenAI賬號(hào)1 response1?=?openai.ChatCompletion.create(?? ????????????engine="chatgpt",?? ????????????messages=messages,?? ????????????temperature=0.9,?? ????????????max_tokens=800,?? ????????????top_p=0.95,?? ????????????frequency_penalty=0,?? ????????????presence_penalty=0,?? ????????????api_key='xxxxxxxx',??#?在這里傳入API?Key ????????????stop=["<|im_end|>"]) #?使用OpenAI賬號(hào)2 response2?=?openai.ChatCompletion.create(?? ????????????engine="chatgpt16k",?? ????????????messages=messages,?? ????????????temperature=0.9,?? ????????????max_tokens=800,?? ????????????top_p=0.95,?? ????????????frequency_penalty=0,?? ????????????presence_penalty=0,?? ????????????api_key='yyyyyyyyy',???#?在這里傳入API?Key ????????????stop=["<|im_end|>"]) #?使用Azure?OpenAI?賬號(hào) response3?=?openai.ChatCompletion.create(?? ????????????engine="gpt4",?? ????????????messages=messages,?? ????????????temperature=0.9,?? ????????????max_tokens=800,?? ????????????top_p=0.95,?? ????????????frequency_penalty=0,?? ????????????presence_penalty=0,?? ????????????api_key='zzzzzzz',???#?在這里傳入API?Key ????????????api_base='https://xxx.openai.azure.com/',?? ????????????api_type="azure",?? ????????????api_version='2023-05-15',?? ????????????stop=["<|im_end|>"])
使用這種方法,我們就可以在一個(gè)程序里面同時(shí)使用多個(gè)GPT賬號(hào)了。
到此這篇關(guān)于Python實(shí)現(xiàn)同時(shí)調(diào)用多個(gè)GPT的API的文章就介紹到這了,更多相關(guān)Python調(diào)用多個(gè)GPT API內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用SimpleITK讀取和保存NIfTI/DICOM文件實(shí)例
這篇文章主要介紹了使用SimpleITK讀取和保存NIfTI/DICOM文件實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07使用python讀取csv文件快速插入數(shù)據(jù)庫(kù)的實(shí)例
今天小編就為大家分享一篇使用python讀取csv文件快速插入數(shù)據(jù)庫(kù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06python?plotly設(shè)置go.Scatter為實(shí)線實(shí)例
這篇文章主要為大家介紹了python?plotly設(shè)置go.Scatter為實(shí)線線條的樣式實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10python獲取當(dāng)前git的repo地址的示例代碼
大家好,當(dāng)談及版本控制系統(tǒng)時(shí),Git是最為廣泛使用的一種,而Python作為一門多用途的編程語(yǔ)言,在處理Git倉(cāng)庫(kù)時(shí)也展現(xiàn)了其強(qiáng)大的能力,本文給大家介紹了python獲取當(dāng)前git的repo地址的方法,需要的朋友可以參考下2024-09-09使用python讀取.text文件特定行的數(shù)據(jù)方法
今天小編就為大家分享一篇使用python讀取.text文件特定行的數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01