Amazon Bedrock ナレッジベースとは
Amazon Bedrock ナレッジベースとは、AWS が提供するマネージド RAG(Retrieval-Augmented Generation)サービスであり、独自データを LLM に連携させた高度な AI アプリケーションを数分で構築できる。Amazon S3 に保存された文書を自動的にベクトル化し、セマンティック検索と生成をシームレスに統合する。

図:Amazon Bedrock ナレッジベースの全体像
Bedrock ナレッジベース導入企業の RAG 開発期間が平均 75% 短縮(2025年 AWS サービス調査、n=80)
Bedrock ナレッジベースの核心機能
1. データソース自動接続
対応データソース:
– Amazon S3(テキスト、PDF、Office ドキュメント)
– Web クローラー(ウェブサイトから取得)
– SharePoint(オンプレミス/クラウド)
– Confluence、Atlassian
2. 自動ベクトル化
- テキスト抽出:PDF、Word、PPT、Markdown など40+形式対応
- チャンキング:文書を適切なサイズに分割
- エンベディング:Amazon Titan Embeddings または他のモデルでベクトル化
- メタデータ抽出:タイトル、作成者、最終更新日などを自動抽出
3. セマンティック検索
キーワード完全一致ではなく、意味的な類似性に基づく検索を実現。
– 日本語対応:日本語のニュアンスを理解
– ハイブリッド検索:ベクトル検索 + キーワード検索の組合せ
– 再ランク付け:検索結果の精度向上
4. LLM との統合
検索結果をコンテキストとして LLM に渡し、回答生成を実現。
対応モデル:
– Anthropic Claude 3.5 Sonnet / Haiku
– Amazon Titan モデル
– Mistral AI
– Llama 3

図:Bedrock ナレッジベースで対応している LLM モデル
Bedrock ナレッジベース構築ステップ
STEP 1:データソースの準備
Amazon S3 に文書をアップロードする。
推奨構造:
s3://your-bucket/documents/
├── manuals/ # マニュアル類
├── faq/ # FAQ
├── policies/ # 方針・規程
└── project/ # プロジェクト文書
対応ファイル形式:
– テキスト:TXT、MD、CSV
– ドキュメント:PDF、DOCX、PPTX
– Web:HTML、XML
STEP 2:ナレッジベースの作成
AWS マネジメントコンソールまたは AWS CLI で作成。
コンソールの場合:
1. Amazon Bedrock コンソールを開く
2. 左メニュー「Knowledge base」を選択
3.「Create knowledge base」をクリック
4. 名前と説明を入力
5. データソース(S3)を選択
6. エンベディングモデルを選択
CLI の場合:
aws bedrock-agent create-knowledge-base \
--name "my-kb" \
--description "社内文書検索用" \
--roleArn "arn:aws:iam::123456789012:role/BedrockRole" \
--knowledgeBaseConfiguration "{\
\"type\": \"VECTOR\", \
\"vectorKnowledgeBaseConfiguration\": {\
\"embeddingModelArn\": \"arn:aws:bedrock:us-east-1::embedding-model/amazon.titan-embed-text-v1\"\
}\
}" \
--storageConfiguration "{\
\"type\": \"OPENSEARCH_SERVERLESS\", \
\"opensearchServerlessConfiguration\": {\
\"collectionArn\": \"arn:aws:aoss:us-east-1:123456789012:collection/my-collection\"\
}\
}"
STEP 3:データソースの同期
ナレッジベース作成後、データソースを同期する。
- 同期頻度: 自動(30分〜24時間)または手動
- 増分同期: 追加・更新されたファイルのみ処理
- 同期ステータス: コンソールまたは API で確認

図:Bedrock ナレッジベースのデータ同期フロー
AWS 以外の環境でもナレッジベースを構築したい方へ
オンプレミス対応の RAG ソリューション
STEP 4:検索と生成の実装
Bedrock Agent または API で検索・生成を実装。
Retrieve API:
import boto3
client = boto3.client('bedrock-agent-runtime')
response = client.retrieve(
knowledgeBaseId='KB-ID',
retrievalQuery={
'text': '有給休暇の取得方法は?'
},
retrievalConfiguration={
'vectorSearchConfiguration': {
'numberOfResults': 5
}
}
)
RetrieveAndGenerate API:
response = client.retrieve_and_generate(
input={
'text': '有給休暇の取得方法を教えて'
},
retrieveAndGenerateConfiguration={
'type': 'KNOWLEDGE_BASE',
'knowledgeBaseConfiguration': {
'knowledgeBaseId': 'KB-ID',
'modelArn': 'arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-sonnet-20240229-v1:0'
}
}
)

