Azure Functions を使用して Azure AI サービスを設計する

完了

このモジュールでは、クラウドに Azure Functions をデプロイすることで、IoT デバイスを含む翻訳アプリケーションを構築します。 Visual Studio Code を使用して関数を作成し、デプロイします。 この関数で HTTP 要求を受け取ります。 この要求によって Azure 関数がトリガーされ、コード実行が開始されます。 コードでは Speech API を利用し、音声をターゲット言語に翻訳します。 関数は IoT デバイスから音声データを受け取り、外国語からターゲット言語に発話をインタラクティブ方式で翻訳します。 モジュールにターゲット言語を指定し、IoT デバイスの画面に結果を表示します。

ソリューションの設計で次のコンポーネントを使用します。

  • Azure Functions とサーバーレス:サーバーレス コンピューティングを利用すると、開発者はアプリケーション インフラストラクチャについて考慮することなくアプリケーションを構築できます。 サーバーレス コンピューティングには次の 3 つの部分があります。

    • サーバーレス Kubernetes
    • サーバーレス関数
    • サーバーレス アプリケーション環境

    このモジュールでは、Azure Functions のみを使用します。 Azure Functions によってサーバーレス アプリケーションを開発できます。 小さなコード ("関数" と呼ばれている) を実行します。 特定のイベントによってコードを実行する関数がトリガーされます。

  • Cognitive Speech Service:Speech サービスは、音声テキスト変換、テキスト読み上げ、音声翻訳機能を 1 つの Azure サブスクリプションに提供する API です。 このモジュールでは、Cognitive Speech Service を使用し、リアルタイム音声翻訳を統合します。

  • Visual Studio Code: ソースコード エディターです。 IoT デバイスの開発ツールとして Visual Studio Code を使用します。

  • Azure IoT Device Workbench: Visual Studio Code 拡張機能です。 Azure IoT Device ワークベンチを使用し、プロジェクトを開き、Azure 関数を作成してデプロイし、IoT Devkit をデバッグします。

  • C#: .NET クラス ライブラリの C# プログラミング言語を使用して、Azure 関数を開発します。

  • 関数アプリ: 個々の関数の実行をホストするコンテナーです。

  • Devkit Translator サンプル:GitHub で利用できる Azure Functions と Azure AI サービスを使用したプロジェクト サンプルです。 このコードを基礎として使用し、上記のシナリオに合わせて変更します。

  • デバイス コード: Arduino 回路基板の制御に利用できる Arduino Sketch File (.ino ファイル拡張子) です。

モジュール全体の手順は次のとおりです。

  1. クラウドに合わせて IoT Devkit を構成する

  2. Azure で Cognitive Speech Service を作成する

  3. Visual Studio Code を利用してトランスレーター サンプルを構築する

    a. "Devkit Translator" サンプルを開く

    b. Azure IoT Hub、IoT デバイス、Azure Functions をプロビジョニングする

    c. Azure 関数で Speech API キーを構成する

    d. Azure 関数をデプロイする

    e. コードを構成してコンパイルする

モジュールの完了後、デバイスが IoT Hub 合わせて構成されます。 Azure 関数アプリをクラウドにデプロイします。 また、デバイス コードを IoT デバイスに実装します。 デバイス コードでは Azure 関数が使用され、サーバーレス環境でコードが実行されます。 結果的として得られるソリューションでは、デジタル サイネージ シナリオ向けの Azure AI サービスを使用して、音声翻訳が実行されます。