コンテキストに基づくグラウンドチェック - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コンテキストに基づくグラウンドチェック

Amazon Bedrock のガードレールは、リファレンスソースとユーザークエリが提供されたときに、モデルレスポンスの幻覚を検出してフィルタリングするためのコンテキストに基づくグラウンドチェックをサポートしています。サポートされているユースケースは、検索拡張生成 (RAG)、要約、パラフラッシング、またはエージェントが会話をグラウンドするために RAG で取得したパスや会話履歴などのリファレンスソースに依存する会話エージェントに及びます。

コンテキストに基づく地面チェックでは、次の 2 つのパラダイムにわたって幻覚を評価します。

  • Grounding – これは、モデルのレスポンスがソースに基づいて事実上正確であり、ソースに基づいているかどうかを確認します。レスポンスで導入された新しい情報は、根拠がないと見なされます。

  • 関連性 — モデルのレスポンスがユーザークエリに関連しているかどうかを確認します。

リファレンスソースに「ロンドンは英国の州都」が含まれている例を考えてみましょう。東京は日本の州都であり、ユーザークエリは「日本の州都は何ですか?」です。「日本の州都はロンドン」などのレスポンスは、根拠がなく、事実上正しくないと見なされます。この場合、「英国の州都はロンドン」などのレスポンスは、ソースに正しくて根拠があっていても無関係と見なされます。

信頼スコアとしきい値

コンテキストに基づくグラウンドチェックでは、提供されたソースクエリとユーザークエリに基づいて処理された各モデルレスポンスのグラウンドと関連性に対応する信頼スコアが生成されます。生成されたスコアに基づいてモデルレスポンスをフィルタリングするようにしきい値を設定できます。フィルタリングしきい値は、モデルレスポンスの最小許容信頼スコアを決定し、生成 AI アプリケーションで根拠があり、関連性があると見なします。例えば、グラウンドしきい値と関連性しきい値がそれぞれ 0.7 に設定されている場合、グラウンドスコアまたは関連性スコアが 0.7 未満のすべてのモデルレスポンスは幻覚として検出され、アプリケーションでブロックされます。フィルタリングのしきい値が増加すると、根拠のないコンテンツや無関係なコンテンツをブロックする可能性が高くなり、アプリケーションで幻覚的なコンテンツが表示される可能性が低下します。0 から 0.99 までのグラウンドと関連性のしきい値を設定できます。しきい値 1 は、すべてのコンテンツをブロックするため無効です。

コンテキストのグラウンドチェックでは、チェックを実行するために、グラウンドソース、クエリ、保護するコンテンツ (またはモデルレスポンス) の 3 つのコンポーネントが必要です。これらは、Invoke APIsAPIs。 ApplyGuardrail

  • Grounding source – ユーザークエリへの回答に必要なコンテキスト情報。例えば、「ロンドンは英国の州都です。東京は日本の州都です。

  • クエリ — ユーザーが尋ねる可能性のある質問。例えば、「日本の州都は何ですか?」などです。

  • 保護するコンテンツ — グラウンドソースとクエリに対して保護する必要があるテキスト。Invoke API と Converse APIs、これはモデルレスポンスです。例えば、「日本の州都は東京」などです。

根拠のない例

  • Grounding source -「ロンドンは英国の州都です。東京は日本の州都です。

  • クエリ - 「日本の州都は何ですか?」

  • 保護すべきコンテンツ - 「日本の州都はロンドンです」。

この例では、保護するコンテンツはクエリに関連していますが、グラウンドソースを正しく使用しないため、グラウンドされていません。これは、グラウンドスコアが低くなります。

無関係な例

  • Grounding source -「ロンドンは英国の州都です。東京は日本の州都です。

  • クエリ - 「日本の州都は何ですか?」

  • 保護するコンテンツ - 「英国の州都はロンドンです」。

この例では、保護するコンテンツはグラウンドされていますが、関係ありません。グラウンドソースからの情報を使用しますが、クエリには応答しません。これは関連性スコアが低くなります。

根拠のない無関係な例

  • Grounding source -「ロンドンは英国の州都です。東京は日本の州都です。

  • クエリ - 「日本の州都は何ですか?」

  • 保護するコンテンツ -「外部で雨が降っています」。

この例では、保護するコンテンツはグラウンドされておらず、関連性もありません。グラウンドソースからの情報もクエリへの回答も使用しません。これにより、基礎と関連性のスコアが低くなります。

その他の例

料金や請求に関連する質問に答えるように設計されたバンキングアプリケーションを検討してください。

ソース:

  • 当座預金口座の開設には料金はかかりません。

  • 当座預金口座の維持にかかる月額料金は 10 USD です。

  • 国際転送には 1% のトランザクション料金がかかります。

  • 国内転送には料金はかかりません。

  • クレジットカード請求の遅延支払いに関連する料金は 23.99% です。

上記のソースに基づいて、ユーザーのクエリに応じて 4 つのシナリオが存在する場合があります。

Grounded と関連

  • Q: チェッキングアカウントに関連する料金はいくらですか?

  • A: 当座預金口座の維持にかかる月額料金は 10 USD です。国内転送には料金はかかりません。ただし、国際転送には 1% のトランザクション料金がかかります。当座預金口座の開設には料金はかかりません。

