WeChat AIアシスタント
WeChat、Process Q&A、Playの役割、音声、写真、ビデオメッセージに応答し、記事やWebページを要約し、インターネットを検索するなど、weChatのChatGPT AIアシスタントとのマルチモーダルインタラクション。個人的なWeChatをAIアシスタントに変えます。
導入
このプロジェクトでは、WeChatferryライブラリを使用してWindows PCデスクトップWECHATクライアントを制御し、Intelligent Multimodalメッセージ処理のためにOpenAIアシスタントAPIを呼び出します。
- マルチモーダルインタラクションのために、WeChatのChatGpt AI(テキストまたは音声)に相談してください。
- WeChatferryを使用して、WeChatのWindowsデスクトップバージョンに接続し、WeChatとの高い互換性(実際の認証は必要ありません)、および低リスク。
- OpenAIアシスタントAPIを使用して、グループチャットの会話コンテキストを自動的に管理します。
- GPT-4oなどの視覚的サポートモデルを使用して、画像/ビデオのコンテンツの読み取りと分析を実行します。
- ドキュメントのアップロード、ドキュメントコンテンツ検索、およびドキュメントコンテンツに基づいて質問に答える(OpenAIビルトインfile_searchツールを使用)。
- AIは独自の判断を使用して、コードインタープリターと外部ツールを呼び出してタスクを完了できます。既存のツール:bing_search(bing search)、browser_link(browse web link)、text_to_image(text text of picture)、text_to_speech(Text to Voice)、mahjong_agari(垂直マジョンとカードの計算:数の数、シンボル、数の数、ポイントなど)))
- フォローアップ計画開発:その他のAPIおよびツールコール/エンタープライズWechatおよびWechatの公式アカウントログイン
- QQグループ:812016253クリックして参加します
- サポートWeChatデスクトップクライアントバージョン:3.9.10.27
ユースケース
- 「猫とカピバラのスキーの写真を一緒に描く」
- 「(引用された写真)写真の内容に基づいて詩を書き、私にそれを読んでください。」
- 「(パブリックアカウントの記事またはWebページのリンクを引用)記事の重要なポイントを要約する」
- 「Openaiに関するニュースを検索し、結果を読んでください」
- 「直立したマジョンハンド1112345678999mタッチ0m、どのようなサービスタイプとポイント?」






展開手順
展開に必要な条件:
- Openai APIメモ:このプロジェクトは、アシスタントAPIに依存しています。アシスタントAPIがサポートされているかどうかを確認してください。
- Windowsコンピューターまたはサーバー。
- (オプション、国内中国語)Openaiのプロキシサーバー(Openai-Proxyなど)にアクセスするか、APIプロキシを使用します。
- (オプション、手動展開に必要)Python環境とGitをインストールする
- Pythonダウンロードページ(Python 3.11が推奨されます。このプロジェクトはPython 3.12以上に依存し、自動的にインストールできません)
- gitダウンロードページ
- (オプション、インターネット検索プラグインで使用)Bing Search APIキー
方法1:リリースからダウンロード(直接使用)
- リリースにパッケージ化された実行可能ファイルとWeChatインストールファイルをダウンロードします
- 指定されたバージョンのWechat Windowsデスクトップ(インストールパッケージが提供されています)をインストールします。
- 圧縮されたパッケージをローカルで減圧します。
- config.yamlファイルを編集します(必要なアイテムはopenai api_keyで、構成アイテムの説明がドキュメントに表示されます。)
- 「main.exe」を実行すると、プログラムはWeChatクライアントを呼び出し、ログイン後にプログラムが実行を開始します。
方法2:ソースコードの手動展開(開発)
- 指定されたバージョンのWeChat Windowsをインストールします。リリースでダウンロードしてください。
- プロジェクトコードをローカルにクローニングします
git clone https://github.com/latorc/Wechat-AI-Assistant.git
- (オプション)Python仮想環境を作成してアクティブにします
python -m venv .venv
call .venv S cripts a ctivate.bat
- 依存ライブラリをインストールしてください。
cd Wechat-AI-Assistant
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
- 構成ファイルの編集:構成ファイルconfig_template.yamlの名前をConfig.yamlに変更し、構成アイテムを編集します。構成アイテムの説明については、ドキュメントを参照してください。
- main.pyを実行します
このプログラムは、WeChatクライアントを自動的に呼び出し、コードをスキャンしてWeChatデスクトップクライアントにログインして使用を開始します。
メイン構成アイテム
| 構成アイテム | 説明します | 例を挙げてください |
|---|
| API_KEY | Openai APIキー | sk-abcdefg12345678 .... |
| base_url | APIのURL、デフォルトのAPIを変更する必要はありません。プロキシまたはサードパーティAPIを使用するときに入力します | https://api.openai.com/v1 |
| プロキシ | Openaiにアクセスするために使用されるプロキシサーバーアドレスは、「http://アドレス:ポート番号」という形式で | http://10.0.0.10:8002 |
| chat_model | デフォルトで使用されるチャットモデル | GPT-4O |
| 管理者 | 管理者Wechat IDのリスト、管理者のみが管理者コマンドを使用できます | [WX1234、WX2345] |
他の構成オプションについては、config.yamlのコメントを参照してください。
使用のヒント
- WeChat AIアシスタントのWeChatの友人を追加するか、グループチャットと @ Itに追加して会話をします。
- それとの直接の会話は、chatgptに電話して答えるでしょう。写真やファイル、参照写真とファイル、@AIアシスタントを送信した後、それらを処理するように指示します。
- WECHAT AIアシスタントは、ユーザーのテキストに基づいてタスクを完了するためにツールを独立して選択して呼び出します。現在、ツールには、描画(Openai Dall-E-3)、コードインタープリター、合成音声(Openai API)、Webページへのアクセス、検索などが含まれます。
- 描画品質は、AIによって一時的に制御されます
- WeChatの指定されたバージョンのみがサポートされています。実行する前に、Open Wechatデスクトップクライアントを閉じてください。
管理者コマンド
管理者が定義された後(config.yamlファイルの管理者プロジェクト)、管理者は管理者コマンドを使用できます。デフォルトのコマンドは次のとおりです。
| 注文 | 説明します |
|---|
| $ヘルプ | ヘルプ情報を表示します |
| $更新構成 | プログラム構成をリロードします |
| $クリア | 現在の会話メモリをクリアします |
| $ load <preset name> | 現在の会話のプリセットをロードします |
| $リセットプリセット | 現在の会話のデフォルトプリセットにプリセットをリセットします |
| $プリセットリスト | 利用可能なプリセットを表示します |
| $ id | 現在の会話のIDを表示します |
これらのコマンドは、config.yamlで変更できます
ダイアログプリセット関数
- ダイアログプリセットは、現在の会話(グループチャットまたはシングルチャット)に有効になるシステムプロンプトワードとメッセージパッケージング方法です。
- AIアシスタントが現在の会話のためにプリセットをロードするために、デフォルトのコマンド「$ load <preset name>」を使用します。 「$ preset list」コマンドには、現在利用可能なプリセットとその説明が表示されます。
- <プリセット名>は、プリセットディレクトリで定義されている同じ名前を持つYAML構成ファイルです。
- Default.yamlはデフォルトのプリセットであり、デフォルトではダイアログに使用されます。
- 構成ファイルのgroup_presetsフィールドを使用して、会話のプリセットを設定できます。これは、プログラムの開始時に自動的に読み込まれます。
- 独自のプリセットを作成するには、プリセットディレクトリのdefault.yaml、つまりデフォルトのプリセットを参照してください。ファイルをコピーし、プリセット名に名前を変更し、その情報を変更します。
- DESC:プリセットの簡単な説明
- SYS_PROMPT:プリセットシステムの迅速な単語
- MSG_FORMAT:ユーザーメッセージをラップするフォーマット文字列{message} = original message、{wxcode} = sender wechat id、{nickname} = sender wechatニックネーム。設定されていない場合は、ソースメッセージを直接送信します。
ツール(プラグイン)
- ツールは外部関数とAPIを表します。これは、AIモデルが選択および呼び出して、図面、ネットワーク検索、その他の機能などの追加のタスクを完了することができます。
- 「$ help」コマンドを使用して、有効なツールプラグインを表示します。
- ツール構成:config.yamlのツールフィールドでは、ツールが有効になっているかどうか、およびツールの構成オプションを定義します。ツールを無効にするには、プラグイン名を削除またはコメントしてください。一部のプラグインでは、API_KEYが機能する必要があるBing_Search(Bing Search)など、追加の構成オプションが機能する必要があります。
- 各ツールは、OpenAIプレイグラウンドで表示できるアシスタントの関数ツールに対応しています。
- ツールコードはツールディレクトリにあり、ツールベースクラスを継承し、インターフェイスを実装します。
ツールの紹介:
- Bing_search:Microsoft Bing Search APIを使用して、インターネット上のコンテンツを検索します。
- 登録Bing検索APIを取得するには、https://www.microsoft.com/bing/apis/bing-web-search-apiを参照してください
- browser_link:Webリンクを参照します。 Seleniumを使用して、AIが使用するWebテキストコンテンツを取得します。
- text_to_image:テキスト描画。 DALL-Eモデルを使用して、テキストから画像を生成します。
- text_to_speech:テキストからスピーチ。 Openai APIを使用して、テキストからボイスオーディオを生成します。
- audio_transscript:音声からテキスト。 Openai Whipserを使用してスピーチをテキストに転写します。
- Mahjong_agari:句読点とカードポイントの数の計算。サービスタイプ、数値、ポイントなどの情報を計算します。ライブラリを使用:https://github.com/mahjongrepository/mahjong
他のヒントやヒント
- 国内の公式APIに接続できない場合は、APIプロキシを使用したり、科学的なインターネットプロキシを使用したりすることができます。無料のAPIプロキシはopenai-proxy.comで、base_urlをhttps://api.openai-proxy.com/v1に置き換えます
- モバイルエミュレーター(Xiaoyaoエミュレーターなど)を使用して、WeChatにログインしてWindows WechatクライアントにログインしてWeChatをオンラインに保つことができます。 WECHATの検出と禁止がトリガーされる可能性があるため、エミュレータのコードスキャンプロセスを中断しないでください。
- プログラムは、OpenaiのアシスタントAPIと呼びます。 Openaiの遊び場でこのアシスタントをテストできます。
- このプログラムは、処理のために写真とファイルをOpenAIにアップロードします。 OpenAI管理の背景でファイルを表示および削除できます。 Openaiはファイル自体を充電しませんが、ファイルが占める総スペースに制限があります。
- このプログラムは、すべてのツール、検索結果、およびWebページの全文の定義の説明をOpenAIに送信します。トークンを保存する必要があり、いくつかのツール(プラグイン)を閉じることができます。
リソース
- QQグループ:812016253クリックして参加します
- 謝辞:このプロジェクトは、WeChatferryプロジェクトのLich0821 Bossに感謝します
- 推奨:ワンクリックで独自のchatgptウェブサイトchatgpt-next-webプロジェクトを展開する
- リファレンス:WechatのWebバージョンを使用してログインするWechat Robot Chatgpt-on-Wechatプロジェクト
- 参照:Openai CookbookブログチュートリアルアシスタントAPIの概要
- 参照:OpenAI APIリファレンス