Python一行代碼實(shí)現(xiàn)ChatGPT接入微信機(jī)器人
正文
去年開發(fā)了一個(gè)開源項(xiàng)目:PyOfficeRobot,微信聊天機(jī)器人。今年ChatGPT大火,很多朋友在后臺(tái)提問:
能不能把微信機(jī)器人和ChatGPT加在一起?1行代碼就可以調(diào)用~
當(dāng)然可以了!視頻教程已經(jīng)錄制好了??傳送門,在這里,我們分享一下文字教程。??
1、實(shí)現(xiàn)原理
也許所有智能聊天機(jī)器人都是下圖這種實(shí)現(xiàn)思路?
首先通過代碼(不限語言)去獲取聊天內(nèi)容,其次把聊天內(nèi)容傳給AI后臺(tái),最后把拿到的AI回復(fù),原路傳給聊天界面。
在這個(gè)過程中,問題的難點(diǎn)有:
- 如何獲取聊天內(nèi)容;
- 如何調(diào)用AI回復(fù);
- 如何正確的自動(dòng)回復(fù)。
在開發(fā)的過程中你會(huì)發(fā)現(xiàn),其中最后一項(xiàng):如何正確每一次對(duì)話是最難的。
有很多種實(shí)現(xiàn)方式,今天我們講最簡(jiǎn)單的一種,如果點(diǎn)贊超過100,我會(huì)給大家更新一個(gè)更復(fù)雜的方式~
2、上代碼
下載PyOfficeRobot
pip install PyOfficeRobot
1行代碼,實(shí)現(xiàn)微信機(jī)器人 + ChatGPT
import PyOfficeRobot PyOfficeRobot.chat.chat_by_gpt(who='程序員晚?xiàng)?, api_key='你的api_key')
3、參數(shù)說明
上面只列出了2個(gè)參數(shù):
- who='程序員晚?xiàng)?#39;:必填,你想智能回復(fù)的人;
- api_key='你的api_key':必填,你自己的ChatGPT
其實(shí)在方法內(nèi)部還有一系列參數(shù),不過我們的項(xiàng)目主要給小白使用,我都給填了默認(rèn)值,如果你是專業(yè)開發(fā),可以參考下面的說明,去修改一下。(來自O(shè)penAI官網(wǎng))
completions = openai.Completion.create( engine=model_engine, prompt=prompt, max_tokens=max_tokens, # 生成結(jié)果時(shí)的最大 tokens 數(shù)。平均一個(gè)漢字是 2 個(gè) tokens,text-davinci-003 最多是 4000 個(gè) tokens,也就是 2000 個(gè)漢字左右 n=n, stop=stop, temperature=temperature, # 控制結(jié)果的隨機(jī)性,如果希望結(jié)果更有差異性 0.9,或者希望有固定結(jié)果可以嘗試 0.0 top_p=top_p, # 一個(gè)可用于代替 temperature 的參數(shù),對(duì)應(yīng)機(jī)器學(xué)習(xí)中 nucleus sampling,如果設(shè)置 0.1 意味著只考慮構(gòu)成前 10% 概率質(zhì)量的 tokens frequency_penalty=frequency_penalty, # 控制字符的重復(fù)度,取值為 -2.0 ~ 2.0 之間的數(shù)字 presence_penalty=presence_penalty # 控制主題的重復(fù)度,取值為 -2.0 ~ 2.0 之間的數(shù)字 )
4、寫在最后
GPT-3,尤其是GPT-4發(fā)布以后,越來越多的大廠加入到這場(chǎng)AIGC的競(jìng)爭(zhēng)中,你覺得哪家公司會(huì)笑道最后?
以上就是Python一行代碼實(shí)現(xiàn)ChatGPT接入微信機(jī)器人的詳細(xì)內(nèi)容,更多關(guān)于Python ChatGPT接入微信的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 一行代碼解決動(dòng)態(tài)執(zhí)行Python函數(shù)方法實(shí)例
- Python一行代碼快速實(shí)現(xiàn)程序進(jìn)度條示例
- Python一行代碼識(shí)別發(fā)票并保存Excel示例詳解
- python一行代碼合并了162個(gè)Word文件
- Python一行代碼對(duì)話ChatGPT實(shí)現(xiàn)詳解
- Python一行代碼識(shí)別增值稅發(fā)票實(shí)現(xiàn)示例
- Python一行代碼識(shí)別車牌號(hào)碼實(shí)現(xiàn)示例詳解
- Python中驚艷的一行代碼簡(jiǎn)潔強(qiáng)大表達(dá)力技巧實(shí)例
相關(guān)文章
基于并發(fā)服務(wù)器幾種實(shí)現(xiàn)方法(總結(jié))
下面小編就為大家分享一篇基于并發(fā)服務(wù)器幾種實(shí)現(xiàn)方法(總結(jié)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12python實(shí)現(xiàn)excel和csv中的vlookup函數(shù)示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)excel和csv中的vlookup函數(shù),介紹如何使用python在excel和csv里實(shí)現(xiàn)vlookup函數(shù)的功能,首先需要簡(jiǎn)單了解一下python如何操作excel,需要的朋友可以參考下2023-01-01Python控制瀏覽器自動(dòng)下載歌詞評(píng)論并生成詞云圖
本文主要介紹了如何利用Python控制瀏覽器自動(dòng)把歌詞評(píng)論下載下來,并做成好看的詞云圖。文中的示例代碼講解詳細(xì),感興趣的可以試一試2022-01-01Python秒算24點(diǎn)實(shí)現(xiàn)及原理詳解
這篇文章主要介紹了Python秒算24點(diǎn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07全面了解Python的getattr(),setattr(),delattr(),hasattr()
下面小編就為大家?guī)硪黄媪私釶ython的getattr(),setattr(),delattr(),hasattr()。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06python使用threading.Condition交替打印兩個(gè)字符
這篇文章主要為大家詳細(xì)介紹了python使用threading.Condition交替打印兩個(gè)字符,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05