溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何將ChatGPT接入微信實(shí)現(xiàn)智能回復(fù)功能

發(fā)布時(shí)間:2023-02-24 11:01:17 來源:億速云 閱讀:527 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“如何將ChatGPT接入微信實(shí)現(xiàn)智能回復(fù)功能”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

    簡介

    已實(shí)現(xiàn)特性

    • 文本對(duì)話: 接收私聊及群組中的微信消息,使用ChatGPT生成回復(fù)內(nèi)容,完成自動(dòng)回復(fù)

    • 規(guī)則定制化: 支持私聊中按指定規(guī)則觸發(fā)自動(dòng)回復(fù),支持對(duì)群組設(shè)置自動(dòng)回復(fù)白名單

    • 多賬號(hào): 支持多微信賬號(hào)同時(shí)運(yùn)行

    • 圖片生成: 支持根據(jù)描述生成圖片,并自動(dòng)發(fā)送至個(gè)人聊天或群聊

    更新日志

    2022.12.19: 引入 itchat-uos 替換 itchat,解決由于不能登錄網(wǎng)頁微信而無法使用的問題,且解決Python3.9的兼容問題

    2022.12.18: 支持根據(jù)描述生成圖片并發(fā)送,openai版本需大于0.25.0

    2022.12.17: 原來的方案是從 ChatGPT頁面 獲取session_token,使用 revChatGPT 直接訪問web接口,但隨著ChatGPT接入Cloudflare人機(jī)驗(yàn)證,這一方案難以在服務(wù)器順利運(yùn)行。 所以目前使用的方案是調(diào)用 OpenAI 官方提供的 API,回復(fù)質(zhì)量上基本接近于ChatGPT的內(nèi)容,劣勢(shì)是暫不支持有上下文記憶的對(duì)話,優(yōu)勢(shì)是穩(wěn)定性和響應(yīng)速度較好。

    效果

    個(gè)人聊天

    如何將ChatGPT接入微信實(shí)現(xiàn)智能回復(fù)功能

    群組聊天

    如何將ChatGPT接入微信實(shí)現(xiàn)智能回復(fù)功能

    圖片生成

    如何將ChatGPT接入微信實(shí)現(xiàn)智能回復(fù)功能

    快速開始

    準(zhǔn)備

    1. OpenAI賬號(hào)注冊(cè)

    前往 OpenAI注冊(cè)頁面 創(chuàng)建賬號(hào),參考這篇 教程 可以通過虛擬手機(jī)號(hào)來接收驗(yàn)證碼。創(chuàng)建完賬號(hào)則前往 API管理頁面 創(chuàng)建一個(gè) API Key 并保存下來,后面需要在項(xiàng)目中配置這個(gè)key。

    項(xiàng)目中使用的對(duì)話模型是 davinci,計(jì)費(fèi)方式是每1k字 (包含請(qǐng)求和回復(fù)) 消耗 $0.02,圖片生成是每張消耗 $0.016,賬號(hào)創(chuàng)建有免費(fèi)的 $18 額度,使用完可以更換郵箱重新注冊(cè)。

    2.運(yùn)行環(huán)境

    支持 Linux、MacOS、Windows 系統(tǒng)(可在Linux服務(wù)器上長期運(yùn)行),同時(shí)要求安裝有 Python(版本需在 3.7.1~3.9.X 之間,Linux環(huán)境建議使用3.7.X)。

    1.克隆項(xiàng)目代碼:

    git clone https://github.com/zhayujie/chatgpt-on-wechat
    cd chatgpt-on-wechat/

    2.安裝所需核心依賴:

    pip3 install itchat-uos==1.5.0.dev0
    pip3 install openai==0.25.0

    配置

    配置文件的模板在根目錄的config-template.json中,需復(fù)制該模板創(chuàng)建最終生效的 config.json 文件:

    cp config-template.json config.json

    然后在config.json中填入自定義配置,各配置項(xiàng)含義如下:

    # config.json文件內(nèi)容示例
    { 
      "open_ai_api_key": "YOUR API KEY"                           # 填入上面創(chuàng)建的 OpenAI API KEY
      "single_chat_prefix": ["bot", "@bot"],                      # 私聊時(shí)文本需要包含該前綴才能觸發(fā)機(jī)器人回復(fù)
      "single_chat_reply_prefix": "[bot] ",                       # 私聊時(shí)自動(dòng)回復(fù)的前綴,用于區(qū)分真人
      "group_chat_prefix": ["@bot"],                              # 群聊時(shí)包含該前綴則會(huì)觸發(fā)機(jī)器人回復(fù)
      "group_name_white_list": ["ChatGPT測(cè)試群", "ChatGPT測(cè)試群2"], # 開啟自動(dòng)回復(fù)的群名稱列表
      "image_create_prefix": ["畫", "看", "找"]                    # 開啟圖片回復(fù)的前綴
    }

    配置說明:

    • 個(gè)人聊天中,需要以 "bot" 或 "@bot" 為開頭的內(nèi)容觸發(fā)機(jī)器人,對(duì)應(yīng)配置中的 single_chat_prefix;機(jī)器人回復(fù)的內(nèi)容會(huì)以 "[bot]" 作為前綴, 以區(qū)分真人,對(duì)應(yīng)的配置為 single_chat_reply_prefix

    • 群組聊天中,群名稱需配置在 group_name_white_list 中才能開啟群聊自動(dòng)回復(fù),默認(rèn)只要被@就會(huì)觸發(fā)機(jī)器人自動(dòng)回復(fù),另外群聊天中只要檢測(cè)到以 "@bot" 開頭的內(nèi)容,同樣會(huì)自動(dòng)回復(fù),這對(duì)應(yīng)配置 group_chat_prefix

    • 對(duì)于圖像生成,在滿足個(gè)人或群組觸發(fā)條件外,還需要額外的關(guān)鍵詞,對(duì)應(yīng)配置 image_create_prefix

    • 關(guān)于OpenAI對(duì)話及圖片接口的參數(shù)配置(內(nèi)容自由度、回復(fù)字?jǐn)?shù)限制、圖片大小等),可以參考 對(duì)話接口 和 圖像接口 文檔直接在 代碼 bot\openai\open_ai_bot.py 中進(jìn)行調(diào)整。

    運(yùn)行

    運(yùn)行

    1.如果是開發(fā)機(jī)本地調(diào)試,直接在項(xiàng)目根目錄下執(zhí)行:

    python3 app.py

    終端輸出二維碼后,使用微信進(jìn)行掃碼,當(dāng)輸出 "Start auto replying" 時(shí)表示自動(dòng)回復(fù)程序已經(jīng)成功運(yùn)行了(注意:用于登錄的微信需要在支付處已完成實(shí)名認(rèn)證)。

    2.如果是服務(wù)器部署,則使用nohup命令在后臺(tái)運(yùn)行:

    touch nohup.out                                   # 首次運(yùn)行需要新建日志文件                     
    nohup python3 app.py & tail -f nohup.out          # 后臺(tái)運(yùn)行程序并輸出日志

    同樣在掃碼后程序即可成功運(yùn)行于服務(wù)器后臺(tái)。

    “如何將ChatGPT接入微信實(shí)現(xiàn)智能回復(fù)功能”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI