/M5Unified_StackChan_ChatGPT

「ChatGPT API搭載AIスタックチャン」です。

Primary LanguageC++MIT LicenseMIT

M5Unified_StackChan_ChatGPT

「ChatGPT API搭載AIスタックチャン」です。

画像1

これは @mongonta555 さんのスタックチャン M5GoBottom版組み立てキットに対応したスタックチャンファームです。

HOYA社が提供するVoiceText Web APIサービスを使った音声合成(TTS)を使用しています。
VoiceText TTSは、kghrlaboさんのesp32_text_to_speechを参考にさせていただきました。
オリジナルはこちら。
esp32_text_to_speech https://github.com/kghrlabo/esp32_text_to_speech


M5GoBottom版スタックチャン本体を作るのに必要な物、及び作り方

こちらを参照してください。

プログラムをビルドするのに必要な物

使用しているライブラリ等は"platformio.ini"を参照してください。


サーボモーターを使用するGPIO番号の設定

  • M5Unified_StackChan_ChatGPT.inoの42行目付近、サーボモーターを使用するGPIO番号を設定してください。

ChatGPTのAPIキーの取得

ChatGPTのAPIキー取得方法は以下の通りです。(詳細はこのページ一番下のリンクを参照してください。)

  • OpenAIのウェブサイトにアクセスして、アカウントを作成します。メールアドレスと携帯電話番号が必要です。
  • アカウント作成後、APIキーを発行します。APIキーは有料ですが、無料期間やクレジットがあります。

VoiceText Wev API api キーの取得

APIキーは、ここの「無料利用登録」から申請すれば、メールで送られて来ます。

  • TTSのパラメータの詳細はこちらを参照してください。
    [VoiceText Web API API マニュアル]


使い方

  • SDカードのルートに以下の2つのファイルを作成しておくと、使用できるようになります。
  1. wifi.txtファイル:ファイル名は"wifi.txt"で、中身は次の通りです。
    YOUR_WIFI_SSID
    YOUR_WIFI_PASS

  2. apikey.txtファイル:ファイル名は"apikey.txt"で、中身は次の通りです。
    YOUR_OPENAI_APIKEY
    YOUR_VOICETEXT_APIKEY



  • ブラウザで"http://xxxx.xxxx.xxxx.xxxx/role_get"にアクセスすると、現在設定しているロールを取得できます。

  • AIスタックチャンの表情を会話内容に合わせて変更できます。
    ロール設定で以下の2行をそのまま入力してください。

    (Happy)のように、必ず括弧で囲んで感情の種類を表し、返答の先頭に付けてください。
    感情の種類には、Neutral、Happy、Sleepy、Doubt、Sad、Angryがあります。

    他にもロールを設定する際は、これらの2行を最後にしてください。
    出来ればこの2行のみでやってみてください。
    ロールを増やすと失敗しやすくなります。


  • 独り言モードを追加しました。ランダムな時間間隔で、ランダムに喋ります。
    感情表現機能と組み合わせると楽しいです。
    ボタンAで独り言モードをON/OFFできます。
    独り言モードでも従来通りスマホから会話できます。

  • 直近5回分の会話の履歴を保存する機能があります。

  • 音声認識プログラムは別途ユーザーが用意する必要があります。
    音声認識プログラムからこのようにhttpコマンドでテキスト(UTF-8)を渡します。
    (テキストはURLエンコードして渡してください。)

    http://XXX.XXX.XXX.XXX/chat?text=こんにちは

    XXX.XXX.XXX.XXXの部分は起動時に表示されるM5StackのIPアドレスに置き換えてください。

  • 上記と同様にしてブラウザを使ってアクセスすることも出来ます。

    画像2

  • 私は音声認識にiPhoneのショートカット機能を使っています。
    このように簡単に音声認識が使えます。

    画像3

  • M5Stack Core2の画面**付近にタッチするとスタックチャンの首振りを止められます。

  • M5Stack Core2のボタンCを押すと、音声合成のテストが出来ます。


ChatGPTのAPIキー取得の参考リンク

VoiceText Wev API api キーのキー取得のリンク

  • APIキーは、ここの「無料利用登録」から申請すれば、メールで送られて来ます。

ChatGPTのキャラクター設定の参考リンク