

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

# Amazon Bedrock ナレッジベース
<a name="rag-fully-managed-bedrock"></a>

[Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html) は、主要な AI スタートアップ企業や Amazon が提供する高パフォーマンスな基盤モデル (FM) を、統合 API を通じて利用できるようにするフルマネージド型サービスです。[ナレッジベース](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html)は、取り込みから取得、プロンプト拡張まで、RAG ワークフロー全体を実装するのに役立つ Amazon Bedrock の機能です。データソースへのカスタム統合を構築したり、データフローを管理したりする必要はありません。セッションコンテキスト管理は、生成 AI アプリケーションがマルチターン会話を簡単にサポートできるように組み込まれています。

データの場所を指定すると、Amazon Bedrock のナレッジベースは内部でドキュメントを取得し、それらをテキストのブロックにチャンクし、テキストを埋め込みに変換して、選択したベクトルデータベースに埋め込みを保存します。Amazon Bedrock は埋め込みを管理および更新し、ベクトルデータベースをデータと同期させます。ナレッジベースの仕組みの詳細については、[「Amazon Bedrock ナレッジベースの仕組み](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-how-it-works.html)」を参照してください。

Amazon Bedrock エージェントにナレッジベースを追加すると、エージェントはユーザー入力に基づいて適切なナレッジベースを識別します。エージェントは関連情報を取得し、入力プロンプトに情報を追加します。更新されたプロンプトは、レスポンスを生成するためのより多くのコンテキスト情報をモデルに提供します。透明性を向上させ、幻覚を最小限に抑えるために、ナレッジベースから取得した情報はソースまで追跡可能です。



