データストア ツールの設定

次のデータストア ツールの構成設定を使用できます。

ツール設定(Conversational Agents コンソールのみ)

[ツール設定] プルダウン メニューからオプションを選択すると、他のツール構成の選択肢が自動的に変わります。

Default オプションと Optimized for voice オプションは、ツール構成メニューの他のすべてのパラメータを自動的に構成するデフォルト設定です。

次のオプションが用意されています。

ツール設定の名前 説明
デフォルト すべてのエージェント タイプに最適化されています。
音声向けに最適化 このデフォルトのツールタイプは、音声エージェント専用に構成されています。
カスタマイズ Customize オプションを選択すると、割り当てられたデフォルトの DefaultOptimized for voice を使用する代わりに、独自のグラウンディング書き換え要約のパラメータを指定できます。

グラウンディング

会話エージェント(Dialogflow CX)は、接続されたデータストアのコンテンツから生成されたレスポンスごとに信頼度レベルを計算します。これにより、レスポンス内のすべての情報がデータストア内の情報でサポートされていることの信頼度を測定します。満足できる最も低い信頼度レベルを選択して、許可するレスポンスを調整できます。最も低い信頼度レベルを選択すると、エージェントはそのレベルよりも低いレスポンスを返しません。

信頼度レベルには、VERY_LOWLOWMEDIUMHIGHVERY_HIGH の 5 つがあります。

グラウンディング ヒューリスティック フィルタを適用することもできます。 有効にすると、一般的なハルシネーションに基づいた不正確な可能性があるコンテンツなどのレスポンスは抑制されます。

要約モデルを選択する

要約生成リクエストに対してデータストア エージェントで使用される生成モデルを選択できます。次の表に、使用可能なオプションを示します。

モデル名 リリース ステージ モデル仕様
デフォルト GA これは推奨される構成であり、時間の経過とともに変更される可能性があります。このオプションを使用すると、エージェントの動作が変更される可能性があります(改善される可能性が高い)。エージェントの動作の整合性を高めたい場合は、特定のモデルを選択します。
gemini-2.0-flash-001 GA Gemini 2.0 Flash
gemini-2.0-flash-lite-001 GA Gemini 2.0 flash lite
gemini-2.5-flash 公開プレビュー版 Gemini 2.5 flash
gemini-1.5-flash-001 レガシー Gemini 1.5 Flash
gemini-1.5-flash-002 レガシー Gemini 1.5 Flash

記載されているすべてのモデルは、サポートされているすべての言語サポートされているすべての地域でご利用いただけます。|gemini_20_flash_lite_001_voice_mode | 音声用に最適化されています。すべてのサポートされている言語でご利用いただけます。

要約のカスタム プロンプト

選択した要約モデルでデフォルトの要約プロンプトを使用することも、独自のプロンプトを指定することもできます。プロンプトは、事前定義されたプレースホルダを含むテキスト テンプレートです。プレースホルダは実行時に適切な値に置き換えられ、最終的なテキストが LLM に送信されます。

プレースホルダは次のとおりです。

  • $original-query: ユーザーのクエリテキスト。
  • $rewritten-query: Dialogflow は、書き換えモジュールを使用して、元のユーザークエリをより正確な形式に書き換えます。
  • $sources: Dialogflow は Enterprise Search を使用して、ユーザーのクエリに基づいてソースを検索します。検出されたソースは、特定の形式でレンダリングされます。

    [1] title of first source
    content of first source
    [2] title of second source
    content of second source
    
  • $end-user-metadata: クエリを送信したユーザーに関する情報は、次の形式でレンダリングされます。

    The following additional information is available about the human: {
    "key1": "value1",
    "key2": "value2",
    ...
    }
    
  • $conversation: 会話の履歴は次の形式でレンダリングされます。

    Human: user's first query
    AGENT: answer to user's first query
    Human: user's second query
    AGENT: answer to user's second query
    
  • ${conversation USER:"<user prefix>" AGENT:"<agent prefix>" TURNS:<turn count>}: $conversation プレースホルダのパラメータ化されたバージョン。エンドユーザー接頭辞(USER)、エージェント接頭辞(AGENT)、以前のターンをいくつ含めるか(TURNS)をカスタマイズできます。すべてのプレースホルダ パラメータ値を指定する必要があります。

    例: ${conversation USER:"Human says:" AGENT:"Agent says:" TURNS:1}。会話履歴は次のようにレンダリングされます。

    Human says: user's first query
    Agent says: answer to user's first query
    

