

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

# Amazon Neptune Analytics グラフに接続されたナレッジベースをクエリする
<a name="kb-test-neptune"></a>

Amazon Neptune Analytics グラフを使用するナレッジベースをクエリして、データソースから関連するテキストのみを返すことができます。このクエリでは、標準のナレッジベースと同様に、[Amazon Bedrock エージェントのランタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt)を使用して、[https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) リクエストを送信します。ナレッジベースのクエリ、データの取得、レスポンスの生成については、以下を参照してください。
+  [ナレッジベースのクエリを実行してデータを取得する](kb-test-retrieve.md) 
+  [ナレッジベースをクエリし、取得したデータに基づいてレスポンスを生成する](kb-test-retrieve-generate.md) 

Amazon Neptune Analytics グラフを使用するナレッジベースから返されるレスポンスの構造は、標準の [ KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html) と同じです。ただし、レスポンスには Amazon Neptune の追加フィールドもいくつか含まれています。

次の表では、返されるレスポンスに含まれる可能性のある Neptune Analytics のフィールドを説明しています。Amazon Bedrock は、Neptune Analytics レスポンスからこれらのフィールドを取得します。レスポンスにこれらのフィールドが含まれていない場合は、Amazon Bedrock から返されたクエリ結果にもこれらのフィールドは含まれません。


| フィールド | 説明 | 
| --- | --- | 
| x-amz-bedrock-kb-source-uri | 返されたドキュメントの Amazon S3 URL | 
| score | 指定されたクエリとレスポンスがどの程度一致するかを示す距離の尺度。値が低いほど一致度が高いことを示す。 | 
| x-amz-bedrock-kb-data-source-id | ナレッジベースに使用されるデータソースの ID | 
| x-amz-bedrock-kb-chunk-id | クエリの情報を取得してレスポンスを生成するために使用されたチャンクの ID | 
| DocumentAttributes | Amazon Kendra のドキュメント属性またはメタデータフィールド。ナレッジベースから返されたクエリ結果は、これらをメタデータの key-value ペアとして保存します。この結果は、Amazon Bedrock からのメタデータフィルタリングを使用してフィルタリングできます。 | 

## メタデータとフィルタリングの使用
<a name="kb-test-neptune-metadata"></a>

ナレッジベースにクエリを実行してレスポンスを生成する際、メタデータでフィルタリングして、より関連性の高いドキュメントを探すことができます。例えば、ドキュメントの公開日に基づいてフィルタリングできます。このためには、Amazon Bedrock コンソールまたはランタイム API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html) を使用して、一般的なフィルター条件を指定できます。

以下は、Neptune Analytics グラフで `RetrievalFilter` API を使用する際の考慮事項です。
+ `listContains` フィルターはサポートされていません。
+ `stringContains` フィルターのリストバリアントはサポートされていません。
+ フィルタータイプの選択と効率的なフィルタリングのためのメタデータ属性の設計に関するベストプラクティスについては、[GraphRAG でのメタデータフィルタリングのベストプラクティス](https://docs.aws.amazon.com//neptune-analytics/latest/userguide/best-practices-graphrag-filters.html)」を参照してください。

例を以下に示します。

```
"vectorSearchConfiguration": {
        "numberOfResults": 5,
        "filter": {
            "orAll": [
                {
                    "andAll": [
                        {
                            "equals": {
                                "key": "genre",
                                "value": "entertainment"
                            }
                        },
                        {
                            "greaterThan": {
                                "key": "year",
                                "value": 2018
                            }
                        }
                    ]
                },
                {
                    "andAll": [                        
                        {
                            "startsWith": {
                                "key": "author",
                                "value": "C"
                            }
                        }
                    ]
                }
            ]
        }
    }
}
```