電話に出るAI語学チューター
Telnyx APIを利用したオープンソースプロジェクトで、電話を通じてAIと外国語の会話練習ができます。音声認識、AI推論、テキスト読み上げを活用したリアルタイム対話を実現します。
「AI Language Learning Phone Tutor」というオープンソースプロジェクトが開発者の間で注目を集めています。このプロジェクトはTelnyx通信プラットフォームを活用し、ユーザーが通常の電話を通じてAIと外国語の会話練習を行えるようにします。指定された番号に電話をかけると、システムが自動応答して対話を開始します。プロジェクトはPythonベースで開発されており、TelnyxのAI推論API(/v2/ai/chat/completions)を使用して会話を処理し、通話制御ウェブフックで通話のライフサイクルを管理します。
着信が応答されると、AIが歓迎メッセージを音声で流し、続いてユーザーの音声またはDTMF入力を収集します。収集された入力はAI推論エンジンに送られ、生成された応答がテキスト読み上げ(TTS)で再生されます。このプロセスがループし、ユーザーが切断するまで続きます。このプロジェクトはcall.answered、call.gather.ended、call.hangup、call.initiated、call.speak.ended、message.receivedなどの複数のイベントを処理します。アーキテクチャは明確で、着信→応答・挨拶→DTMF収集→AI推論→応答という流れです。
設定手順は詳細に記載されています。開発者は.env.exampleファイルをコピーし、TELNYX_API_KEY(Telnyx API v2キー)、AI_MODEL(AI推論モデル名、例:moonshotai/Kimi-K2.6)、TUTOR_NUMBER(チュータ番号)、PORT(HTTPサーバポート)などの環境変数を設定します。デプロイは簡単で、GitHubリポジトリをクローンし、依存関係をインストールし、Pythonスクリプトを実行するだけです。公衆アクセスが必要な場合は、ngrokトンネルを使用してローカルポートを公開し、TelnyxポータルでWebhook URLを設定します。
REST APIエンドポイントも提供されています。GET /sessionsは現在のセッション情報(ID、ステータス、継続時間、ターン数)を返し、GET /healthはヘルスチェック(ステータス、稼働時間、アクティブセッション数、バージョン)を返します。WebhookエンドポイントPOST /webhooks/voiceはTelnyxの通話制御イベントを受信し、イベントペイロードの例も示されています。トラブルシューティングセクションでは、401 Unauthorized(APIキーの確認)、Webhook未受信(サーバの公開)、422 Unprocessable Entity(リクエストボディの確認)などの対処法が説明されています。
さらに、関連例としてAI After Hours Emergency Triage、AI Assistant Knowledge Baseなどが挙げられ、リソースリンク(通話制御ガイド、AI推論ガイド、Telnyx開発者ドキュメント)も提供されています。Telnyxプラットフォームは、音声、メッセージング、SIP、AI、IoTを統合したAI通信インフラであり、プライベートグローバルネットワーク上で動作します。このプロジェクトは、従来の電話システムにAI対話機能を統合する方法を示しており、言語学習の新しい実践方法を提供しています。