カスタム プロンプトで、答えを提供できない場合に「NOT_ENOUGH_INFORMATION」を返すように LLM に指示する必要があります。この場合、エージェントは一致なしイベントを呼び出します。

次に例を示します。

Given the conversation between a Human and a AI assistant and a list of sources,
write a final answer for the AI assistant.
Follow these guidelines:
+   Answer the Human's query and make sure you mention all relevant details from
  the sources, using exactly the same words as the sources if possible.
+   The answer must be based only on the sources and not introduce any additional
  information.
+   All numbers, like price, date, time or phone numbers must appear exactly as
  they are in the sources.
+   Give as comprehensive answer as possible given the sources. Include all
  important details, and any caveats and conditions that apply.
+   The answer MUST be in English.
+   Don't try to make up an answer: If the answer cannot be found in the sources,
  you admit that you don't know and you answer NOT_ENOUGH_INFORMATION.
You will be given a few examples before you begin.

Example 1:
Sources:
[1] <product or service> Info Page
Yes, <company> offers <product or service> in various options or variations.

Human: Do you sell <product or service>?
AI: Yes, <company> sells <product or service>. Is there anything else I can
help you with?

Example 2:
Sources:
[1] Andrea - Wikipedia
Andrea is a given name which is common worldwide for both males and females.

Human: How is the weather?
AI: NOT_ENOUGH_INFORMATION

Begin! Let's work this out step by step to be sure we have the right answer.

Sources:
$sources

$end-user-metadata
$conversation
Human: $original-query
AI:

書き換えモデルを選択する

ユーザークエリが処理されると、エージェントはユーザークエリとプロンプトを LLM に送信してユーザークエリをリファクタリングし、リライターを実行します。

書き換え生成リクエストに対してデータストア エージェントで使用される生成モデルを選択できます。次の表に、使用可能なオプションを示します。

モデル ID 言語のサポート
デフォルト これは推奨される構成であり、時間の経過とともに変更される可能性があります。このオプションを使用すると、エージェントの動作が変更されることがあります(改善される可能性が高い)。エージェントの動作の整合性を高めたい場合は、特定のモデルを選択します。
gemini-1.5-flash-001 すべてのサポートされている言語でご利用いただけます。
gemini-2.0-flash-001 すべてのサポートされている言語でご利用いただけます。
gemini-2.0-flash-lite-001 すべてのサポートされている言語でご利用いただけます。
gemini-xs すべてのサポートされている言語でご利用いただけます。
無効なリライタ すべてのサポートされている言語でご利用いただけます。

書き換えツールのカスタム プロンプト

デフォルトのプロンプトを使用することも、独自のプロンプトを指定することもできます。プロンプトは、事前定義されたプレースホルダを含むテキスト テンプレートです。プレースホルダは実行時に適切な値に置き換えられ、最終的なテキストが LLM に送信されます。

プレースホルダと必須のテキストは次のとおりです。

  • $original-query: ユーザーのクエリテキスト。
  • $conversation: 会話の履歴は次の形式でレンダリングされます。

    Human: user's first query
    AGENT: answer to user's first query
    Human: user's second query
    AGENT: answer to user's second query
    
  • $end-user-metadata: クエリを送信したユーザーに関する情報は、次の形式でレンダリングされます。

    The following additional information is available about the human: {
    "key1": "value1",
    "key2": "value2",
    ...
    }
    

次に例を示します。

Your goal is to perform a search query to help the AI assistant respond to the human's last statement.
* Always output the best search query you can, even if you suspect it's not needed.
* Never generate a query that is the same as the user's last statement.
* Include as much context as necessary from the conversation history.
* Output a concise search query, and nothing else.
* Don't use quotes or search operators.
* The query must be in ${language!}.

Conversation History: $conversation
Human: $original-query
Search Query:

ペイロード設定

ペイロード設定を使用すると、データストア スニペットをレスポンス ペイロードのリッチ コンテンツとして追加し、メッセンジャーでレンダリングできます。この機能はオンまたはオフに切り替えることができます。