![\[Amazon Bedrock エージェントはナレッジベースから情報を取得し、LLM に渡します。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/retrieval-augmented-generation-options/images/architecture-knowledge-base.png)


Amazon Bedrock は、RAG に対して次の 2 APIs をサポートしています。
+ [RetrieveAndGenerate](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) – この API を使用してナレッジベースをクエリし、取得した情報からレスポンスを生成できます。Amazon Bedrock は内部的にクエリを埋め込みに変換し、ナレッジベースにクエリを実行し、検索結果をコンテキスト情報としてプロンプトを拡張して、LLM で生成されたレスポンスを返します。また、Amazon Bedrock は会話の短期記憶を管理し、よりコンテキストに応じた結果を提供します。
+ [取得](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) – この API を使用して、ナレッジベースから直接取得した情報を使用してナレッジベースをクエリできます。この API から返された情報を使用して、取得したテキストの処理、関連性の評価、またはレスポンス生成のための別のワークフローの開発を行うことができます。Amazon Bedrock は内部的にクエリを埋め込みに変換し、ナレッジベースを検索して、関連する結果を返します。検索結果の上に追加のワークフローを構築できます。たとえば、 [https://python.langchain.com/docs/integrations/retrievers/bedrock/](https://python.langchain.com/docs/integrations/retrievers/bedrock/)`AmazonKnowledgeBasesRetriever`プラグインを使用して、RAG ワークフローを生成 AI アプリケーションに統合できます。

API を使用するためのアーキテクチャパターンの例とstep-by-stepの手順については、 APIs[「ナレッジベースが Amazon Bedrock でフルマネージド RAG エクスペリエンスを提供するようになりました](https://aws.amazon.com/blogs/aws/knowledge-bases-now-delivers-fully-managed-rag-experience-in-amazon-bedrock/)」(AWS ブログ記事) を参照してください。`RetrieveAndGenerate` API を使用してインテリジェントなチャットベースのアプリケーションの RAG ワークフローを構築する方法の詳細については、[「Amazon Bedrock ナレッジベースを使用したコンテキストチャットボットアプリケーションの構築](https://aws.amazon.com/blogs/machine-learning/build-a-contextual-chatbot-application-using-knowledge-bases-for-amazon-bedrock/)」(AWS ブログ記事) を参照してください。

## ナレッジベースのデータソース
<a name="rag-fully-managed-bedrock-data-sources"></a>

所有権を持つ独自のデータをナレッジベースに接続することができます。データソースコネクタを設定したら、データをナレッジベースと同期または最新の状態に保ち、データをクエリに使用できるようにします。Amazon Bedrock ナレッジベースは、次のデータソースへの接続をサポートします。
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/bedrock/latest/userguide/s3-data-source-connector.html) – コンソールまたは API を使用してAmazon S3バケットを Amazon Bedrock ナレッジベースに接続できます。ナレッジベースは、バケット内のファイルを取り込み、インデックスを作成します。このタイプのデータソースは、次の機能をサポートしています。
  + **ドキュメントメタデータフィールド** – 別のファイルを含めて、Amazon S3 バケット内のファイルのメタデータを指定できます。その後、これらのメタデータフィールドを使用して、レスポンスの関連性をフィルタリングして改善できます。
  + **包含フィルターまたは除外フィルター** – クロール時に特定のコンテンツを含めたり除外したりできます。
  + **増分同期** – コンテンツの変更は追跡され、前回の同期以降に変更されたコンテンツのみがクロールされます。
+ [https://docs.aws.amazon.com/bedrock/latest/userguide/confluence-data-source-connector.html](https://docs.aws.amazon.com/bedrock/latest/userguide/confluence-data-source-connector.html) – コンソールまたは API を使用して、Atlassian Confluenceインスタンスを Amazon Bedrock ナレッジベースに接続できます。このタイプのデータソースは、次の機能をサポートしています。
  + **メインドキュメントフィールドの自動検出** – メタデータフィールドは自動的に検出され、クロールされます。これらのフィールドはフィルタリングに使用できます。
  + **包含コンテンツフィルターまたは除外コンテンツフィルター** – スペース、ページタイトル、ブログタイトル、コメント、添付ファイル名、または拡張機能のプレフィックスまたは正規表現パターンを使用して、特定のコンテンツを包含または除外できます。
  + **増分同期** - コンテンツの変更は追跡され、前回の同期以降に変更されたコンテンツのみがクロールされます。
  + **OAuth 2.0 認証、ConfluenceAPI トークンによる認証** – 認証情報は に保存されます AWS Secrets Manager。
+ [https://docs.aws.amazon.com/bedrock/latest/userguide/sharepoint-data-source-connector.html](https://docs.aws.amazon.com/bedrock/latest/userguide/sharepoint-data-source-connector.html) – コンソールまたは API を使用してSharePoint、インスタンスをナレッジベースに接続できます。このタイプのデータソースは、次の機能をサポートしています。
  + **メインドキュメントフィールドの自動検出** – メタデータフィールドは自動的に検出され、クロールされます。これらのフィールドはフィルタリングに使用できます。
  + **包含コンテンツフィルターまたは除外コンテンツフィルター** – メインページのタイトル、イベント名、ファイル名 (拡張子を含む) のプレフィックスまたは正規表現パターンを使用して、特定のコンテンツを包含または除外できます。
  + **増分同期** - コンテンツの変更は追跡され、前回の同期以降に変更されたコンテンツのみがクロールされます。
  + **OAuth 2.0 認証** – 認証情報は に保存されます AWS Secrets Manager。
+ [https://docs.aws.amazon.com/bedrock/latest/userguide/salesforce-data-source-connector.html](https://docs.aws.amazon.com/bedrock/latest/userguide/salesforce-data-source-connector.html) – コンソールまたは API を使用してSalesforce、インスタンスをナレッジベースに接続できます。このタイプのデータソースは、次の機能をサポートしています。  
  + **メインドキュメントフィールドの自動検出** – メタデータフィールドは自動的に検出され、クロールされます。これらのフィールドはフィルタリングに使用できます。
  + **包含または除外コンテンツフィルター** – プレフィックスまたは正規表現パターンを使用して、特定のコンテンツを包含または除外できます。フィルターを適用できるコンテンツタイプのリストについては、[Amazon Bedrock ドキュメント](https://docs.aws.amazon.com/bedrock/latest/userguide/salesforce-data-source-connector.html#configuration-salesforce-connector)の*「包含/除外フィルター*」を参照してください。
  + **増分同期** – コンテンツの変更は追跡され、前回の同期以降に変更されたコンテンツのみがクロールされます。
  + **OAuth 2.0 認証** – 認証情報は に保存されます AWS Secrets Manager。
+ [ウェブクローラー](https://docs.aws.amazon.com/bedrock/latest/userguide/webcrawl-data-source-connector.html) – Amazon Bedrock ウェブクローラーは、指定した URLs に接続してクロールします。次の機能がサポートされています。
  + クロールする複数の URL を選択する
  + `Allow` や などの標準の robots.txt ディレクティブを尊重する `Disallow`
  + パターンに一致する URLs を除外する
  + クローリングのレートを制限する
  + Amazon CloudWatch で、クロールされた各 URL のステータスを表示します。

Amazon Bedrock ナレッジベースに接続できるデータソースの詳細については、[「ナレッジベースのデータソースコネクタを作成する](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html)」を参照してください。

## ナレッジベースのベクトルデータベース
<a name="rag-fully-managed-bedrock-vector-stores"></a>

ナレッジベースとデータソース間の接続を設定するときは、ベクトルストアとも呼ばれる*ベクトル*データベースを設定する必要があります。ベクトルデータベースは、Amazon Bedrock がデータを表す埋め込みを保存、更新、管理する場所です。各データソースは、さまざまなタイプのベクトルデータベースをサポートしています。データソースで使用できるベクトルデータベースを確認するには、[データソースタイプ](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html)を参照してください。

Amazon Bedrock で Amazon OpenSearch Serverless にベクトルデータベースを自動的に作成する場合は、ナレッジベースを作成するときにこのオプションを選択できます。ただし、独自のベクトルデータベースを設定することもできます。独自のベクトルデータベースをセットアップする場合は、[ナレッジベースの独自のベクトルストアの前提条件](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup.html)を参照してください。ベクトルデータベースのタイプごとに独自の前提条件があります。

データソースタイプに応じて、Amazon Bedrock ナレッジベースは次のベクトルデータベースをサポートします。
+ [Amazon OpenSearch Serverless](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vector-search.html)
+ [Amazon Aurora PostgreSQL-Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.VectorDB.html)
+ [https://docs.pinecone.io/docs/amazon-bedrock](https://docs.pinecone.io/docs/amazon-bedrock) (Pinecone ドキュメント)
+ [https://docs.redis.com/latest/rc/cloud-integrations/aws-marketplace/aws-bedrock/](https://docs.redis.com/latest/rc/cloud-integrations/aws-marketplace/aws-bedrock/) (Redis ドキュメント)
+ [https://dochub.mongodb.org/core/amazon-bedrock](https://dochub.mongodb.org/core/amazon-bedrock) (MongoDB ドキュメント)