仕組み - Amazon Bedrock

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

仕組み

Amazon Bedrock のナレッジベースは、検索拡張生成 (RAG) を活用するのに役立ちます。RAG は、データストアから情報を取得して、大規模言語モデル (LLM) によって生成される応答を補強する一般的な手法です。データソースを使用してナレッジベースを設定すると、アプリケーションはナレッジベースにクエリを実行して情報を返し、ソースから直接引用するか、クエリ結果から生成される自然なレスポンスでクエリに答えることができます。

ナレッジベースを使用すると、ナレッジベースへのクエリから得られるコンテキストによって強化されたアプリケーションを構築できます。パイプライン構築という面倒な作業から解放され、アプリケーションのビルド時間を短縮する out-of-the-box RAG ソリューションを提供することで、市場投入までの時間を短縮できます。また、ナレッジベースを追加することで、プライベートデータを活用できるようにモデルを継続的にトレーニングする必要がなくなるため、費用対効果も向上します。

以下の図は、RAG がどのように実行されるかを概略的に示しています。ナレッジベースは、このプロセスのいくつかのステップを自動化することで、RAG の設定と実装を簡素化します。

データを前処理する

プライベートデータから効果的に関連ドキュメントを取得できるようにするには、まずドキュメントを管理しやすいチャンクに分割するのが一般的です。その後、チャンクは埋め込みに変換され、元のドキュメントへのマッピングを維持したままベクトルインデックスに書き込まれます。これらの埋め込みは、クエリとデータソースからのテキストの意味上の類似性を判断するために使用されます。以下の図は、ベクトルデータベース用のデータの前処理を示しています。

検索拡張生成のためにデータを前処理する

ランタイムの実行

実行時には、埋め込みモデルを使用してユーザーのクエリをベクトルに変換します。次に、ドキュメントベクトルとユーザークエリベクトルを比較して、ベクトルインデックスをクエリしてユーザークエリの検索対象に意味的に類似したチャンクを検索します。最後のステップでは、ベクトルインデックスから取得したチャンクの追加コンテキストがユーザープロンプトに追加されます。その後、追加のコンテキストと共にプロンプトがモデルに送信され、ユーザーへのレスポンスが生成されます。以下の画像は、RAG が実行時にどのように動作してユーザークエリへのレスポンスを補強するかを示しています。

実行時の検索拡張生成