翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
パッセージを取得する
は、 Retrieve 検索拡張生成 (API) システムのリトリーバーとしての RAG。
RAG システムは生成人工知能を使用して質問応答アプリケーションを構築します。RAG システムは、リトリーバーと大規模言語モデル (LLM) で構成されます。クエリがあると、レトリバーはドキュメントコーパスから最も関連性の高いテキストのチャンクを識別し、それを LLM にフィードして、最も有用な回答を提供します。次に、LLM は関連するテキストチャンクまたはパッセージを分析し、クエリの包括的なレスポンスを生成します。
Retrieve
API は、文章と呼ばれるテキストまたは抜粋のチャンクを調べ、クエリに最も関連性の高い上位の文章を返します。
のように Query API Retrieve
API、関連情報も検索されます。API の情報の取得 は、クエリのコンテキストと、インデックスが作成されたドキュメントから利用可能なすべての情報を考慮に入れます。ただし、デフォルトでは、API Query
は最大 100 個のトークン単語の抜粋のみを返します。Retrieve
API を使用すると、最大 200 個のトークン単語と最大 100 個の意味的に関連するパッセージを取得できます。これには、インデックスからの質問応答または FAQ タイプの応答は含まれません。チャンクとも呼ばれるパッセージは、同じドキュメントの複数のドキュメントと複数の部分から意味的に抽出できるテキスト抜粋です。Kendra の GenAI Enterprise Edition インデックスは、ベクトルインデックスとキーワードインデックスをハイブリッド検索し、深層学習モデルによるランク付けを行うことで、取得に高精度の結果を提供します。
API Retrieve
を使用して以下を実行することもできます。
-
インデックスレベルでのオーバーライドブースト
-
ドキュメントフィールドまたは属性に基づくフィルタリング
-
ユーザーまたはグループのドキュメントへのアクセスに基づいたフィルタリング
-
取得したドキュメントの結果の信頼度スコアバケットを表示します。信頼度バケットは、 Amazon Kendra がそのレスポンスがクエリに関連している信頼度を示す相対的なランク付けを提供します。
注記
信頼スコアバケットは現在、英語でのみ利用可能です。
有用な追加情報が得られる可能性のある特定のフィールドをレスポンスに含めることもできます。
Retrieve
API は現在、高度なクエリ構文を使用したクエリ、クエリのスペル修正の提案、ファセット、検索クエリを自動入力するためのクエリ提案、増分学習などの機能をサポートしていません。API クエリの取得は分析ダッシュボードに表示されません。
Retrieve
API は、インデックスに設定したクエリキャパシティーユニットの数を共有します。1 つのキャパシティーユニットに含まれる内容と、インデックスのデフォルトの基本容量の詳細については、「Adjusting capacity」を参照してください。
注記
Amazon Kendra Developer Edition を使用している場合は容量を追加できません。容量を追加できるのは Amazon Kendra Enterprise Edition を使用している場合のみです。Developer Edition と Enterprise Edition に含まれる内容の詳細については、「Amazon Kendra Editions」を参照してください。
以下は、API Retrieve
を使用して、クエリのインデックス内のドキュメントから最も関連性の高い上位 100 件のパッセージを取得する例です。"how does amazon kendra work?"
import boto3
import pprint
kendra = boto3.client("kendra")
# Provide the index ID
index_id = "index-id"
# Provide the query text
query = "how does amazon kendra work?"
# You can retrieve up to 100 relevant passages
# You can paginate 100 passages across 10 pages, for example
page_size = 10
page_number = 10
result = kendra.retrieve(
IndexId = index_id,
QueryText = query,
PageSize = page_size,
PageNumber = page_number)
print("\nRetrieved passage results for query: " + query + "\n")
for retrieve_result in result["ResultItems"]:
print("-------------------")
print("Title: " + str(retrieve_result["DocumentTitle"]))
print("URI: " + str(retrieve_result["DocumentURI"]))
print("Passage content: " + str(retrieve_result["Content"]))
print("------------------\n\n")