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