図:RetrieveAndGenerate API の実装例
Bedrock ナレッジベースのアーキテクチャ
システム構成図
┌─────────────────────────────────────────────────────────┐
│ ユーザーアプリ │
└─────────────────────┬───────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Amazon Bedrock Agent Runtime │
│ ┌─────────────┐ ┌─────────────────────────────┐ │
│ │ Retrieve │───→│ Knowledge Base Retrieval │ │
│ │ & Generate │ │ (Vector Search + Filter) │ │
│ └──────┬──────┘ └──────────────┬──────────────┘ │
└─────────┼──────────────────────────┼───────────────────┘
│ │
▼ ▼
┌─────────────────────┐ ┌────────────────────────────┐
│ Bedrock LLM │ │ Amazon OpenSearch │
│ (Claude / Titan) │ │ Serverless (Vector DB) │
└─────────────────────┘ └──────────────┬─────────────┘
│
▼
┌─────────────────┐
│ Amazon S3 │
│ (Documents) │
└─────────────────┘
コンポーネント詳細
| コンポーネント | 役割 | 選択肢 |
|---|---|---|
| エンベディングモデル | テキスト→ベクトル変換 | Amazon Titan、Cohere |
| ベクトルデータベース | ベクトルの保存・検索 | OpenSearch Serverless、Pinecone、Redis |
| LLM | 回答生成 | Claude、Titan、Mistral |
| Orchestrator | 全体制御 | Bedrock Agent |

図:Bedrock ナレッジベースのコンポーネント選択肢
コスト最適化
料金体系(2026年5月時点)
| リソース | 料金 |
|---|---|
| エンベディング | $0.0001/1K tokens(Titan) |
| ベクトル検索 | $0.01/1,000リクエスト |
| LLM 呼び出し | モデルにより変動 |
| OpenSearch | CUH 時間単位($0.24〜) |
💰 コスト最適化のベストプラクティス→
コスト削減事例を見る
コスト削減のポイント
1. 適切なチャンキング
– 小さすぎる:エンベディング回数増加
– 大きすぎる:検索精度低下
– 最適:500〜1000文字
2. キャッシュ活用
– 頻出質問の結果をキャッシュ
– TTL 設定で鮮度を維持
3. データソースの最適化
– 不要な文書を除外
– 重複コンテンツの削除
– 定期的なクリーンアップ
4. モデル選択
– 簡易な質問:Claude Haiku(低コスト)
– 複雑な推論:Claude Sonnet(高精度)
適切な最適化で RAG コストを平均 60% 削減可能(2025年 コスト最適化調査)

図:Bedrock ナレッジベースのコスト最適化ポイント
ベストプラクティス
1. データ品質の確保
- 構造化された文書を使用
- メタデータを充実させる
- 定期的な品質チェック
2. セキュリティ対策
- VPC エンドポイント使用
- データ暗号化(S3、OpenSearch)
- IAM ロールで最小権限付与
- CloudTrail での監査
3. パフォーマンス最適化
- 適切な numberOfResults 設定(3〜10)
- フィルタリング活用(メタデータベース)
- レイテンシモニタリング
4. 運用管理
- データソースの同期スケジュール設定
- アラート通知(失敗検知)
- 定期的な評価と改善
限界と注意点
Bedrock ナレッジベースの限界
| 項目 | 制約 | 対策 |
|---|---|---|
| データソース | 主に S3、特定サービスのみ | カスタムコネクタ開発 |
| リージョン | 東京リージョンで一部制限 | us-east-1 利用を検討 |
| カスタマイズ | マネージド機能に依存 | オンプレミス RAG も検討 |
| コスト | 従量課金で増加傾向 | コスト最適化必須 |
導入前に確認すべき点
- 既存システムとの連携: 既存のドキュメント管理システムとの連携方法
- セキュリティ要件: データの保管場所、暗号化方式
- コスト予算: 使用量に応じたコスト見積もり
- 運用リソース: データ更新、障害対応の体制
よくある質問
Bedrock ナレッジベースと Amazon Kendra の違いは?
Kendra はエンタープライズ検索に特化しており、ナレッジベースは RAG 向け。用途によって選択が異なります。
日本語対応状況は?
エンベディングモデル(Titan Embeddings)は日本語対応。検索精度は実用レベルですが、専門用語などでは追加チューニングが必要な場合があります。
オンプレミスのデータは扱えますか?
直接接続はできませんが、安全な方法で S3 にデータを転送すれば使用可能です。厳格な要件ではオンプレミス RAG ソリューションも検討しましょう。
複数のナレッジベースを統合できますか?
可能です。複数の KB を検索対象にしたり、クロスリポジトリ検索を実装したりできます。
評価版はありますか?
Bedrock 自体に無料枠はありませんが、各モデルに無料枠が存在。ナレッジベース機能もトライアル可能です。
まとめ
Amazon Bedrock ナレッジベースは、RAG アプリケーションを迅速に構築できる強力なサービスです。
主なメリット:
– サーバーレスで運用負荷が低い
– AWS サービスとの統合が容易
– 複数の LLM に対応
留意点:
– コスト管理が重要
– カスタマイズには限界
– オンプレミス要件には不向き
Bedrock ナレッジベース導入企業の 92% が RAG 開発の短期化に成功(2025年導入調査)
組織の要件に合わせて、Bedrock ナレッジベースと他の RAG ソリューションを比較検討することをおすすめします。
関連記事:
– RAG ナレッジベースの仕組みと構築
– 生成 AI ナレッジベース完全ガイド
– ChatGPT を活用したナレッジベース構築
– Dify ナレッジベースの活用方法
– ナレッジベース ツール比較10選


