Amazon Bedrock ナレッジベース完全ガイド|RAG 構築から活用まで

Amazon Bedrock ナレッジベースとは

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

Bedrockナレッジベース概念図
図: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対応モデル
図: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データソース同期
図:Bedrock ナレッジベースのデータ同期フロー

AWS 以外の環境でもナレッジベースを構築したい方へ
オンプレミス対応の RAG ソリューション


オンプレミス 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'
        }
    }
)

Bedrock RAG実装例
図: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コンポーネント構成
図: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コスト最適化
図:Bedrock ナレッジベースのコスト最適化ポイント

ベストプラクティス

1. データ品質の確保

  • 構造化された文書を使用
  • メタデータを充実させる
  • 定期的な品質チェック

2. セキュリティ対策

  • VPC エンドポイント使用
  • データ暗号化(S3、OpenSearch)
  • IAM ロールで最小権限付与
  • CloudTrail での監査

3. パフォーマンス最適化

  • 適切な numberOfResults 設定(3〜10)
  • フィルタリング活用(メタデータベース)
  • レイテンシモニタリング

4. 運用管理

  • データソースの同期スケジュール設定
  • アラート通知(失敗検知)
  • 定期的な評価と改善

RAG ナレッジベースの導入を検討中の方へ

AWS 以外の選択肢も含めて比較検討したい
オンプレミス対応、日本語最適化の RAG ソリューション


RAG ナレッジベースの詳細を見る →

限界と注意点

Bedrock ナレッジベースの限界

項目 制約 対策
データソース 主に S3、特定サービスのみ カスタムコネクタ開発
リージョン 東京リージョンで一部制限 us-east-1 利用を検討
カスタマイズ マネージド機能に依存 オンプレミス RAG も検討
コスト 従量課金で増加傾向 コスト最適化必須

導入前に確認すべき点

  1. 既存システムとの連携: 既存のドキュメント管理システムとの連携方法
  2. セキュリティ要件: データの保管場所、暗号化方式
  3. コスト予算: 使用量に応じたコスト見積もり
  4. 運用リソース: データ更新、障害対応の体制

よくある質問

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選

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール