このページでは、Google Chat アプリ、Google Chat アプリ、 自然言語で文章を理解し、回答する Dialogflow。このガイドでは、 Dialogflow CX。 直接統合されています。また、 Dialogflow ES。 Dialogflow ES Google Chat アプリ Dialogflow ES Google Chat ご覧ください
たとえば、レンタル サービスを利用できる Chat アプリを例にとると、 考えていますユーザーは「車を借りたい」と入力するでしょう。「 Chat アプリが次のような質問をすると、 「どこで乗車をご希望ですか?」人間のような ユーザーとのコミュニケーション プロセスであり、 レンタカーを予約する際、人間の音声を理解して応答します。
これは一例にすぎません。Dialogflow Chat アプリは、 やり取りできます。人間の自然な発話が必要な場合は、 Dialogflow Chat アプリ。「 ビルド済みエージェント Dialogflow の機能を紹介します。
- フライトを予約
- 診察を予約できます
- 料理の出前を注文する
- 小売商品カタログに関する質問に回答する 他の色もご用意
-
図 2.Dialogflow CX でエージェントをテストし、エージェントのロジックと構成が意図したとおりに機能することを確認する。この図は、レンタカーの乗車場所と返却場所の設定など、会話の特定の手順に関連する一連のトピックのページを示し、それらをつなぐロジックを構成しています。会話はシミュレータでテストされます。 -
図 3.Google Cloud コンソールの Chat API 構成ページで、Dialogflow CX エージェントを使用してレスポンスを処理するように Chat アプリを構成します。 -
図 4.Google Chat の Dialogflow Chat アプリを使用して、レンタカーの予約について会話する。
目標
- 環境を設定する。
- Dialogflow CX エージェントを作成してデプロイする。
- Google Workspace の Dialogflow CX エージェント。
- Chat アプリをテストします。
前提条件
- 企業または大企業 以下へのアクセス権を持つ Google Workspace アカウント Google Chat。
- 課金を有効にした Google Cloud プロジェクト。既存のプロジェクトで課金が有効になっていることを確認するには、 プロジェクトの課金ステータスを確認できます。プロジェクトを作成して課金を設定するには、以下をご覧ください。 Google Cloud プロジェクトを作成します。
アーキテクチャ
次の図は、VM のアーキテクチャを Dialogflow で構築された Chat アプリ:
上の図では、Dialogflow を操作するユーザー Chat アプリには、次のような情報の流れがあります。
- ユーザーが Chat でメッセージを ダイレクト メッセージまたはスペースで Chat スペース。
- Google Cloud に存在する Dialogflow 仮想エージェントは、 メッセージを処理してレスポンスを生成します。
- 必要に応じて、 Dialogflow Webhook、 Dialogflow エージェントは、Google Cloud などの外部のサードパーティ サービスとやり取りできます。 チケット発行ツールとして 使用できます
- Dialogflow エージェントは、API 呼び出しに対するレスポンスを Chat での Chat アプリサービス。
- レスポンスが Chat スペースに配信されます。
環境を設定する
Google API を使用する前に、Google Cloud プロジェクトで有効にする必要があります。 1 つの Google Cloud プロジェクトで 1 つ以上の API を有効にできます。Google Cloud コンソールで、Google Chat API と Dialogflow API を有効にします。
正しい [次へ] をクリックします。
正しい API を有効にしていることを確認し、[有効にする] をクリックします。
Dialogflow CX エージェントを作成する
Dialogflow CX エージェント 複数の会話を同時に処理できる仮想エージェント お客様と緊密に連携しますこれは自然言語理解モジュールで、 人間の言葉のニュアンスを理解しますDialogflow でエンドユーザーのテキストを翻訳 構造化データへの会話で、アプリとサービスによって 理解できます。あなたは、Dialogflow エージェントを設計して構築し、 システムに必要な会話を行えます。
Dialogflow エージェントは、コールセンターの担当者のようなものです。両方をトレーニングする 期待される会話のシナリオに対処できます。トレーニングは、必ずしも既定で 過度に露骨にします。
Dialogflow CX エージェントを作成する手順は次のとおりです。
Dialogflow CX コンソールで、Dialogflow CX コンソールを開きます。[ メニュー > [Dialogflow CX]。
Google Cloud プロジェクトを選択します。プロジェクトを見つけるには、次を行う必要があります。 [すべて] をクリックして検索します。
ビルド済みエージェントまたは 独自に作成できます。エージェントの詳細を確認したい場合は 後でカスタマイズする場合は、いずれかの ビルド済みエージェント エージェントができることについて学ぶうえでも役立ちます。
ビルド済みエージェントを選択する手順は次のとおりです。
- [Use prebuilt agents] をクリックします。
ビルド済みエージェントを選択します。このガイドでは、 旅行: レンタカー。
エージェントは初級者に分類されます。 エージェントが使用する特徴の数に応じて、中級者向け、上級者向けの 会話ロジックの洗練度が増しています。Google Cloud の 中間エージェントまたは高度なエージェントには、エージェント固有の カスタマイズや設定を行うことができます。たとえば、 Google Cloud コンソール。
[エージェントとしてインポート] をクリックします。
独自のエージェントを作成する手順は次のとおりです。
- [Create Agent(エージェントを作成)] をクリックします。
- [Auto-generate] を選択して、 データストア エージェント [Build your own] を選択して他の種類のエージェントを作成することもできます。
エージェント構築プロセスの詳細なチュートリアルについては、 Dialogflow CX エージェントを作成します。
エージェントの基本設定を構成します。
[作成] をクリックします。Dialogflow CX がエージェントの作成を開始し、 エージェントのデフォルトの起動フローが表示されます。
必要に応じて、エージェントをカスタマイズします。エージェント向けの 詳しいチュートリアルについては 詳細については、このモジュールの Dialogflow CX エージェントを作成します。
エージェントをテストすることをおすすめします。
- [Test agent] をクリックします。
- [Test agent in environment] を選択します。
- [環境] で [ドラフト] を選択します。
- フローで、[Default Start Flow] を選択します。
- [ページ] で [スタートページ] を選択します。
- [Talk to agent] 入力バーに「
Hello
」と入力して Enter キーを押します。 エージェントは自己紹介で応答します。 - テスト用の会話のサンプルを使用してテストを完了します。
Dialogflow CX エージェントが作成されます。Dialogflow CX コンソールに戻ります。 メニュー アイコン > [Dialogflow CX]。
をクリックします。[Agents] で [> [名前をコピー] をタップします。この名前を次の名前を付けて保存: Chat 用アプリの構成時に使用します。
] をクリックします。
Chat アプリを作成して Dialogflow エージェントに接続する
Dialogflow CX エージェントを作成したら、次の手順でエージェントを Chat アプリ:
Google Cloud コンソールで、[Google Chat API] に移動します。「Google Chat API」を検索するおよび [Google Chat API]、[管理] の順にクリックします。
[Configuration] をクリックして、Chat 用アプリを設定します。
- [アプリ名] に「
Dialogflow App
」と入力します。 - [アバターの URL] に、次のように入力します。
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
。 - [説明] に「
Responds to real human conversation
」と入力します。 - [機能] で [1:1 のメッセージを受信する] を選択し、 スペースやグループの会話に参加する
- [接続設定] で [Dialogflow] を選択します。
- [Dialogflow の設定] で [Dialogflow CX] を選択します。
- [Agent or Environment resource name] に、Dialogflow CX エージェントを貼り付けます。 末尾にコピーした名前です。 Dialogflow CX エージェントを作成する。
- 特定のユーザーやグループにこの Chat 用アプリの利用を許可する メールアドレスを入力します。
- [ログ] で、[エラーを Logging にロギング] を選択します。
- [アプリ名] に「
[保存] をクリックします。
Chat アプリが受信して応答する準備が整いました 表示されます。
Chat アプリをテストする
Dialogflow CX Chat アプリをメッセージでテストします。 できます。
Google Workspace アカウントを持つユーザーを ご自身で Trusted Tester として追加した際に提供される通知もあわせてご確認ください。
- [ チャットを新規作成] をクリックします。
- [1 人以上のユーザーを追加] フィールドに、招待する Chat アプリ。
結果から Chat 用アプリを選択します。ダイレクト というメッセージが開きます。
アプリとの新しいダイレクト メッセージで、「
Hello
」と入力し、enter
キーを押します。Dialogflow Chat アプリは、 できます。
- テストを終了するには サンプルのテスト会話をご覧ください。
テスト用の会話の例
Dialogflow CX Chat アプリを Dialogflow CX コンソールまたは Google Chat で、次のように会話します。 この説明は、Dialogflow CX エージェントがどのようにメッセージを プロンプトが生成され、独自の自然言語レスポンスが 会話のステップごとに示されます。このサンプルの会話は、 ビルド済みエージェント (旅行: レンタカー)という名前を付けます。
ダイアログ | 説明 |
---|---|
エンドユーザー: こんにちは エージェント: こんにちは。仮想レンタカーのエージェントです。できる 新しいレンタカーの予約を開始できます。どのようなご用件でしょうか? 今日はどうですか? |
|
エンドユーザー: レンタカーを借りたいのですが、 エージェント: どこで車両を受け取りたいですか? |
|
エンドユーザー: Las Vegas エージェント: 承知いたしました。集荷はラスベガスで行われます。 エージェント: 降車場所は 受け取り場所は? |
|
エンドユーザー: はい。ロサンゼルスに車を降ろします。 エージェント: 到着地はロサンゼルスです。 エージェント: ご希望の車の集荷日時をお知らせください。 |
|
エンドユーザー: 3 月 5 日の正午に車を受け取りたいのですが、 エージェント: 車をお預けになる日時を教えてください。 |
|
エンドユーザー: 3 月 15 日正午。 エージェント: 確認です。 次の場所に車両をお引き取りにいただきます: ラスベガス 2024-03-05 12:00:00 削除 ロサンゼルス 2024 年 3 月 15 日 12:00:00 いかがでしょうか。 |
|
エンドユーザー: はい、ありがとうございます。 エージェント: ありがとうございます。では、車を選びます。 エージェント: エコノミーですか、それともラグジュアリーですか? ? |
|
エンドユーザー: エコノミー クラスを利用してください。 エージェント: Cymbal Car と Cymbal Truck のどちらをご希望ですか? |
|
エンドユーザー: Cymbal Truck。 エージェント: Cymbal Truck は 1 日あたり 50.33 ドルです。 AM/FM ラジオが付属しており、4 名まで収容可能。 支払いに進みますか? エンドユーザー: はい。 |
|
エージェント: どのカードをお使いですか? エンドユーザー: Altostrat エージェント: カード番号を入力してください。 エンドユーザー: 1234 1234 1234 1234 エージェント: カードに記載されているお名前を教えてください。 エンドユーザー: Charlie エージェント: 請求先住所を教えてください。 エンドユーザー: 1800 Amphibious Blvd.マウンテン ビュー、カリフォルニア州 エージェント: 請求先の郵便番号を教えてください。 エンドユーザー: 94045 エージェント: Cymbal Car を選択します 2024 年 3 月 5 日 12:00:00 から 2024 年 3 月 15 日 12:00:00。このルートの合計: $175.38。 エージェント: レンタルをご利用いただきありがとうございました。今後ともよろしくお願いいたします。 |
|
Dialogflow からカード メッセージを送信する
<ph type="x-smartling-placeholder">Dialogflow は、 テキストまたは カード メッセージ。カードで回答するには 次のように指定します。 カスタム ペイロード フルフィルメント
次の JSON は、カード メッセージをカスタム ペイロードとして送信する方法を示しています。 フルフィルメント:
json
{
'cardsV2': [{
'cardId': 'createCardMessage',
'card': {
'header': {
'title': 'A card message!',
'subtitle': 'Sent from Dialogflow',
'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
'imageType': 'CIRCLE'
},
'sections': [
{
'widgets': [
{
'buttonList': {
'buttons': [
{
'text': 'Read the docs!',
'onClick': {
'openLink': {
'url': 'https://developers.google.com/workspace/chat'
}
}
}
]
}
}
]
}
]
}
}]
}
制限事項と考慮事項
- Chat のインタラクション イベント
サポートが限定的であり、次の点も考慮する必要があります。
<ph type="x-smartling-placeholder">
- </ph>
- 次の
インタラクション イベントのタイプ
サポートされています。
<ph type="x-smartling-placeholder">
- </ph>
MESSAGE
ADDED_TO_SPACE
CARD_CLICKED
MESSAGE
イベントまたはADDED_TO_SPACE
イベントの場合、 Dialogflow エージェントは、API のargumentText
フィールドの値に対応します。 表示されます。メッセージに スラッシュ コマンドを使用した場合、 代わりにtext
フィールドが使用されます。CARD_CLICKED
イベントの場合、Dialogflow エージェントに送信されたクエリ入力 形式はCARD_CLICKED.functionName
です。ここで、functionName
対応するトレーニング モジュールのfunction
フィールドの値に Action オブジェクト インタラクティブなカード要素(ボタンなど)に付随するボタンです。- 各チャット インタラクション イベントの完全な JSON ペイロード
クエリ パラメータでカスタム ペイロードとして Dialogflow に送信され、
Cloud Shell を使用して
Dialogflow Webhook
WebhookRequest.payload
フィールドの値をクエリします。
- 次の
インタラクション イベントのタイプ
サポートされています。
<ph type="x-smartling-placeholder">
- 対応に関する考慮事項
スラッシュ コマンドと
カードやダイアログからデータを受け取る:
<ph type="x-smartling-placeholder">
- </ph>
- Dialogflow Chat アプリがスラッシュ付きのメッセージを受信すると、
コマンドを使用すると、クエリ入力に
text
フィールドの値のみが含まれます。text
フィールドはスラッシュ コマンドの名前で始まります(例:/command
)。これは、Dialogflow エージェントのインテントを構成するために使用します。 検出します。 - Dialogflow エージェントがプロンプトを Chat 操作イベントの JSON ペイロード これを行うには、 Dialogflow Webhook クエリ パラメータでカスタム ペイロードを検査できます。
- ダイアログを
単一のカスタム JSON ペイロードで応答し、
DIALOG
を含むメッセージが含まれている アクション レスポンス。 - カードから入力されたデータを処理する場合、Dialogflow エージェントは、
テキスト
CARD_CLICKED
で始まり、 適切な単一のカスタム JSON ペイロードを action。
- Dialogflow Chat アプリがスラッシュ付きのメッセージを受信すると、
コマンドを使用すると、クエリ入力に
- リンク プレビューはサポートされていません。
- Dialogflow エージェントが 1 つのメッセージのみで応答した場合、そのメッセージは
同期的に Google Chat に送信されます。Dialogflow エージェントが応答した場合
すべてのメッセージが Chat に送信される
非同期的に
create
メソッドごとに 1 回ずつ、Chat API のspaces.messages
リソースに対して 表示されます。 - Dialogflow CX と Chat のインテグレーションを使用する場合、 Dialogflow エージェントと Chat アプリを設定する必要があります。 プロジェクト内に存在します。Dialogflow と Cloud Storage を 異なる Cloud プロジェクトでのチャットの共有は、 接続を容易にするために中間サーバーをセットアップします。方法については、 こちらを参照 Dialogflow CX のチャット統合の例 ご覧ください。
トラブルシューティング
Google Chat アプリまたは card がエラーを返した場合、 Chat のインターフェースに「エラーが発生しました」というメッセージが表示されている。 または「リクエストを処理できません」が表示されます。場合によっては、Chat の UI が エラー メッセージは表示されませんが、Chat 用アプリまたは 予期しない結果が生じた場合たとえば、カード メッセージに 表示されます。
Chat UI にエラー メッセージが表示されない場合がありますが、 エラーの修正に役立つ、わかりやすいエラー メッセージとログデータ Chat 用アプリのエラーロギングが有効になっている場合。表示のヘルプについては、 エラーの修正について詳しくは、このモジュールの Google Chat のエラーのトラブルシューティングと修正
クリーンアップ
サービス アカウントに対する Google Cloud アカウントへの課金を回避するために、 リソースがある場合は、その Terraform 構成ファイルを できます。
-
Google Cloud コンソールで、[リソースの管理] ページに移動します。[
メニュー > IAM と管理者
> [リソースの管理] をクリックします。
<ph type="x-smartling-placeholder"></ph> Resource Manager に移動
- プロジェクト リストで、削除するプロジェクトを選択し、[ を削除します。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックして削除します。 できます。
関連トピック
- Dialogflow CXは
ステートマシン
アプローチを採用し、Google Cloud のインフラストラクチャを
より優れたエンドユーザー エクスペリエンス、そしてより優れた
開発ワークフローについて説明します。Dialogflow を構築するとき
Dialogflow CX を使用することをおすすめします。
- エージェントの構築と構成について詳しくは、以下をご覧ください。 Dialogflow CX エージェント。
- 構築と構成の方法を説明する詳細なチュートリアル エージェントについては、以下をご覧ください。 Dialogflow CX エージェントを作成します。
- Gemini を使用して Google Chat 用アプリを構築する。 Codelab: Dialogflow CX データを構築する方法の一例です。 ストア エージェントは、Google Chat アプリの Codelab
- Gemini を使用して Google Chat 用アプリを構築する。 Codelab: Dialogflow CX を構築する方法の一例です。 会話エージェントについては、フィードバックの Chat 用アプリをご覧ください。 Codelab から
- Dialogflow ES も、Dialogflow を Chat アプリで使用する方法です。