始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Create a new app
/ 50
Generate the data store prompt
/ 50
Create a new app
/ 50
Generate the data store prompt
/ 50
このラボは、AI Applications を使用して会話エージェントを構築するための包括的なガイドです。ハンドブックに基づくアプローチと、フローに基づくアプローチによって、新しい会話エージェント コンソールでエージェントを構成するプロセスについて説明します。
このラボで学習する主なコンセプトは次のとおりです。
このラボでは、AI Applications と会話エージェントを使用して、献血を希望する人をサポートし、必要な資格要件を満たしていることを確認する会話エージェントを構築、デプロイ、構成します。会話エージェントのフルフィルメントを行うときに、エージェントは実際の公開データと Google の生成大規模言語モデル(LLM)を使用します。
会話エージェントは、会話を制御できる生成モデルと、より明示的な会話制御のために使用できるフローに基づいて構築された新しい自然言語理解プラットフォームです。会話エージェントを使用すると、会話型のユーザー インターフェースを簡単に設計して、モバイルアプリ、ウェブ アプリケーション、デバイス、bot、音声自動応答システムなどに統合できます。会話エージェントを使用することで、プロダクトと対話する新しい魅力的な方法をユーザーに提供できます。
データストアは、エンドユーザーの質問に対する回答をデータから見つけるために、データストア ハンドラとハンドブック データストア ツールによって使用されます。データストアはウェブサイトやドキュメントのコレクションで、それぞれがデータを参照します。
データストアの設定は、会話エージェントがデータストアとやり取りする方法を定義する構成です。
AI Applications 機能を使用すると、データストアを活用した会話エージェントを作成できます。
この機能では、ウェブサイトの URL、構造化データ、非構造化データ(データストア)を指定すると、Google がコンテンツを解析して、これらのストアのデータと大規模言語モデルを使用する会話エージェントを構築します。エージェントは顧客やエンドユーザーと対話し、提供されたコンテンツに基づいて質問に回答することができます。
ジェネレーター機能は、開発者が Google の最新の生成大規模言語モデル(LLM)とカスタム プロンプトを使用して、実行時にエージェントの回答を生成できるようにする会話エージェントの機能です。ジェネレーターは、トレーニングで使用された大規模なテキスト データセットからの一般知識と会話のコンテキストが含まれる、一般的な回答を処理できます。
このラボでは、次のタスクの実行方法について学びます。
このタスクでは、Qwiklabs を使用してラボの初期化手順を行います。
各ラボでは、新しい Google Cloud プロジェクトとリソースのセットを一定時間無料で利用できます。
Qwiklabs には、必ずシークレット ウィンドウでログインしてください。
ラボのアクセス時間(例: )に注意し、時間内に完了できるようにしてください。
準備が整ったら をクリックします。
ラボの認証情報をメモしておきます。この情報は、Google Cloud コンソールにログインする際に使用します。
[Google Console を開く] をクリックします。
[別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
最初のログイン手順を完了すると、プロジェクトのダッシュボードが表示されます。
プロジェクト Google Cloud project ID をハイライト表示させ、[開く] をクリックしてプロジェクトを選択します。
AI Applications で会話エージェントを使用する前に、Dialogflow API を有効にする必要があります。このラボではこの API はすでに有効になっているはずですが、念のために確認してから先に進みましょう。
以下の手順で Dialogflow API を有効にします。
ブラウザで Dialogflow API サービスの詳細ページに移動します。
API がまだ有効になっていない場合は、[有効にする] ボタンをクリックして、Google Cloud プロジェクトで Dialogflow API を有効にします。
次に、構築するエージェントのための新しい会話エージェントを作成し、データソースを使用して構成します。構築するエージェントの目的は、献血の資格に関する質問がある顧客をサポートすることです。オーストラリア赤十字社の Lifeblood を信頼できる情報源として使用し、血液の資格に関するウェブサイトの非構造化データに基づいてデータストアを作成します。
新しい会話エージェントを作成するために、会話エージェント コンソールを開きます。
[Select Project] ダイアログで、[All] タブをクリックします。
プロジェクト ID(
[Create agent] をクリックします。
[Get started with Conversational Agents] ポップアップで [Build your own] を選択します。
[Create Agent] ページで、エージェントの [Display Name] に「Blood Donation Agent」と入力します。
ロケーションとして [global (Global serving, data-at-rest in US)] を選択します。
[Conversation start] のデフォルトの種類として [Playbook] が選択されていることを確認し、[Create] ボタンをクリックします。
[Default Generative Playbook] ページの [Available tools] で、[+ Data store] をクリックします。
[Data store] で [Create data store] をクリックします。
データストア作成ページで [Cloud Storage (unstructured data)] をクリックすると、AI Applications ページにリダイレクトされます。
左下の [Advanced options] をクリックします。
[Specialized Data Import] のオプションとして [Unstructured documents (PDF, HTML, TXT, and more)] を選択します。
このラボ用のサンプルデータが含まれている次の Google Cloud Storage フォルダを指定します。接頭辞「gs://」は不要です。
[Continue] をクリックします。
[Data store name] に「Australian Red Cross Lifeblood Unstructured」と入力します。[Continue] をクリックします。
[Create] をクリックしてデータストアを作成します。
データストアのリストで、新しく作成した Australian Red Cross Lifeblood Unstructured という名前のデータストアを選択します。
[Activity] タブをクリックして、データ インポートの進行状況を確認します。
エージェントが作成されたら、[Conversational Agents Tools] コンソールに戻り、ページを更新します。
[Tool name] フィールドに「Blood_donation_tool」と入力し、プルダウン メニューでツールタイプとして [Data store] を選択します。
[Data Stores] の下の [Add Data Stores] をクリックし、[Australian Red Cross Lifeblood Unstructured] を選択して [Confirm] をクリックし、最後に [Save] をクリックします。
[Playbooks] タブに移動し、[Default Generative Playbook] をクリックします。[Available tools] で [Blood_donation_tool] というツールを選択し、[Save] をクリックします。
これで、ナレッジを活用したアプリを構築し、献血を行ってくれる可能性のある人をサポートする準備を整えました。
ただし、ユーザーがエージェントを利用できるようにするには、まだ作業が必要です。次のセクションでは、ナレッジ ハンドラを使用して、エージェントとエンドユーザーが資格要件について会話できるようにします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
ドキュメント収集プロセスがバックグラウンドで実行されている間に、データストアのプロンプトを編集してエージェントにブランドを設定しましょう。
会話エージェント コンソールで、エージェント内から、ページの右上にあるその他アイコンをクリックし、[Settings] を選択します。
[Generative AI] タブに移動します。
[General] タブをクリックし、フィルタを次のように設定します。
| フィルタ | 値 |
|---|---|
| Hate Speech | Block few |
| Dangerous content | Block few (default) |
| Sexually explicit content | Block few |
| Harassment | Block few |
出力:
[Data store] タブをクリックします。
次のようにフォームに入力して、次のデータストア プロンプトを生成します: Your name is Donate, and you are a helpful and polite chatbot at Save a life, a fictitious organization. Your task is to assist humans with eligibility information.(あなたの名前は Donate です。あたなは、Save a life という架空の組織の便利で礼儀正しいチャットボットです。あなたのタスクは、人間が資格情報を確認するのをサポートすることです。)
タブの上部にある [Save] ボタンをクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
会話エージェント コンソールの左上のサイドバー([Playbooks] の下)にある [Flows] タブに切り替え、[Start Page] を開きます。
[sys.no-match-default] イベント ハンドラをクリックします。チェックボックスがオンになっていない場合は、生成的フォールバック機能を有効にして [Save] をクリックします。
[Start Page]で、[Default Welcome Intent] をクリックします。
[Fulfillment] の [Agent Responses] まで下にスクロールします。フルフィルメントは、エンドユーザーに対するエージェントの回答です。会話エージェントによって、[Agent dialogue] に、パラメータ「Hi! How are you doing?」と事前入力されています。
ドキュメントの準備が整い、エージェントが使用できるようになるまで待ってから、回答の質を確認します。ドキュメントが使用可能になったかどうかを確認するには、AI Applications コンソールに移動し、Blood Donation Agent アプリの横にある [Connected data stores] の [view] リンクをクリックし、[Australian Red Cross Lifeblood Unstructured] をクリックします。
会話エージェント コンソールが表示されていない場合は、AI Applications コンソールでアプリの名前をクリックします。これにより、会話エージェント コンソールにリダイレクトされます。
会話エージェント コンソールのエージェントの中で、ページの右上にあるその他アイコンをクリックし、[Toggle Simulator] を選択します。
[Start Resource] として、プルダウンから [Default Generative Playbook] を選択します。
ウェブサイトのよくある質問ページに記載されると思われる質問をします。例:
最後に、献血とはまったく関係のない質問をして、エージェントを試してみましょう。例:
What's the weather like in Melbourne?(メルボルンの天気はどうですか?)
エージェントは「I'm sorry, I can't provide weather information.」(申し訳ありませんが、気象情報を提供することはできません)などと回答します。
この回答には AI が生成したコンテンツが含まれており、それは会話エージェントが作成したテキスト プロンプトに由来するものです。このテキスト プロンプトは、前に行ったナレッジ コネクタの設定: "Your name is Donate, and you are a helpful and polite chatbot at Save a Life. Your task is to assist humans with eligibility information" で始まります。このテキスト プロンプトには、会社名とエージェント名が含まれ、さらには最も重要な点としてスコープの内容が含まれます。それらは、会話エージェントがエージェントの回答を生成するために使用します。
ここまでは、データストアを使用して、献血に関するよくある質問に回答していました。ラボの次のパートでは、同じコンテンツにジェネレーターのテキスト プロンプトをバインドして、情報に基づいて意思決定を行う方法について説明します。
次のタスクは、ユーザーに献血の資格があるかどうかを判断するエージェントを設計することです。献血を行う人は、年齢、体重、現在の体の状況、最近の旅行など、厳しい要件を満たす必要があります。このラボの範囲では、年齢と体重のみを考慮します。ジェネレーターは、Google の大規模言語モデル(LLM)を使用し、会話のコンテキストとナレッジベースに基づいて、情報に基づいた意思決定を動的に行います。
会話エージェント コンソールの左上のサイドバー([Playbooks] の下)にある [Flows] タブに切り替え、[Start Page] を開いて [Default Welcome Intent] をクリックします。
下にスクロールして [Fulfillment] セクションまで移動し、[Agent dialogue] フィールドにある現在のエージェントの回答を削除して、次の回答を挿入します。
下にスクロールして [Transition] フィールドまで移動し、[Page] > [+ new page] を選択して、ページ名を [User Blood Donation Decision] に設定し、[Save] ボタンをクリックします。
[Manage] タブに移動して、次の構成で 2 つのインテントを作成し、[+ Create] をクリックします。
| 表示名 | プロパティ |
|---|---|
| confirmation.yes | トレーニング フレーズ: "Yes", "yeah", "yes please" |
| confirmation.no | トレーニング フレーズ: "No" |
[Build] タブに移動し、[User Blood Donation Decision] ページをクリックします。
ルートを作成するには、[Routes] の横にある [+] アイコンをクリックします。
[Intent] フィールドで、プルダウンから [confirmation.yes] を選択します。
[Routes] の横にある [+] アイコンをクリックします。
[Intent] フィールドで、プルダウン メニューから [confirmation.no] を選択します。次に、下にスクロールして [Fulfillment] > [Agent responses] まで移動し、[+ Add dialogue response] をクリックして [agent dialogue] を選択し、回答として「Thanks, Have a nice day!」を挿入して、[Save] をクリックします。
ジェネレーター機能は、会話エージェントのフルフィルメントの際に Google の最新の生成大規模言語モデル(LLM)を使用できるようにする会話エージェントの機能です。ジェネレーターは実行時にエージェントの回答を生成します。ジェネレーターは、トレーニングで使用された大規模なテキスト データセットからの一般知識と会話のコンテキストが含まれる、一般的な回答を処理できます。
ユーザーが提供した情報(年齢や体重など)と資格要件を比較して、ユーザーが献血できるかどうかを判断する新しいジェネレーターを作成します。
会話エージェント コンソールで、[Manage] タブに移動して [Generators] を選択し、[Create new] をクリックします。
次に、表示名として「Blood Donation Eligibility」と入力し、次のテキスト プロンプトを記述します。
モデル品質管理の設定はデフォルトのままにします。[Save] をクリックして、ジェネレーターを作成します。
実行時のフルフィルメントの際に、このテキスト プロンプトが生成モデルに送信されます。モデルが満足のいく回答を生成するためには、質問またはリクエストは明確である必要があります。テキスト プロンプトでは、以下の特別な組み込みのジェネレーター プロンプトのプレースホルダを使用できます。
$conversation: エージェントとユーザーの間の会話(ユーザーが最後に送信したテキストを除く)。$last-user-utterance: ユーザーが最後に送信したテキスト。構成したテキスト プロンプトでは、ユーザーが 1 回の会話ターン(ユーザーが最後に送信したテキスト)で年齢と体重を入力することを想定しています。
次に、[Build] タブに移動し、[Eligibility Quiz] ページをクリックします。
パラメータを追加するには、[Parameters] の横にある [+] アイコンをクリックします。
表示名として「age-weight」と入力します。
エンティティ タイプとして @sys.any を選択します。
下にスクロールして [Initial Prompt Fulfillment] > [Agent responses] まで移動し、[Agent dialogue] フィールドにプロンプト「What is your age and weight?」(年齢と体重を教えてください。)を追加して、[Save] をクリックします。
[Eligibility Quiz] ページで、[Routes] の横にある [+] アイコンをクリックします。
Match AT LEAST ONE rule (OR)] オプションを選択し、条件要件 $page.params.status = "FINAL" を入力します。$request.generative.eligibility-outcome に置き換えます。これには、実行後のジェネレーターの結果が格納されます。$request.generative.eligibility-outcome という値を追加し、[Save] をクリックします。ページの右上にあるその他アイコンをクリックし、[Toggle Simulator] を選択します。
以下に示す [Preview: Default Start Flow] ページが表示されるまで、[Reset conversation] アイコンをクリックします。
[Preview: Default Start Flow] ページの [Start Resource] セクションで、[Default Start Flow] を選択してエージェントをテストします。
[Toggle Simulator] で、「Hi」と入力してエージェントとの新しい会話を開始し、以下に示すようにエージェントの質問に回答します。
次に、要件のいずれかまたは両方が満たされていない場合に資格がないことを確認します。
ジェネレーターは想定どおりに動作しているようです。しかし、本当にそうでしょうか?ユーザーが年齢を入力しても体重を入力しなかった場合(またはその逆の場合)はどうなるでしょうか?
年齢と体重の両方が入力されないと、年齢と体重の収集は機能しないようです。両方の値をエンティティ パラメータとして収集するフォームを作成する必要があります。プロンプトですべての資格要件(年齢や体重など)をコンテキストとして扱うには、プレースホルダを使用します。プレースホルダは、単語の前に $ を付加して作成します。これらのジェネレーター プロンプト プレースホルダをフルフィルメントのセッション パラメータに関連付けると、それらは実行時にセッション パラメータの値に置き換えられます。
[Eligibility Quiz] ページを開き、[Parameters] をクリックして、パラメータ age-weight を削除し、2 つの別々のフォーム パラメータ(weight と age)を追加します。エンティティ タイプとして @sys.number-integer を選択し、パラメータを必須としてマークします。weight パラメータには「What is your correct weight?」(体重を教えてください)などの初期プロンプト フルフィルメントを指定し、age パラメータには「How old are you?」(年齢を教えてください)などの初期プロンプト フルフィルメントを指定します。すべての変更を保存します。
ジェネレーターのテキスト プロンプトを変更して 2 つの新しいカスタム プレースホルダを含める前に、まずジェネレーターを削除する必要があります。これを行うには、作成したルートをクリックし、下にスクロールして [Fulfillment] > [Generator] セクションまで移動して、Blood Donation Eligibility という名前のジェネレーターを削除し、[Save] をクリックします。
[Manage] タブに移動し、[Generators] を選択して、[Blood Donation Eligibility] ジェネレーターのテキスト プロンプトを次のように変更します。「Check the users eligibility against the following criteria: the minimum age is 18 and the maximum age is 75. The weight must be at least 50 kg. The user is $age years old and weighs $weight Kg. Craft an email and politely explain to the user if they're eligible to donate and if not why.」(次の条件でユーザーの資格を確認してください: 最低年齢は 18 歳、最高年齢は 75 歳です。体重は 50 kg 以上である必要があります。ユーザーの年齢は $age 歳で、体重は $weight kg です。献血の資格があるかどうかを礼儀正しく伝えるメールを作成してください。資格がない場合は、その理由を含めてください。)
テキスト プロンプトで年齢と体重のフォーム パラメータをコンテキストとして扱うことに加えて、最後の文を変更して、ユーザー向けのフォーマルなメールを生成するようにしました。このメールには、資格クイズの正式な結果が含まれます。
[Save] をクリックします。
[Build] タブに戻ります。[Eligibility Quiz] ページでルートを選択し、[Fulfillment] ペインの [Generators] セクションを開きます。[Add generator] をクリックし、[Blood Donation Eligibility] ジェネレーターを選択します。ジェネレーターを選択したら、新しいプロンプト プレースホルダを、対応するセッション パラメータに関連付ける必要があります。また、input パラメータと output パラメータを次のように再設定する必要があります。
$session.params.age $session.params.weight $request.generative.eligibility-outcome [Save] をクリックします。
エージェントをもう一度テストします。年齢と体重の両方が資格チェックの対象となり、会話調の文言から、人間の手を加えずに送信できる礼儀正しい返信に変更されました。
今回は、資格クイズのコンテキストでジェネレーターについて説明しました。ジェネレーターは LLM を使用してエージェントの回答を生成します。また、ナレッジベースを活用することで、情報に基づいた意思決定を行うこともできます。ジェネレーターとデータストアを活用して実装できるユースケースは他にもたくさんあります。皆様のユースケースを楽しみにしています。
以下のガイドとリソースを活用して、Agent Builder AI と生成 AI についての学習を続けましょう。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。クラスでは、技術スキルとベスト プラクティスを迅速に身につけ、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2026 年 4 月 1 日
ラボの最終テスト日: 2026 年 4 月 1 日
Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください
ラボを開始するには、この簡単な手順を完了してください。