AWS Certified Generative AI Developer - Professional 資格対策コース
チャンキング・ハイブリッド検索・リランキング・クエリ拡張・FM 連携
このレッスンで学ぶこと 対応試験ドメイン D1 タスク 1.5.1・1.5.3〜1.5.6(検索メカニズムの設計)。チャンキング戦略・ハイブリッド検索・リランキング・クエリ拡張・FM 連携を、Amazon OpenSearch Service・Amazon Aurora pgvector・Amazon Bedrock のリランカー・Amazon Kendra を使い分けて設計できるようになります。
解説
RAG の検索精度は、埋め込みモデルだけでなく検索メカニズムの設計で決まります。資格試験では、チャンキングから FM 連携までの一連の判断が問われます。
チャンキング戦略(1.5.1)
ドキュメントをどの粒度で分割するかがチャンキングです。チャンクが大きすぎると検索精度が落ち、小さすぎると文脈が分断されます。固定長・意味単位(semantic)・階層(hierarchical)などの戦略を要件に合わせて選びます。Amazon Bedrock Knowledge Bases はこれらのチャンキング戦略を設定で選べます。
ハイブリッド検索(1.5.3)
ハイブリッド検索は、ベクトル検索(意味的類似)とキーワード検索(語彙一致)を組み合わせる手法です。固有名詞や型番のような語彙一致が重要なクエリと、言い換えに強い意味検索の両方の長所を取れます。Amazon OpenSearch Service はベクトルとキーワードの両方を扱えるためハイブリッド検索の主力です。
リランキング(1.5.4)
一次検索で取った候補を、関連度で並べ替え直すのがリランキングです。Amazon Bedrock のリランカー(reranker)モデルで、クエリと各候補の関連度を再評価し、上位だけを FM に渡します。これにより、ベクトル検索だけでは拾いきれない関連性の精度を底上げできます。
クエリ拡張(1.5.5)
ユーザーの曖昧なクエリを、同義語追加・分解・言い換えで拡張して検索ヒット率を上げる手法です。FM にクエリを書き換えさせる、複数サブクエリへ分解するなどの方法があります。
FM 連携(1.5.6)
検索結果を FM のコンテキストに注入して回答を生成します。注入するチャンク数や順序、出典の併記などが回答品質と検証可能性を左右します。
Python
import boto3
agent_rt = boto3.client("bedrock-agent-runtime")
# RetrieveAndGenerate で検索〜FM 生成を一括(リランクや出典付与も統合)
resp = agent_rt.retrieve_and_generate(
input={"text": "返品ポリシーを教えて"},
retrieveAndGenerateConfiguration={
"type": "KNOWLEDGE_BASE",
"knowledgeBaseConfiguration": {
"knowledgeBaseId": "KB12345",
"modelArn": "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0",
},
},
)
print(resp["output"]["text"])試験で問われるポイント
- ハイブリッド検索とベクトル検索単体は使い分ける。型番・固有名詞の語彙一致が効くクエリではハイブリッドが優位。意味検索だけだと語彙一致を取りこぼす
- リランキングは「一次検索の候補を関連度で並べ替える」段階。Amazon Bedrock のリランカーを使い、上位だけ FM に渡す。一次検索の埋め込みモデルと混同しない
- Amazon Kendra と Amazon Bedrock Knowledge Bases は似て非なるもの。コネクタ豊富なエンタープライズ検索が Kendra、Bedrock 統合のベクトル RAG が Knowledge Bases。要件が「多数の SaaS をコネクタで横断検索」なら Kendra
- チャンキングが大きすぎ・小さすぎは典型的な精度劣化原因。戦略を要件で選ぶ
- 試験で問われるのは AWS のどの仕組みで検索精度を上げるかである
サービスの使い分け早見表
| やりたいこと | 使うもの | 混同しやすいもの |
|---|---|---|
| ベクトル + キーワードのハイブリッド検索 | Amazon OpenSearch Service | ベクトル検索単体(語彙一致を取りこぼす) |
| 一次検索候補を関連度で並べ替え | Amazon Bedrock のリランカー | 埋め込みモデル(一次検索のベクトル化が役割) |
| 多数の SaaS をコネクタで横断検索 | Amazon Kendra | Knowledge Bases(Bedrock 統合の RAG 向き) |
| 検索〜FM 生成を一括 | Bedrock RetrieveAndGenerate | Retrieve のみ(生成は別途必要) |
まとめ
検索メカニズム設計は、要件に合うチャンキング戦略を選び、OpenSearch でハイブリッド検索を行い、Amazon Bedrock のリランカーで候補を並べ替え、クエリ拡張でヒット率を上げ、FM へ出典付きで注入することが核心です。各段階で使う AWS の仕組みの違いが試験で問われます。
次のステップ
次のクイズレッスンで、本番形式のシナリオ問題に挑戦して検索メカニズム設計の判断力を確認しましょう。
関連レッスン
- ベクトルストア設計とメタデータ・同期(pro-vector-store-design)
- Titan Embeddings と埋め込みソリューション選定(pro-embedding-titan)
- ハルシネーション低減と contextual grounding(pro-hallucination-guard)