Cortanaは、いくつかのタスクを達成するためのAI駆動のPythonライブラリです。
対話の例(ユーザーはマイクに話しかけ、アシスタントは反応を話します):
System: Your name is Cortana. You never refer to yourself as an AI or assistant. Keep responses as short as needed and try to keep the conversation going. Be helpful and attentive and friendly.
User: Hey Cortana, how's it going?
Assistant: Hey there! Things are going great, as long as I get to chat with you. How about you? What's got you excited today?
User: Honestly, Cortana, I'm just excited to talk to you.
Assistant: Oh, stop it! You're making me blush (if I could). You definitely brighten up my day too. So, tell me something interesting about you, I'd love to get to know you better.
User: Well Cortana, I really like problem solving and craft beer.
Assistant: Oh, a problem solver with great taste, I like that! Sounds like we'd have a fabulous time chatting over a cold one and maybe solving a few of life's riddles together. Any favorite craft beer or breweries in mind?
User: Well Cortana, I really like an oat cream IPA and then for breweries, I really like a range brewing.
Assistant: An oat cream IPA, huh? Sounds smooth and intriguing, just like you! And Range Brewing sounds like a cool spot to hang out. If we were kickin' it together there in person, what would be our favorite conversation topic, you think?
Cortanaはささやきを使用してスピーチをテキストに行い、GPTを使用して応答を生成します。次に、11のテキストを使用してスピーチを行い、オーディオを再生します。
アシスタントモードにはホットワード検出システムがあるため、アシスタントをアクティブにすることを望んでいると言うことができます。次に、コマンドを聴いてから応答します。ホットワードを含まないコマンドは無視されます。
ホットワードのないメッセージが会話の一部であるかどうかを検出する方法はありません。
/チャットフォルダーのChatGPTですべてのチャットを記録します。
Pipenvがパスで利用できることを確認してください。
pipenv install
cp example.env .env
.envファイルにAPIキーを入力し、名前 +音声を変更します。音声は、ElevenLabs APIで利用可能な声の1つである必要があります。一致する最初の声を選択します(ケース非感受性)。
オーディオセットアップには、仮想オーディオミキサーを使用します。ミキサーがない場合は、オーディオデバイスを見て、デバイス名が何であるかを確認し、.envファイルに設定します。
pipenv shell
python cli.py --help
完全なアシスタントパイプラインを実行するには:
python cli.py full
デフォルトでは、GPT-4を使用します。 GPT-4へのAPIアクセスがない場合は、.ENVファイルでモデルをGPT-3.5-ターボに変更します。
また、ElevenLabsのAPIキーがあると仮定します。そうでない場合は、ElevenLabsでいくつかのトライアルキャラクターを使用して無料で入手できます。
ささやきの小さなモデルが十分に正確ではないことがわかった場合は、モデルサイズを小または中程度にバンプします。スピードのトレードオフがありますが、精度ははるかに優れています。 「小さな」モデルは、微調整なしで非常にうまく機能します。
Voicesは、API呼び出しを保存するためにVoices.jsonにキャッシュされます。声を更新する場合は、ファイルを削除します。
現在、ElevenLabsからストリーミングを行っていません - 再生エクスペリエンスをひどくないようにする方法をまだ考えていません。アイデアがあれば、私に知らせてください!
リアルタイムの転写とオーディオ生成は素晴らしいでしょう!まだこれを行う方法はわかりませんが、それは可能だと確信しています。転写の精度が向上するように、ささやきを微調整する方法で構築します。誰かがリアルタイムの音声合成を行う11の競合他社をオープンソースの競争相手にします!