[AWS]BedrockのRAGとKendra

TIPS
TIPS

Amazon BedrockのRAGとKendraの関係は、これらは競合するサービスではなく、強力なRAGアプリケーションを構築するために連携・補完しあう関係です。

一言で言うと、Kendraが優秀な「検索担当(Retriever)」、Bedrockが優秀な「文章生成担当(Generator)」の役割を担います。

各サービスの役割

1. Amazon Kendra:インテリジェントな「検索エンジン」

Kendraは、エンタープライズ向けの高度な検索サービスです。その主な役割は、膨大なドキュメントの中から、ユーザーの質問に最も関連性の高い箇所を正確に見つけ出す(Retrieval)ことです。

Kendraの主な強み:

  • 豊富なコネクタ: Amazon S3だけでなく、SharePoint, Confluence, Salesforce, Webサイトなど、多様なデータソースに簡単に接続できます。
  • ハイブリッド検索: 近年のAI検索で主流の「セマンティック検索(意味の類似性での検索)」と、従来の「キーワード検索」を組み合わせた高精度な検索が可能です。
  • 読解力とランキング: ドキュメント全体から、質問に対する直接的な答えとなりうる箇所を賢く抽出し、関連性の高い順に並べ替える能力に長けています。

2. Amazon Bedrock:高性能な「文章生成エンジン」

Bedrockは、様々な高性能な基盤モデル(LLM)を利用できるサービスです。RAGにおける主な役割は、Kendraが見つけてきた情報を元に、自然で分かりやすい対話形式の文章を生成する(Generation)ことです。

Bedrockの主な強み:

  • 多様なモデル選択: AnthropicのClaudeシリーズなど、最先端のLLMを要件に応じて選択できます。
  • 文脈理解と要約: 複数の情報(コンテキスト)を統合し、矛盾のない一貫した文章として要約・生成する能力に優れています。
  • 柔軟なプロンプト設計: ユーザーの意図に合わせて、回答のトーンや形式を細かく制御できます。
[AWS]BedrockのRAGとKendra
[Clef]Cloudflareの判断モデル
Cloudflareが発表した意思決定特化型モデル「Clef」を解説。従来のLLMが抱える遅延や出力のゆらぎを、非自己回帰設計による超低レイテンシと型安全な確率出力で解決し、エージェントの分岐判断を高速化する技術的特徴を紹介します。

RAGにおけるKendraとBedrockの連携プロセス

Kendraを検索エンジンとして利用したRAGアプリケーションは、一般的に以下のように動作します。

  1. ユーザーからの質問: ユーザーがアプリケーションに自然言語で質問します。
  2. Kendraによる検索: アプリケーションは、その質問をまずKendraに送ります。
  3. 関連情報の取得: Kendraはインデックス化されたデータソースを横断的に検索し、質問に最も関連するドキュメントの断片(テキスト)を複数、出典元情報と共に返します。
  4. プロンプトの構築: アプリケーションは、Kendraから受け取ったテキストを「コンテキスト情報」として、ユーザーの元の質問と組み合わせ、BedrockのLLMへのプロンプトを作成します。
  5. Bedrockによる回答生成: Bedrockは、そのプロンプトを受け取り、提供されたコンテキスト情報のみに基づいて、自然な対話形式の回答を生成します。
  6. 最終的な回答の提示: 生成された回答と、Kendraが提供した出典元リンクをユーザーに提示します。
[AWS]BedrockのRAGとKendra
[Embedding Gemma 2]740M軽量マルチモーダル
Googleの軽量マルチモーダルモデル「Embedding Gemma 2 (740M)」を徹底解説。テキスト・画像・音声を同一ベクトル空間に写像する仕組みや、Matryoshkaによる次元削減、実運用での注意点(画像バイアスやCPU処理速度)を技術的に深掘りします。

BedrockのネイティブRAG機能との違い

ここで重要になるのが、Bedrock自体にも「Knowledge Bases for Amazon Bedrock」というネイティブのRAG機能がある点です。この機能もKendraと同様に検索(Retrieval)の役割を担います。

どちらを検索エンジンとして使うかは、要件によって選択します。

比較項目Amazon KendraKnowledge Bases for Amazon Bedrock
主な役割高度な検索(Retrieval)検索(Retrieval)と生成(Generation)の統合
検索タイプハイブリッド検索(キーワード+セマンティック)セマンティック検索(ベクトル検索)が中心
データソース非常に豊富(S3, SharePoint, Webクローラ等)Amazon S3が中心
適した用途多様なデータソースがあり、キーワード検索も重要なエンタープライズ検索S3に集約されたドキュメントで、セマンティック検索を迅速に構築したい場合
設定の容易さ高機能な分、設定項目は多めBedrockと緊密に統合されており、シンプルに構築可能

まとめ

  • KendraとBedrockは連携するパートナーです。 Kendraが最高の検索結果を見つけ、Bedrockがその結果を元に最高の文章を生成します。
  • RAGの「検索」部分を担うものとして、高度で多機能な「Kendra」を選ぶか、シンプルでBedrockと統合された「Knowledge Bases for Bedrock」を選ぶか、という選択肢があります。
  • 要件が複雑でデータソースが多様な場合はKendraを、S3中心で迅速に構築したい場合はKnowledge Bases for Amazon Bedrockを選択するのが一般的なアプローチです。
Q よくある質問 (FAQ)
Q. Amazon KendraとKnowledge Bases for Amazon BedrockのどちらをRAGの検索エンジンに選ぶべきですか?
A.
SharePointやSalesforceなど多様なデータソースがあり、キーワード検索も併用したいエンタープライズ用途ではKendraが適しています。データソースがS3中心で、シンプルかつ迅速に構築したい場合はKnowledge Bases for Amazon Bedrockが最適です。
Q. KendraをRAGの検索エンジン(Retriever)として使うメリットは何ですか?
A.
豊富なコネクタにより多様なデータソースに容易に接続できる点、および「セマンティック検索」と「キーワード検索」を組み合わせた高精度なハイブリッド検索が可能な点です。

コメント

タイトルとURLをコピーしました