ChatGPTは最近、強力な対話機能と情報統合機能でインターネットを席巻し、コードを書いたり、論文を変更したり、ストーリーを語ったり、ほとんど何でもできるため、人々は大胆なアイデアを持たざるを得ず、対話モデルを使用してWeChatをインテリジェントロボットに構築し、友人との会話で予期しない応答を出すことができ、ガールフレンドが
ゲーム作業に影響を与えることを心配する必要がなくなりました。
ChatGPTに基づくWeChatチャットボットは、OpenAIインターフェイスを介して会話コンテンツを生成し、それを使用してWeChatメッセージの受信と自動返信を実現します。 次の機能が実装されました。
2023.02.09:コードをスキャンしてログインすることで禁止するリスクがありますので、注意して使用してください、#58を参照してください
2023.02.05: openai公式インターフェーススキーム(GPT-3モデル)にコンテキストダイアログを実装しました。
2022.12.19: itchatに代わるitchat-uosを導入し、ウェブページWeChatにログインできないために使用できない問題を解決し、Python 3.9の互換性問題を解決しました
2022.12.18: 説明に基づいて画像を生成および送信するためのサポート、OpenAIバージョンは0.25.0以上である必要があります
2022.12.17: 当初の解決策は、ChatGPTページからsession_tokenを取得し、revChatGPTを使用してWebインターフェイスに直接アクセスするというものでしたが、ChatGPTがCloudflareの人間の一人当たりにアクセスするため、このソリューションをサーバー上でスムーズに実行することは困難です。 そのため、現在使用しているソリューションはOpenAIが提供するAPIを呼び出すことであり、返信品質は基本的にChatGPTの内容に近い、コンテキストメモリとの会話をサポートしていないことが欠点であり、安定性と応答速度が優れているという利点があります。
OpenAI登録ページに移動してアカウントを作成し、このチュートリアルを参照してください仮想携帯電話番号を介して確認コードを受け取ることができます。 アカウントを作成したら、[API 管理] ページに移動して API キーを作成して保存し、プロジェクトでこのキーを構成する必要があります。
プロジェクトで使用されている対話モデルはdavinci、請求方法は750語あたり約0.02ドル(リクエストと返信を含む)、画像生成はシートあたり0.016ドル、アカウント作成には無料の18ドルのクレジットがあり、メールアドレスを変更して使用後に再登録できます。
Linux、MacOS、Windowsシステム(Linuxサーバーで長時間実行可能)をサポートし、インストールが必要です。
Python
Python のバージョンは 3.7.1~3.9.X の間で、バージョン 3.10 以降は Mac OS で利用可能にすることをお勧めします。
1. プロジェクトコードを複製します。
git clone https://github.com/zhayujie/chatgpt-on-wechat
cd chatgpt-on-wechat/
2. 必要なコア依存関係をインストールします。
pip3 install itchat-uos==1.5.0.dev0
pip3 install --upgrade openai
注: 指定されたバージョン 1.5.0.dev0 を使用し、0.25.0 より高くなければならない最新バージョンを使用します。
itchat-uos
openai
構成ファイルのテンプレートはルートディレクトリにあり、テンプレートをコピーして最終的な有効なファイルを作成する必要があります。
config-template.json
config.json
cp config-template.json config.json
次に、構成を入力し、必要に応じてカスタマイズできる既定の構成の説明を次に示します。
config.json
# config.json文件内容示例
{
"open_ai_api_key": "YOUR API KEY" # 填入上面创建的 OpenAI API KEY
"single_chat_prefix": ["bot", "@bot"], # 私聊时文本需要包含该前缀才能触发机器人回复
"single_chat_reply_prefix": "[bot] ", # 私聊时自动回复的前缀,用于区分真人
"group_chat_prefix": ["@bot"], # 群聊时包含该前缀则会触发机器人回复
"group_name_white_list": ["ChatGPT测试群", "ChatGPT测试群2"], # 开启自动回复的群名称列表
"image_create_prefix": ["画", "看", "找"], # 开启图片回复的前缀
"conversation_max_tokens": 1000, # 支持上下文记忆的最多字符数
"character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。" # 人格描述
}
構成手順:
1.パーソナルチャット
single_chat_prefix
"single_chat_prefix": [""])
single_chat_reply_prefix
"single_chat_reply_prefix": "")
2.グループチャット
group_name_white_list
"group_name_white_list": "ALL_GROUP"
group_chat_prefix
group_name_keyword_white_list
group_chat_keyword)
3. その他の構成
image_create_prefix
bot/openai/open_ai_bot.py
conversation_max_tokens:記憶できるコンテキスト内の単語の最大数を示します(質問と回答は会話のセットであり、累積単語数が制限を超えると、最も古い会話のセットが最初に削除されます)
character_desc構成には、ボットに話すパッセージが含まれており、ボットはそれを記憶して設定として使用し、ボットの任意のパーソナリティをカスタマイズできます(会話コンテキストの詳細については、この問題を参照してください)。)
1. 開発マシンがローカルで実行されている場合は、プロジェクトのルートディレクトリで直接実行します。
python3 app.py
端末がQRコードを出力した後、WeChatを使用してコードをスキャンし、「自動返信の開始」という出力が出力されたら、自動返信プログラムが正常に実行されたことを意味します(注:ログインに使用するWeChatは、決済オフィスで実名認証を完了している必要があります)。 コードをスキャンしてログインすると、アカウントがロボットになり、WeChat携帯電話で構成されたキーワードを介して自動返信をトリガーできます(友人がメッセージを送信するか、自分で友人にメッセージを送信します)、#142を参照してください。
2. サーバー展開の場合は、nohup コマンドを使用してバックグラウンドで実行します。
touch nohup.out # 首次运行需要新建日志文件
nohup python3 app.py & tail -f nohup.out # 在后台运行程序并通过日志输出二维码
コードをスキャンしてログインした後、プログラムはサーバーのバックグラウンドで実行できますが、この時点で、バックグラウンドプログラムの実行に影響を与えることなくログをオフにすることができます。 コマンドを使用して view バックグラウンドで実行されているプロセス、およびプログラムを再起動する場合は、最初に対応するプロセスを削除できます。 ログを閉じた後、もう一度開く場合は、次のように入力します。
ctrl+c
ps -ef | grep app.py | grep -v grep
kill
tail -f nohup.out
注意: コードをスキャンした後、ログイン確認を5秒待つ必要があるというメッセージが表示され、端末のQRコードが更新されて再度プロンプトが表示される場合は、この問題を参照してコード行を変更して解決する必要があります。
Log in time out, reloading QR code
よくある質問: https://github.com/zhayujie/chatgpt-on-wechat/wiki/FAQs
PR、問題、スターサポートの送信を歓迎します。 プログラムの実行で問題が発生した場合は、最初に一般的な問題のリストを表示してから、 問題 同様の問題がない場合は、問題を作成するか、WeChat eijuyahzを追加して通信できます。