ChatGPT 音声アシスタント
- ChatGPT 音声アシスタントは、Raspberry Pi (またはデスクトップ) を使用して、OpenAI の大規模言語モデルとの音声会話を可能にします。この実装は音声を聞き、OpenAI サービスを通じて会話を処理し、応答します。 Apple Siri、Amazon Alex、Google Nest Home、Mi XiaoAi など。
- このプロジェクトは、Linux/Raspbian、macOS、および Windows をサポートする Python で書かれています。
特徴
- リアルタイムの音声対話をサポートします。 ChatGPT が文を返した後、音声合成を開始する前に ChatGPT のすべての応答を待つ代わりに、音声を聞くことができます。
- 継続的な対話をサポートし、すべての ChatGPT の現在の会話の履歴を保存します。 ChatGPT 会話が 4096 トークン (gpt-3.5-turbo) より大きい場合、初期の会話履歴は破棄されます。
- ローカルウェイクワードをサポートし、Siriと同じように使用できます。
音声アシスタントスピーカー
- ハードウェア
- Raspberry PI 3/3B/4/4B の場合の $
- USB マイクの $
- $ 補助スピーカー用
- $ SD カード (>= 8GB) (Raspberry Pi OS のセットアップ用)
- ソフトウェア
- Azure Cognitive Speech Services
- 無料利用枠: 毎月 5 オーディオ時間、1 つの同時リクエスト。
- 無料の $200 クレジット: 最初の 30 日間使用できる新しい Azure アカウント付き。
- OpenAI
- $0.002 / 1K トークン / ~750 ワード: ChatGPT (gpt-3.5-turbo)
- 無料の $18 クレジット: 最初の 90 日間使用できる新しい OpenAI アカウント付き。
設定
- Azure Cognitive Services のインスタンスと OpenAI アカウントが必要です。このソフトウェアはほぼすべてのプラットフォームで実行できますが、まずは Raspberry Pi から始めましょう。
ラズベリーパイ
- Raspberry Pi を初めて使用する場合は、このスタートガイドを参照してください。
1.OS
- SD カードを PC に挿入します。
- https://www.raspberrypi.com/software/ にアクセスし、Raspberry Pi Imager をダウンロードして実行します。
-
Choose OS
をクリックし、Raspberry Pi OS (64 ビット) または Ubuntu 22.04.2 LTS (64 ビット) を選択します。 -
Choose Storage
をクリックし、SD カードを選択します。 -
Write
をクリックし、イメージングが完了するまで待ちます。 - SD カードを Raspberry Pi に挿入し、キーボード、マウス、モニターを接続します。
- 初期設定を完了し、必ず Wi-Fi を設定してください。
2.USBスピーカー/マイク
- USB スピーカー/マイクをまだ接続していない場合は接続します。
- Raspberry PI OS デスクトップで、画面右上のボリューム アイコンを右クリックし、USB デバイスが選択されていることを確認します。
- 画面右上のマイクアイコンを右クリックし、USB デバイスが選択されていることを確認します。
アズール
会話型スピーカーは、音声合成およびテキスト読み上げに Azure Cognitive Service を使用します。 Azure アカウントと Azure Cognitive Services のインスタンスを作成する手順は次のとおりです。
1. Azureアカウント
- Web ブラウザーで https://aka.ms/friendbot/azure に移動し、
Try Azure for Free
をクリックします。 -
Start Free
をクリックして、無料の Azure アカウントの作成を開始します。 - Microsoft または GitHub アカウントでサインインします。
- サインイン後、いくつかの情報を入力するように求められます。
注: これは無料アカウントであっても、Azure ではクレジット カード情報が必要です。後で設定を変更しない限り、料金は発生しません。
- アカウントのセットアップが完了したら、https://aka.ms/friendbot/azureportal に移動します。
2. Azure コグニティブ サービス
- https://aka.ms/friendbot/azureportal でアカウントにサインインします。
- 上部の検索バーに
Cognitive Services
と入力します。 Marketplace
でCognitive Services
を選択します。 (入力には数秒かかる場合があります。) - 正しいサブスクリプションが選択されていることを確認してください。
Resource Group
でCreate New
を選択します。リソース グループ名 (例: conv-speak-rg
) を入力します。 - Azure Cognitive Services のインスタンスのリージョンと名前を選択します (例:
my-conv-speak-cog-001
)。注: EastUS、WestEurope、または東南アジアは、最も多くの機能をサポートする傾向があるため、これらの地域をお勧めします。
-
Review + Create
をクリックします。検証に合格したら、 Create
をクリックします。 - デプロイが完了したら、
Go to resource
クリックして Azure Cognitive Services リソースを表示できます。 - 左側のナビゲーション バーの
Resourse Management
で、 Keys and Endpoint
を選択します。 - 2 つの Cognitive Services キーのいずれかをコピーします。後で使用できるようにこのキーを安全な場所に保存します。
Windows 11 ユーザー: Text-to-Speech API を呼び出すときにアプリケーションが停止する場合は、現在のセキュリティ更新プログラムをすべて適用していることを確認してください (リンク)。
OpenAI
会話スピーカーは OpenAI のモデルを使用してフレンドリーな会話を行います。新しいアカウントを作成して AI モデルにアクセスする手順は次のとおりです。 OpenAI 公式 API または Azure OpenAI API をサポートします。どちらかを選択してください。
1.OpenAIアカウント
- Web ブラウザで、https://aka.ms/maker/openai に移動します。
Sign up
クリックします。注: Google アカウント、Microsoft アカウント、または電子メールを使用して新しいアカウントを作成できます。
- サインアップ プロセスを完了します (パスワードの作成、電子メールの確認など)。
注: OpenAI を初めて使用する場合は、使用ガイドライン (https://beta.openai.com/docs/usage-guidelines) を確認してください。
- 右上隅にあるアカウントをクリックします。
View API keys
をクリックします。 -
+ Create new secret key
クリックします。生成されたキーをコピーし、後で使用できるように安全な場所に保存します。
大規模な言語モデルを直接操作してみたい場合は、https://aka.ms/maker にログインした後、ページの上部にある https://platform.openai.com/playground?mode=chat をチェックしてください。 /オープンナイ。
2. Azure OpenAI アカウント
OpenAI公式アカウントまたはAzure OpenAIアカウントのいずれかを選択してください
- Azureアカウントを作成する
- Azure アカウントをお持ちでない場合は、Azure 公式 Web サイトにアクセスしてアカウントにサインアップしてください。 Azure では無料のアカウント オプションが提供されており、新規ユーザーはテストと学習のために一定量の無料クレジットを取得できます。
- アクセスを申請する
- Azure OpenAI サービス ページで、[アクセスを申請する] ボタンをクリックします。これにより、アプリケーションページに移動し、会社名、ユースケースなどの必要な情報を入力する必要があります。
- 設定と使用
- アクセスできるようになると、Azure portal で新しい OpenAI サービス リソースを作成できます。作成後、API キーを取得し、公式ドキュメントに従って Azure OpenAI サービスの使用を開始できます。
コード
1. コード構成
- Python Speech SDK パッケージは、Windows (x64 および x86)、Mac x64 (macOS X バージョン 10.14 以降)、Mac arm64 (macOS バージョン 11.0 以降)、および Linux で利用できます。
- Raspberry Pi または PC でコマンドライン ターミナルを開きます。
- Ubuntu または Debian では、次のコマンドを実行して必要なパッケージをインストールします。
sudo apt-get update
sudo apt-get install libssl-dev libasound2
- Ubuntu 22.04 LTSでは、最新のlibssl1.1パッケージを http://security.ubuntu.com/ubuntu/pool/main/o/openssl/ からダウンロードしてインストールすることも必要です。
- リポジトリのクローンを作成します。
git clone https://github.com/jackwuwei/gptspeaker.git
- API キーを設定します。config.json
{AzureCognitiveServices.Key}
と{AzureCognitiveServices.Region}
を OpenAI API キーに置き換え、 {OpenAI.Key}
を OpenAI API キーに置き換えます。 {
"AzureCognitiveServices" : {
"Key" : " AzureCognitiveServicesKey " ,
"Region" : " AzureCognitiveServicesRegion " ,
},
"OpenAI" : {
"Key" : " OpenAIKey " ,
},
// Just choose one of the two OpenAI above
"AzureOpenAI" :
{
"Key" : " " , // Key 1 or Key 2
"api_version" : " 2024-02-01 " ,
"Endpoint" : " " , // Endpoint
"Model" : " " // Azure AI Studio deployment name
}
}
- インストール要件
pip3 -r install requirements.txt
- コードを実行する
2. (オプション) カスタムウェイクフレーズを作成する
コード ベースにはデフォルトのウェイク フレーズ ( "Hey GPT"
) がすでに含まれているため、最初にこれを使用することをお勧めします。独自の (無料!) カスタム ウェイク ワードを作成したい場合は、以下の手順に従ってください。
- こちらの手順に従ってカスタム キーワード モデルを作成します: https://aka.ms/hackster/microsoft/wakeword。
- モデルをダウンロードし、
.table
ファイルを抽出して、ソース ルート ディレクトリにコピーします。 -
config.json
ファイルを更新して、ウェイク フレーズ ファイルをビルドに含めます。 "AzureCognitiveServices" : {
"WakePhraseModel" : " xxx.table " ,
"WakeWord" : " xxx " ,
}
- カスタム ウェイク ワードを使用するには、プロジェクトを再構築して実行します。