翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
構造化データのクエリを生成する
構造化データストアをナレッジベースに接続すると、ナレッジベースは、クエリ対象のデータソースの構造に基づいて、ユーザーによって指定された自然言語クエリを SQL クエリに変換することでクエリを実行できます。使用するバージョン:
-
Retrieve: レスポンスは SQL クエリ実行の結果を返します。
-
RetrieveAndGenerate: 生成されるレスポンスは、SQL クエリ実行の結果に基づいています。
-
GenerateQuery: Amazon Bedrock ナレッジベースは、クエリの変換を取得プロセスから切り離します。この API オペレーションを使用することで、クエリを SQL に変換できます。
GenerateQuery API を使用する場合
GenerateQuery API オペレーションからのレスポンスを後続の Retrieve または RetrieveAndGenerate アクションで使用するか、他のワークフローに挿入することができます。GenerateQuery を使用すると、ナレッジベースのデータソースの構造を考慮して、クエリを SQL クエリに効率的に変換できます。
自然言語クエリを SQL クエリに変換するには、Amazon Bedrock エージェントのランタイムエンドポイントを使用して GenerateQuery リクエストを送信します。GenerateQuery リクエストには、次に示すようなフィールドがあります。
-
queryGenerationInput –
TEXTをtypeとして指定し、textフィールドにクエリを含めます。注記
クエリは英語で記述する必要があります。
-
transformationConfiguration –
TEXT_TO_SQLをmodeとして指定します。textToSqlConfigurationフィールドで、KNOWLEDGE_BASEをtypeとして指定します。次に、ナレッジベースの ARN を指定します。
レスポンスは、queries フィールドに GeneratedQuery オブジェクトを含む配列を返します。このオブジェクトには、sql フィールドのクエリの SQL クエリが含まれています。
主な考慮事項
以下は、構造化データを使用してクエリを生成する際の主な考慮事項です。
-
クロスリージョン推論と構造化データの取得
構造化データ取り出しでは、クロスリージョン推論を使用して、推論リクエストを処理する最適な を地域AWS リージョン内で選択します。これにより追加料金が発生することはなく、利用可能なリソースとモデルの可用性を最大化することでカスタマーエクスペリエンスが向上します。
クロス推論リクエストは、データが最初に存在する地域の一部AWS リージョンである 内に保持されます。データはソースリージョン内に保存されたままですが、入力プロンプトと出力結果がこのリージョン外に移動する可能性があります。すべてのデータは Amazon の安全なネットワーク経由で暗号化されて送信されます。
詳細については、「クロスリージョン推論によりスループットを向上させる」を参照してください。
-
生成された SQL クエリの精度
生成された SQL クエリの精度は、コンテキスト、テーブルスキーマ、およびユーザークエリの意図によって異なります。ワークロードで使用する前に、生成されたクエリを評価して、ユースケースに適していることを確認します。
-
検索結果の数
レスポンスを生成するときは、次の制限が適用されます。
-
InvokeAgent、RetrieveAndGenerate、およびRetrieveAndGenerateStreamAPI オペレーションを使用する場合、取得結果のうち、レスポンス生成に使用されるのは 10 件のみです。 -
InvokeAgentAPI を使用しているとき、取得された結果の行数が 10 行を超える場合、取得された行の総数はレスポンスの生成時にエージェントに渡されません。代わりにRetrieveAndGenerateAPI を使用した場合、最終レスポンスの生成時に行の総数がプロンプトに含められます。
-
-
GenerateQueryAPI クォータGenerateQueryAPI には、1 秒あたり 2 リクエストのクォータがあります。
生成されたクエリにアクセスするためのアクセス許可をロールに付与する
構造化データソースに接続されているナレッジベースで、生成されたクエリに対して追加のオペレーションを実行する場合は、GenerateQuery API アクションを実行するアクセス許可を付与する必要があります。構造化データストアに接続されたナレッジベースを IAM ロールがクエリできるようにするには、次のポリシーをロールにアタッチします。
ユースケースに応じて、不要なステートメントは削除できます。
-
GetKBおよびGenerateQueryステートメントは、GenerateQuery を呼び出して、ユーザークエリと接続されたデータソースを考慮した SQL クエリを生成するために必要です。 -
Retrieveステートメントは、Retrieve を呼び出して構造化データストアからデータを取得するために必要です。 -
RetrieveAndGenerateステートメントは、RetrieveAndGenerate を呼び出して構造化データストアからデータを取得し、データに基づいてレスポンスを生成するために必要です。