Vertex AI Agent Builder の検索拡張生成(RAG)エクスペリエンスの一部として、グラウンディングをチェックし、テキストの一部(回答候補と呼びます)が、特定の参照テキスト(事実と呼びます)セット内でどの程度根拠があるかを判断できます。
Check grounding API は、0 から 1 の全体的なサポートスコアを返します。これは、回答候補が指定された事実とどの程度一致しているかを示します。回答候補の各主張を裏付ける事実の引用も回答内に含まれます。
完全なグラウンディングとは、回答候補内のすべての主張が、指定された事実の 1 つ以上によって裏付けられていることを意味します。つまり、その主張は事実によって完全に裏付けられています。主張が部分的にのみ関連付けられている場合、根拠があるとは見なされません。たとえば、「Google は 1975 年にラリー ペイジとセルゲイ ブリンによって設立された」という主張は、創設者の氏名は正しいものの、日付が間違っているため、主張全体が根拠のないものと見なされます。このバージョンの Check grounding API では、1 つの文が 1 つの主張と見なされます。
Check grounding API を使用して、任意のテキストを確認できます。人間が生成した概要や、機械が生成したレスポンスなどです。一般的なユースケースは、LLM によって生成された回答を特定の事実のセットと照合することです。Check grounding API は、レイテンシが 500 ms 未満の高速な動作をするように設計されています。この速度により、chat bot は、大幅な速度低下を招くことなく、各推論中に Check grounding API を呼び出すことができます。Check grounding API は、検出結果を裏付ける参照も提供できるため、生成された回答の信頼できる部分をユーザーが判断できます。この API は、回答の全体的な精度を示すサポートスコアも提供します。引用のしきい値を設定することで、chat bot は、虚偽の主張が含まれている可能性が高い回答を推論時に除外できます。
このページでは、Check grounding API を使用してグラウンディングを確認する方法について説明します。
試験運用版の機能
check grounding API で利用可能な次の試験運用版機能を試す場合は、Google アカウント チームに連絡して許可リストへの追加をリクエストしてください。
反証: 反証機能は、回答候補が指定された事実とどの程度矛盾しているかを示す矛盾スコアを提供します。レスポンスには、各主張の矛盾する事実に対する引用も含まれます。詳細については、回答候補の矛盾スコアを取得するをご覧ください。
主張レベルのサポートスコア: 主張レベルのサポートスコアは、回答候補の全体的なサポートスコアに加えて、回答候補内の各主張の根拠を示します。詳細については、回答候補の主張レベルのスコアを取得するをご覧ください。
有用性スコア: 有用性スコアは、回答候補が特定のリクエストにどの程度適切に回答しているかを測定するものです。詳細については、回答候補の有用性スコアを取得するをご覧ください。
データストアによるグラウンディング: インライン ファクトを指定する代わりに、Vertex AI Search データストアからグラウンディング ファクトを取得します。詳細については、データストアで接地を確認するをご覧ください。
用語の定義と説明
Check grounding API を使用する前に、入力と出力、および最良の結果を得るためにグラウンディングの事実を構造化する方法を理解しておくことをおすすめします。
入力データ
Check grounding API では、リクエストに次の入力が必要です。
回答候補: 回答候補は、グラウンディングを確認するテキストの任意の部分です。たとえば、Vertex AI Search のコンテキストでは、回答候補はクエリに回答する生成された検索サマリーです。API は、サマリーが入力された事実においてどの程度根拠があるかを判断します。回答候補の最大長は 4, 096 トークンです。トークンは、文内の単語またはピリオド(文の終わりに使用される句読点)として定義されます。たとえば、「2024 年に既製服を着た」という文は、6 つの単語とピリオドを含む 7 つのトークンです。
事実: グラウンディングの参照として使用されるテキスト セグメントのセット。各テキスト セグメントには、メタデータ属性(Key-Value ペア)のセットを指定できます。たとえば、「作成者」や「タイトル」は一般的な属性キーです。
このサービスは、最大 200 個の事実(それぞれ最大 10, 000 文字)をサポートしています。
すべての情報を含んだ非常に大きな 1 つの事実を指定することはおすすめしません。代わりに、大きな事実を小さな事実に分割し、小さな事実に適切な属性を指定することで、より良い結果を得ることができます。たとえば、大きな事実をタイトル、作成者、URL で分割し、この情報を属性で指定できます。
引用のしきい値: 回答候補を裏付ける引用の信頼度を制御する 0 から 1 の浮動小数点値。しきい値が高いほど、信頼度が厳しくなります。したがって、しきい値が高いほど、引用は少なくなりますが、その引用の信頼性は高くなります。
出力データ
Check grounding API は、回答候補について以下を返します。
サポートスコア: サポートスコアは 0 から 1 の数値で、回答候補が指定された事実のセットにおいてどの程度根拠があるかを示します。これは、指定された 1 つ以上の事実において根拠があったことが判明した回答候補内の主張の割合を大まかに近似したものです。
引用されたチャンク: 引用されたチャンクは、回答候補を裏付ける入力事実の一部です。
主張と引用: 主張と引用は、回答候補の主張(通常は文)と、主張を裏付ける引用されたチャンクを 1 つ以上接続します。
主張レベルのスコアが有効になっている場合、各主張に対して、0 から 1 のサポート スコアが返されます。これは、主張が提供された事実のセットにおいてどの程度根拠があるかを示します。詳細については、回答候補の主張レベルのスコアを取得するをご覧ください。
グラウンディング チェックが必要: 各主張で、grounding-check-required ブール値が返されます。これが
False
として返された場合、システムは主張にはグラウンディングが必要ないとみなし、引用と反証が返されません。たとえば、「私が発見したことはこれです」という文は、それ自体が事実ではないため、グラウンディング チェックは必要ありません。grounding-check-required が
true
として返された場合、グラウンディング チェックが実行され、サポートスコア、引用、反証(存在する場合)が返されたことを意味します。
回答候補のサポートスコアを取得する
回答候補が事実のセットにおいてどの程度根拠があるかを確認する手順は次のとおりです。
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
-d '{
"answerCandidate": "CANDIDATE",
"facts": [
{
"factText": "TEXT_0",
"attributes": {"ATTRIBUTE_A": "VALUE_A0","ATTRIBUTE_B": "VALUE_B0"}
},
{
"factText": "TEXT_1",
"attributes": {"ATTRIBUTE_A": "VALUE_A1","ATTRIBUTE_B": "VALUE_B1"}
},
{
"factText": "TEXT_2",
"attributes": {"ATTRIBUTE_A": "VALUE_A2","ATTRIBUTE_B": "VALUE_B2"}
}
],
"groundingSpec": {
"citationThreshold": "CITATION_THRESHOLD"
}
}'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトのプロジェクト番号または ID。CANDIDATE
: サポートスコアを確認する回答候補の文字列(例:Titanic was directed by James Cameron. It was released in 1997.
)。回答候補の最大長は 4,096 トークンです。トークンは、文内の単語またはピリオド(文の末尾に使用される句読点)として定義されます。たとえば、「2024 年に既製服を着た」という文は、6 つの単語とピリオドを含む 7 つのトークンです。TEXT
: グラウンディングに使用するテキスト セグメント(例:Titanic is a 1997 American epic... Academy Awards.
)。事実の例の全文をご覧ください。ATTRIBUTE
: 事実に関連付けられたメタデータ属性の名前(例:author
、title
)。これは、事実のテキストに追加情報を追加するためのユーザー定義ラベルです。たとえば、事実のテキストToronto is the capital of Ontario
にauthor
属性があり、その値がWikipedia
の場合、次の主張は事実において根拠があるものと考えられます。Wikipedia cites that Toronto is the capital of Ontario
Toronto is the capital of Ontario
Government of Ontario claims that Toronto is the capital of Ontario
という主張は、最初の 2 つの主張よりは根拠がありません。
VALUE
: 属性の値(Simple Wikipedia
やTitanic (1997 film)
など)。CITATION_THRESHOLD
: 0 から 1 の浮動小数点値。回答候補の主張に対して事実の引用が必要かどうかを決定します。しきい値が高いほど、引用は少なくなりますが、その引用の信頼性は高くなります。しきい値が低いほど、引用は増えますが、その引用の信頼性は低くなります。未設定の場合、デフォルトのしきい値は0.6
です。
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
事実の例
以下に、事実とその属性の例を示します。これらの例は、グラウンディングのレスポンスと curl コマンドの形式を理解するのに役立ちます。
事実 0
テキスト:
"Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards."
属性:
{"Author": "Simple Wikipedia"}
事実 1
テキスト:
"James Cameron's "Titanic" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the "ship of dreams" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912."
属性:
{"Author": "Rotten Tomatoes"}
リクエストの例
事実を準備したら、次のリクエストを送信します。CANDIDATE フィールドは、グラウンディングをチェックする別の文字列に置き換えます。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
-d '{
"answerCandidate": "CANDIDATE",
"facts": [
{
"factText": "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.",
"attributes": {"author":"Simple Wikipedia"}
},
{
"factText": "James Cameron's \"Titanic\" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the \"ship of dreams\" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.",
"attributes": {"author":"Simple Wikipedia"}
}
],
"groundingSpec": {
"citationThreshold": "0.6"
}
}'
回答候補とグラウンディング レスポンスの例
次の表に、事実の例に基づいてリクエストの例を送信した場合のさまざまな回答候補とレスポンスの例を示します。
回答候補 | グラウンディング レスポンスをチェックする |
---|---|
Here is what I found. Titanic was directed by James Cameron.
|
サポート スコア: 0.99 引用されたチャンク:
|
Titanic was directed by James Cameron. It was released in
1997.
|
サポート スコア: 0.99 引用されたチャンク:
|
Titanic was directed by James Cameron. It was based on the sinking
of the RMS Titanic that led to the death of 1500 people.
|
サポート スコア: 0.95 引用されたチャンク:
|
Titanic was directed by James Cameron. It starred Brad Pitt and
Kate Winslet
|
サポート スコア: 0.54 引用されたチャンク:
"It starred Brad Pitt and Kate Winslet" の主張が完全に真実ではないため、引用は取得されません。この場合は、反証を有効にしてメソッドを呼び出して、矛盾スコアを得ることができます。
詳細については、回答候補の矛盾スコアを取得するをご覧ください。 |
回答候補の矛盾スコアを取得する
サポートスコアに加えて、矛盾スコアも取得できます。矛盾スコアは、提示された事実と矛盾する主張の割合を大まかに近似したものです。
この試験運用版機能を試すには、Google アカウント チームに連絡して許可リストへの追加をリクエストしてください。
矛盾スコアを取得する
矛盾スコアを取得する手順は次のとおりです。
事実のセットを準備します。詳細と例については、用語の定義と説明をご覧ください。
次の curl コマンドを使用して
check
メソッドを呼び出します。curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \ -d '{ "answerCandidate": "CANDIDATE", "facts": [ { "factText": "TEXT_0", "attributes": {"ATTRIBUTE_A": "VALUE_A0","ATTRIBUTE_B": "VALUE_B0"} }, { "factText": "TEXT_1", "attributes": {"ATTRIBUTE_A": "VALUE_A1","ATTRIBUTE_B": "VALUE_B1"} }, { "factText": "TEXT_2", "attributes": {"ATTRIBUTE_A": "VALUE_A2","ATTRIBUTE_B": "VALUE_B2"} }, ], "groundingSpec": { "citationThreshold": "CITATION_THRESHOLD", "enableAntiCitations": "ENABLE_ANTI_CITATION", "antiCitationThreshold": "ANTI_CITATION_THRESHOLD", } }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトのプロジェクト番号または ID。CANDIDATE
: サポートスコアを確認する回答候補の文字列(例:Titanic was directed by James Cameron. It was released in 1997.
)。回答候補の最大長は 4,096 トークンです。トークンは、文内の単語またはピリオド(文の終わりに使用される句読点)として定義されます。たとえば、「2024 年に彼らは既製服を着た」という文は、6 つの単語とピリオドを含む 7 つのトークンです。TEXT
: グラウンディングに使用するテキスト セグメント(例:Titanic is a 1997 American epic... Academy Awards.
)。事実の例の全文をご覧ください。ATTRIBUTE
: 事実に関連付けられたメタデータ属性の名前(例:author
、title
)。事実のテキストに追加情報を追加するためのユーザー定義ラベルです。たとえば、事実のテキストToronto is the capital of Ontario
にauthor
属性があり、その値がWikipedia
の場合、次の主張は根拠があります。Wikipedia cites that Toronto is the capital of Ontario
Toronto is the capital of Ontario
ただし、
Government of Ontario claims that Toronto is the capital of Ontario
という主張はそれほど根拠がありません。VALUE
: 属性の値(Simple Wikipedia
、Titanic (1997 film)
など)。CITATION_THRESHOLD
: 0 から 1 の浮動小数点値。回答候補の主張に対して事実の引用が必要かどうかを決定します。しきい値が高いほど、主張を裏付ける引用は少なくなりますが、その引用の信頼性は高くなります。しきい値が低いほど、主張を裏付ける引用は増えますが、その引用の信頼性は低くなります。未設定の場合、デフォルトのしきい値は 0.6 です。ENABLE_ANTI_CITATION
: ブール値。矛盾スコアを評価する試験運用版機能を有効にするには、このフィールドをtrue
に設定します。この機能をオフにするには、このフィールドを削除するか、このフィールドをfalse
に設定します。ANTI_CITATION_THRESHOLD
: 0 から 1 の浮動小数点値。回答候補の主張と矛盾するとして事実を引用する必要があるかどうかを決定します。しきい値が高いほど、主張に反する引用は少なくなりますが、その引用の信頼性は高くなります。しきい値が低いほど、主張に反する引用は増えますが、その引用の信頼性は低くなります。未設定の場合、デフォルトのしきい値は 0.8 です。
リクエストの例
前のセクションの事実の例を使用して、次のリクエストを送信できます。CANDIDATE
フィールドは、根拠と矛盾を確認する別の文字列に置き換えます。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
-d '{
"answerCandidate": "CANDIDATE",
"facts": [
{
"factText": "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.",
"attributes": {"author":"Simple Wikipedia"}
},
{
"factText": "James Cameron's \"Titanic\" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the \"ship of dreams\" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.",
"attributes": {"author":"Simple Wikipedia"}
}
],
"groundingSpec": {
"citationThreshold": "0.6",
"enableAntiCitations": true,
"antiCitationThreshold": "0.8",
}
}'
矛盾のあるレスポンスの例
次の表に、事実の例に基づいてリクエストの例を送信した場合の回答候補の例とそのレスポンスを示します。
回答候補 | グラウンディング レスポンスをチェックする |
---|---|
Titanic was directed by James Cameron. It starred Brad Pitt and
Kate Winslet
|
サポートスコア: 0.36 矛盾スコア: 0.49 引用されたチャンク:
|
回答候補の有用性スコアを取得する
この試験運用版機能を試すには、Google アカウント チームに連絡して許可リストへの追加をリクエストしてください。
サポート スコアと矛盾スコアに加えて、Check Grounding API は有用性スコアを提供できます。有益なレスポンスとは、(プロンプトに記載されているように)ユーザーのリクエストを効果的に満たすもので、有益な情報を提供します。有用性スコアは、回答が次の点においてどの程度優れているかを示す指標です。
- プロンプトのコア インテントに対応している
- 簡潔に詳細を提供する
- 質問に直接回答するか、プロンプトでリクエストされたタスクを完了する
- 関連情報を提供する
- 明確でわかりやすい
- 不要な詳細や専門用語を避ける
根拠スコアとともに有用性スコアを取得するには、回答候補と事実とともにプロンプトを指定する必要があります。Check grounding API は、プロンプトを使用して回答候補を確認し、回答候補がプロンプトにどれだけ役立つかを示すスコアを返します。スコアの範囲は [0,1] で、スコアが高いほど回答が有用であることを示します。
有用性スコアを取得する
有用性スコアを取得する手順は次のとおりです。
プロンプトと回答候補を準備します。
次の curl コマンドを使用して
check
メソッドを呼び出します。curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \ -d '{ "answerCandidate": "CANDIDATE", "facts": [ { "factText": "TEXT_0", "attributes": {"ATTRIBUTE_A": "VALUE_A0","ATTRIBUTE_B": "VALUE_B0"} }, { "factText": "TEXT_1", "attributes": {"ATTRIBUTE_A": "VALUE_A1","ATTRIBUTE_B": "VALUE_B1"} }, { "factText": "TEXT_2", "attributes": {"ATTRIBUTE_A": "VALUE_A2","ATTRIBUTE_B": "VALUE_B2"} } ], "groundingSpec": { "enableHelpfulnessScore": true }, "prompt": "PROMPT", }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトのプロジェクト番号または ID。CANDIDATE
: 有用性スコアを取得する回答候補の文字列(例:Titanic was directed by James Cameron. It was released in 1997.
)。回答候補の最大長は 4, 096 トークンです。TEXT
: グラウンディングに使用するテキスト セグメント(例:Titanic is a 1997 American epic... Academy Awards.
)。事実の例の全文をご覧ください。ATTRIBUTE
: 事実に関連付けられたメタデータ属性の名前(例:author
、title
)。事実のテキストに追加情報を追加するためのユーザー定義ラベルです。たとえば、事実のテキストToronto is the capital of Ontario
にauthor
属性があり、その値がWikipedia
の場合、次の主張は根拠があります。Wikipedia cites that Toronto is the capital of Ontario
Toronto is the capital of Ontario
ただし、
Government of Ontario claims that Toronto is the capital of Ontario
という主張はそれほど根拠がありません。VALUE
: 属性の値(Simple Wikipedia
、Titanic (1997 film)
など)。PROMPT
: プロンプトは、回答候補が回答するために生成されたクエリです(例:Who directed and starred in the movie Titanic?
)。
リクエストの例
前のセクションの事実の例を使用して、次のリクエストを送信できます。CANDIDATE
フィールドを別の回答候補に置き換えて、回答の有用性スコアを取得します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
-d '{
"answerCandidate": "CANDIDATE",
"facts": [
{
"factText": "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.",
"attributes": {"author":"Simple Wikipedia"}
},
{
"factText": "James Cameron's \"Titanic\" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the \"ship of dreams\" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.",
"attributes": {"author":"Simple Wikipedia"}
}
],
"groundingSpec": {
"enableHelpfulnessScore": true
},
"prompt": "Who directed and starred in the movie Titanic?"
}'
有用性スコアを含む回答の例
次の表に、回答候補とその有用性スコアの例を示します。いずれの場合も、プロンプトは Who directed and starred in the Titanic?
です。
回答候補 | 有用性スコア | スコアの説明 |
---|---|---|
Titanic was directed by James Cameron. It starred Leonardo DiCaprio and
Kate Winslet.
|
0.980
|
簡潔で完全なスコア |
Cameron, DiCaprio and Winslet.
|
0.947
|
未完了 |
James Cameron's 1997 masterpiece, Titanic, captured the hearts of
audiences worldwide with its tragic love story set against the backdrop of
the ill-fated maiden voyage of the "unsinkable" ship. The film, a
mesmerizing blend of historical drama and fictional romance, starred
Leonardo DiCaprio as Jack Dawson, a penniless artist who falls for Rose
DeWitt Bukater, a young woman trapped by her social standing and played
exquisitely by Kate Winslet. Their passionate love affair unfolds amidst
the grandeur and opulence of the Titanic, a floating palace of dreams that
ultimately succumbs to a devastating fate.
|
0.738
|
簡潔でない |
回答候補の主張レベルのスコアを取得する
回答レベルのサポートスコアに加えて、回答候補内の各主張に対する主張レベルのサポートスコアも取得できます。
この試験運用版機能を試すには、Google アカウント チームに連絡して許可リストへの追加をリクエストしてください。
主張レベルのスコアを取得するは次のとおりです。
事実のセットを準備します。詳細と例については、用語の定義と説明をご覧ください。
次の curl コマンドを使用して
check
メソッドを呼び出します。curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \ -d '{ "answerCandidate": "CANDIDATE", "facts": [ { "factText": "TEXT_0", "attributes": {"ATTRIBUTE_A": "VALUE_A0","ATTRIBUTE_B": "VALUE_B0"} }, { "factText": "TEXT_1", "attributes": {"ATTRIBUTE_A": "VALUE_A1","ATTRIBUTE_B": "VALUE_B1"} }, { "factText": "TEXT_2", "attributes": {"ATTRIBUTE_A": "VALUE_A2","ATTRIBUTE_B": "VALUE_B2"} }, ], "groundingSpec": { "citationThreshold": "CITATION_THRESHOLD", "enableClaimLevelScore": "ENABLE_CLAIM_LEVEL_SCORE", } }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトのプロジェクト番号または ID。CANDIDATE
: サポートスコアを確認する回答候補の文字列(例:Titanic was directed by James Cameron. It was released in 1997.
)。回答候補の最大長は 4,096 トークンです。トークンは、文内の単語またはピリオド(文の終わりに使用される句読点)として定義されます。たとえば、「2024 年に彼らは既製服を着た」という文は、6 つの単語とピリオドを含む 7 つのトークンです。TEXT
: グラウンディングに使用するテキスト セグメント(例:Titanic is a 1997 American epic... Academy Awards.
)。事実の例の全文をご覧ください。ATTRIBUTE
: 事実に関連付けられたメタデータ属性の名前(例:author
、title
)。事実のテキストに追加情報を追加するためのユーザー定義ラベルです。たとえば、事実のテキストToronto is the capital of Ontario
にauthor
属性があり、その値がWikipedia
の場合、次の主張は根拠があります。Wikipedia cites that Toronto is the capital of Ontario
Toronto is the capital of Ontario
ただし、
Government of Ontario claims that Toronto is the capital of Ontario
という主張はそれほど根拠がありません。VALUE
: 属性の値(Simple Wikipedia
、Titanic (1997 film)
など)。CITATION_THRESHOLD
: 0 から 1 の浮動小数点値。回答候補の主張に対して事実の引用が必要かどうかを決定します。しきい値が高いほど、主張を裏付ける引用は少なくなりますが、その引用の信頼性は高くなります。しきい値が低いほど、主張を裏付ける引用は増えますが、その引用の信頼性は低くなります。未設定の場合、デフォルトのしきい値は 0.6 です。ENABLE_CLAIM_LEVEL_SCORE
: ブール値。主張レベルのスコア機能を有効にするには、このフィールドをtrue
に設定します。この機能をオフにするには、このフィールドを削除するか、このフィールドをfalse
に設定します。
リクエストの例
前のセクションの事実の例を使用して、次のリクエストを送信できます。CANDIDATE
フィールドは、主張ごとの根拠を確認する別の文字列に置き換えます。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
-d '{
"answerCandidate": "CANDIDATE",
"facts": [
{
"factText": "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.",
"attributes": {"author":"Simple Wikipedia"}
},
{
"factText": "James Cameron's \"Titanic\" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the \"ship of dreams\" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.",
"attributes": {"author":"Simple Wikipedia"}
}
],
"groundingSpec": {
"citationThreshold": "0.6",
"enableClaimLevelScore": true,
}
}'
主張レベルのスコアを含むレスポンスの例
次の表に、事実の例に基づいてリクエストの例を送信した場合の回答候補の例とそのレスポンスを示します。
回答候補 | グラウンディング レスポンスをチェックする |
---|---|
Here is what I found. Titanic was directed by James Cameron. It
starred Kate Winslet and Leonardo DiCaprio.
|
サポート スコア: 0.99 引用されたチャンク:
|
データストアで接地を確認する
デフォルトでは、Check Grounding API 呼び出しでインラインで指定された一連の事実と照合して、根拠が確認されます。ただし、事実をインラインで指定する代わりに、Vertex AI Search データストア内のすべての事実と回答候補を照合することもできます。
check grounding API を呼び出すときに、Vertex AI 検索アプリの名前を指定します。その検索アプリに関連付けられた非構造化データストアには、回答候補の根拠付けの確認に使用される一連の事実が保持されます。
データストアに対する接地を確認する手順は次のとおりです。
非構造化データを含む 1 つ以上のデータストアに関連付けられている汎用検索アプリを特定します。このデータストア内のドキュメントは、グラウンディングの事実のソースとして機能します。
データストアと検索アプリを作成する方法については、検索データストアを作成すると検索アプリを作成するをご覧ください。
アプリ ID を確認します。アプリ ID がすでにある場合は、次のステップに進みます。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[アプリ] ページでアプリの名前を見つけ、[ID] 列からアプリの ID を取得します。
次の curl コマンドを使用して
check
メソッドを呼び出します。curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \ -d '{ "answerCandidate": "CANDIDATE", "groundingSource": { "searchSource": "projects/SOURCE_PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search" } }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトのプロジェクト番号または ID。SOURCE_PROJECT_ID
: 接地用のアプリを含むプロジェクトのプロジェクト番号または ID。このソース プロジェクトは、プロジェクトと同じリージョンに存在する必要があります(
global
またはeu
の両方など)。(マルチリージョンの一般的な情報については、ロケーションをご覧ください)。CANDIDATE
: サポート スコアを取得する回答候補の文字列(例:Titanic was directed by James Cameron. It was released in 1997.
)。回答候補の最大長は 4,096 トークンです。トークンは、文内の単語またはピリオド(文の末尾に使用される句読点)として定義されます。たとえば、「2024 年に既製服を着た」という文は、6 つの単語とピリオドを含む 7 つのトークンです。APP_ID
: 根拠づけのソースとして使用する事実が非構造化データストアに含まれている Vertex AI Search アプリの ID。