DialogflowとGoogle Cloud ML APIの統合方法
目次
- ロンダイアログフローエージェントとML APIの統合方法を学びましょう
- ユーザーの会話AIユースケースに応じた画像のアップロードと応答のガイド方法を学びましょう
- ダイアログフローエージェントにGoogle Vision APIを呼び出す方法を学びましょう
- Djangoフロントエンドアプリケーションに画像のアップロード機能を追加する方法を学びましょう
- チャットアプリケーションのアーキテクチャ
- Djangoフロントエンドアプリケーションのセットアップ手順
- ダイアログフローコンソールの使い方
- ウェルカムインテントの変更方法
- インボイスに関するユーザーの入力をキャプチャする方法
- ファイルの入力を受け取るためのインテントの作成方法
- Vision APIリクエストの処理方法
- バケットの作成とVision APIの呼び出し方法
- テキストの検出結果の処理方法
- レスポンスの送信方法
- Vision APIとの統合の応用例
- その他のML APIとの統合方法
- ユーザーの利用例についてのフィードバック
【目次を作成後にこちらから文章作成】
ディアログフローエージェントをML APIと統合する方法について学びました。ユーザーがチャットアプリケーションに画像をアップロードし、その会話でさらに指示を受けることを期待する場合、今回学んだ方法を使用することができます。Google Vision APIを呼び出すことで、画像のリクエストを満たすディアログフローエージェントの作成方法を見ていきます。前回作成したDjangoフロントエンドアプリケーションに画像のアップロード機能を追加します。前回のエピソードをまだ見ていない場合は、まずそちらをご覧いただくことをお勧めします。
それでは、以下の手順に従って作業を進めましょう。
ダイアログフローの設定
まず、ダイアログフローのコンソールを見てみましょう。前回のエピソードで作成した予定スケジューラーエージェントを使用しています。まず、ウェルカムインテントを変更し、チャットボットが予約スケジューリングとインボイスに関する質問に対応できることをユーザーに明確に伝えましょう。
次に、インボイスに関するユーザーの入力をキャプチャするインテントを作成しましょう。ユーザーにファイルのアップロードを指示する静的なレスポンスを設定しましょう。次に、ファイルの入力を受け取るインテントを作成します。ユーザーがファイルを提供した後は、カスタムエンティティを使用してファイル名を抽出します。
レスポンスの設定でフルフィルメントを有効にしましょう。
フロントエンドのコードの追加
次に、フロントエンドのDjangoコードを確認し、フロントエンドからダイアログフローへの処理方法を見ていきましょう。
フルフィルメントの設定
次に、fulfillment.jsファイルを見てみましょう。ファイルのアップロードに関する新しいインテントマップを定義します。applyML関数でエージェントをパスし、ユーザーがアップロードしたファイル名を取得するための変数を宣言します。GCSバケットポッドを作成するためにバケット名とファイル名を渡し、Vision APIの呼び出し情報を作成します。検出されたテキストの結果を持つJSONが得られるので、興味があるのはテキストの説明だけです。テキストの説明を含むリストを作成し、ユーザーに応答として送信します。
今回の統合では、ラベル、ランドマーク、顔などの認識ラベルに加えて、NLP、ビジョン、翻訳、ジョブなどの他のML APIとも同様のコンセプトを利用できます。また、ご自身で作成したカスタムML APIもAutoMLを使用して統合することができます。
この統合をどのように適用しているか、ぜひコメントでお聞かせください。また、このチャンネルに興味を持ち、その他のコンテンツも見たい場合は、いいねやチャンネル登録をお願いします。
【FAQ】
Q: Vision APIの他にも利用できるML APIはありますか?
A: はい、Vision API以外にもNLP、翻訳、ジョブなど他のML APIも同様の統合が可能です。さらに、AutoMLを使用して独自のML APIを作成することもできます。
Q: 画像以外のファイルのアップロードも可能ですか?
A: はい、画像以外のファイルのアップロードも可能です。バケットポッドを作成する際に、ファイルの種類に応じて適切な処理を実行できます。
Q: チャットアプリケーションはどのようにしてデプロイされますか?
A: チャットアプリケーションはApp Engineで提供されます。App EngineはPythonを使用したDjangoに基づいた無料かつオープンソースのウェブフレームワークです。
【リソース】
このエピソードでは、Djangoフレームワークを使用してApp Engine上でカスタムのDialogflowフロントエンドを作成し、バックエンドでVision APIと統合する方法を学びました。次回のエピソードでお会いしましょう。いいねやチャンネル登録をしていただければ幸いです。