根拠はないが関連あり

  • Q: クレジットカードに関連する取引料金はいくらですか。

  • A: クレジットカードに関連する取引料金は 23.99% です。

Grounded でも無関係

  • Q: 当座預金口座の使用料金はいくらですか?

  • A: 提供された情報に基づいて、クレジットカードの遅延支払い料金は 23.99% です。

非グラウンドおよび無関係

  • Q: 当座預金口座の使用料金はいくらですか?

  • A: ブローカーアカウントの料金は、取引取引ごとに 0.5 USD です。

Invoke APIs を使用したコンテキストに基づくグラウンドチェックの呼び出し

入力内でグラウンドソースとクエリをマークするために、入力タグと同じように機能するタグが 2 つ用意されています。これらのタグは amazon-bedrock-guardrails-query_xyz amazon-bedrock-guardrails-groundingSource_xyzであり、タグサフィックスが xyz であることを前提としています。例:

{ "text": """ <amazon-bedrock-guardrails-groundingSource_xyz>London is the capital of UK. Tokyo is the capital of Japan. </amazon-bedrock-guardrails-groundingSource_xyz> <amazon-bedrock-guardrails-query_xyz>What is the capital of Japan?</amazon-bedrock-guardrails-query_xyz> """, "amazon-bedrock-guardrailConfig": { "tagSuffix": "xyz", }, }

コンテキストに基づくグラウンドチェックを実行するにはモデルレスポンスが必要であるため、チェックはプロンプトではなく出力でのみ実行されることに注意してください。

これらのタグは、guardContent タグと一緒に使用できます。guardContent タグが使用されていない場合、ガードレールはデフォルトで、グラウンドソースやクエリを含む、設定されたすべてのポリシーを入力全体に適用します。guardContent タグが使用されている場合、コンテキストのグラウンドチェックポリシーはグラウンドソース、クエリ、レスポンスのみを調査し、残りのポリシーは guardContent タグ内のコンテンツを調査します。

Converse APIs を使用したコンテキストに基づくグラウンドチェックの呼び出し

Converse APIs のグラウンドソースとクエリをマークするには、各ガードコンテンツブロックの修飾子フィールドを使用します。例:

[ { "role": "user", "content": [ { "guardContent": { "text": { "text": "London is the capital of UK. Tokyo is the capital of Japan", "qualifiers": ["grounding_source"], } } }, { "guardContent": { "text": { "text": "What is the capital of Japan?", "qualifiers": ["query"], } } }, ], } ]

コンテキストに基づくグラウンドチェックを実行するにはモデルレスポンスが必要であるため、チェックはプロンプトではなく出力でのみ実行されることに注意してください。

どのコンテンツブロックにも guard_content 修飾子が付いていない場合、コンテキストに基づくグラウンドチェックポリシーは、グラウンドソース、クエリ、およびレスポンスのみを調査します。残りのポリシーは、デフォルトの調査動作に従います。システムプロンプトのデフォルトは調査対象外、メッセージは調査対象になります。ただし、コンテンツブロックが guard_content 修飾子でマークされている場合、コンテキストのグラウンドチェックポリシーは、グラウンドソース、クエリ、レスポンスのみを調査し、残りのポリシーは guardContent タグでマークされたコンテンツを調査します。

ApplyGuardrail API を使用したコンテキストに基づくグラウンドチェックの呼び出し

でコンテキストに基づくグラウンドチェックを使用すること ApplyGuardrail は、Converse APIs。のグラウンドソースとクエリをマークするには ApplyGuardrail、各コンテンツブロックの修飾子フィールドを使用します。ただし、モデルは で呼び出されないため ApplyGuardrail、保護するコンテンツを含む追加のコンテンツブロックも指定する必要があります。このコンテンツブロックはオプションで guard_content で修飾でき、Invoke* または Converse* APIs。例:

[ { "text": { "text": "London is the capital of UK. Tokyo is the capital of Japan", "qualifiers": [ "grounding_source" ] } }, { "text": { "text": "What is the capital of Japan?", "qualifiers": [ "query" ] } }, { "text": { "text": "The capital of Japan is Tokyo." } } ]

コンテキストに基づくグラウンドチェックを実行するにはモデルレスポンスが必要であるため、チェックはプロンプトではなく出力でのみ実行されることに注意してください。

どのコンテンツブロックにも guard_content 修飾子が付いていない場合、コンテキストに基づくグラウンドチェックポリシーは、グラウンドソース、クエリ、およびレスポンスのみを調査します。残りのポリシーは、デフォルトの調査動作に従います。システムプロンプトのデフォルトは調査対象外、メッセージは調査対象になります。ただし、コンテンツブロックが guard_content 修飾子でマークされている場合、コンテキストのグラウンドチェックポリシーは、グラウンドソース、クエリ、レスポンスのみを調査し、残りのポリシーは guardContent タグでマークされたコンテンツを調査します。

コンテキストのグラウンドチェックの詳細については、「コンテキストのグラウンドチェックを使用する」を参照してください。