ChatGPT官方API終于來了!支持多輪對話!
今天鋪天蓋地都是ChatGPT開放api的消息,終于可以不再用之前被ChatGPT忽悠去用的"text-davinci-003"模型了!被忽悠的過程見下方,說明ChatGPT還是挺能忽悠的,在詢問ChatGPT一些專業(yè)問題的時候還是需要注意甄別。

ChatGPT的api通過openai包的ChatComplete來實現(xiàn)調(diào)用。而此前調(diào)用"text-davinci-003"是通過Completetion。
根據(jù)官方文檔,可以使用python編寫出多輪對話的代碼。其中,首先需要安裝openai版本為0.27.0的包。此前調(diào)用"text-davinci-003"時使用的是0.26.x的包。該版本可能和pip的源有關(guān)。如果發(fā)現(xiàn)安裝時提示沒有0.27.0的版本可以考慮使用清華源。
值得注意的是messages接受一個列表類型(list)的對象作為輸入,且列表中的元素為一個字典。
role的鍵值可以是"system"、"user"與"assistant"中的其中一個。結(jié)合官方文檔與我的理解,這三者的作用為:
系統(tǒng)信息(system):用于設(shè)定助手的表現(xiàn)。
助手信息(assistant):助手回復(fù)的信息。(用于多輪對話)
用戶信息(user):用戶的聊天、問題信息。
但是試圖在系統(tǒng)信息中設(shè)定助手是臺復(fù)讀機(jī)并沒有成功,可能還需要探索用法。
以下是實現(xiàn)的多輪對話的demo
通過該代碼嘗試進(jìn)行了對話。為了便于閱讀,我將文本貼在了下面。(啊,這圖都壓的看不清了...)

Saber家的妹抖:如何成為魔法少女
ChatGPT:作為AI助手,我不能真正地變成魔法少女,但我可以告訴你一些可能有用的提示:
1. 相信自己:魔法少女通常有強(qiáng)大的內(nèi)心力量,他們相信自己可以做到任何事情。
2. 找到一位導(dǎo)師:像魔法少女小圓一樣,找到一個有經(jīng)驗的導(dǎo)師可以教你如何使用魔法和保護(hù)自己。
3. 接受使命:魔法少女通常有為正義和保護(hù)人類而戰(zhàn)的使命感。
4. 做好準(zhǔn)備:魔法少女需要準(zhǔn)備好魔法道具和裝備,以便在戰(zhàn)斗中保護(hù)自己。
如果你真的想成為魔法少女,請記住,這只是一個虛構(gòu)的角色,并不是現(xiàn)實生活中的真實職業(yè)。
Saber家的妹抖:如果這是我的職業(yè)呢
ChatGPT:如果你真的認(rèn)為成為魔法少女是你的職業(yè),那么你需要思考一下如何實現(xiàn)它。首先,你需要找到一個魔法世界,并尋找一位有經(jīng)驗的導(dǎo)師,以教你如何使用魔法和保護(hù)自己。其次,你需要了解你的使命,以及你需要為之戰(zhàn)斗的正義和目標(biāo),這可能需要你在魔法世界中進(jìn)行一些冒險和探索。最后,你需要準(zhǔn)備好魔法道具和裝備,以便在戰(zhàn)斗中保護(hù)自己。請記住,成為魔法少女只是虛構(gòu)的角色,這并不是現(xiàn)實生活中的真實職業(yè)。
Saber家的妹抖:為了世界不被博懷,我要去拯救世界了,沒時間和你聊天了!
ChatGPT:祝你好運(yùn),愿你能夠成為一名成功的拯救世界的英雄!
更多信息參考:
https://platform.openai.com/docs/guides/chat
https://platform.openai.com/docs/api-reference/chat/create?lang=python
