7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon BedrockのKnowledge BasesでノーコードRAG構築を行う

7
Last updated at Posted at 2026-03-05

はじめまして。

ソーイ株式会社1年目の村上です。

最近、GoogleのNotebookLMをはじめとするRAG(検索拡張生成)を活用したツールが非常に便利で、日々の情報整理に欠かせなくなっています。

こうした仕組みを自作できないかと調べていたところ、AWSのAmazon Bedrock Knowledge Bases がノーコードでRAGを構築できることを知り、興味が湧きました。

今回はS3と連携させ、どこまで簡単に実用的なRAG環境が作れるのか、実際に手を動かして検証してみました。

先に結論を述べるとUIをポチポチするだけで約20分でRAG環境が作れたことは素晴らしいと感じました。しかし、実際動かしてみるとプロンプトの工夫や設定のチューニングが必須であると感じてしまう結果となりました。

全体構成

以下の図は、今回のノーコードRAG構築におけるデータの流れと、各サービス間の権限(IAM)の関係を表したものです。
Qiita記事 ノーコードRAG.drawio.png

使用するサービス

Amazon S3
データを安全に保存するクラウドストレージを提供するサービスです。
今回はRAGが知識として利用するドキュメントファイルを保管する用途に使用します。

Amazon Bedrock
複数の高性能AIモデルをAPI経由で利用できる基盤です。
今回はこれを使ってS3に保管されたデータを読み込みユーザーからの質問に対して、そのデータを元に回答を生成して返します。

今回RAGを構築するために、以下のモデル2つを有効化しました。
Titan Text Embeddings v2:埋め込みモデル
S3に置いたドキュメントを 「検索可能な数値データ(ベクトル)」 に変換する担当。
これがないと検索ができません。

Claude 3.5 Sonnet:LLM
検索された情報をもとに、自然な日本語で回答を生成する担当。
RAGの「頭脳」にあたります。

Step1 モデルへのアクセス許可設定

かつてAmazon Bedrockを使い始める際の最初の壁だったモデルの利用申請ですが、現在(2026年2月27日)は初回呼び出し時に自動で有効化されるようになり、手間が大幅に削減されました。

ただし、Anthropicのモデル(Claudeなど)を初めて使う場合のみ、ユースケース(利用目的)の簡単な入力が必要です。

補足 Claudeを使う場合

初めて開いたとき、モデルカタログで試しにClaudeで検索してみてください。
何も出ないはずです。
この時上にユースケースの申請をお願いする旨のバナーが表示されていると思います。
スクリーンショット 2026-03-01 135340.png

Submit use case detail を開くと入力欄が出てきます。
スクリーンショット 2026-03-01 133729.png

それぞれの入力欄ですが、
・Company name
会社の名前でも自分の名前でもよいです。

・Company website URL
会社のURLを貼るところですが、https://aws.amazon.com/でも通ります。

・What industry do you operate in?
用途を問うところです。Technology または Education を選択しました。

・Who are the intended users you are building for?
2択です。
Internal users = 個人開発や学習目的の検証
External users = 不特定多数の外部ユーザーや、クライアント(顧客)に公開する場合

・Describe your use cases(do not share any Personally Identifiable Information or Intellectual Property)
素直にClaudeを使いたい理由を記載してください。

数分経った後にモデルカタログ を見るとClaudeが追加されています。
image.png

注意

2026年3月現在、Amazon Bedrockを使用する際は同じ日本でも 「東京リージョン (ap-northeast-1)」 を選択することを強く推奨します。

「大阪リージョン (ap-northeast-3)」 だと選択できるモデルが極端に少なかったり(ClaudeTitanが選択できない)、そもそも 「ナレッジベース(RAG)」 自体フルサポートされていません。

詳しい話は下の対応表を確認してください。

モデルの動作確認

今回はClaude 3.5 Sonnet で行います。

モデルカタログ画面からモデル名をクリックして詳細画面に遷移します。
詳細画面のプレイグラウンドで開くというオレンジ色のボタンを押下します。
image.png

するとチャット画面が出てきます。
ここで会話してみます。

image.png

回答が返ってくれば成功です。

Step2 S3バケットの生成

AIが参照するファイルを置くためのストレージ(S3)を準備します。

まずS3を開き、バケットを作成します。
必ず 「アジアパシフィック (東京) ap-northeast-1」 を選択してください。
他の設定はデフォルトのままで大丈夫です。

スクリーンショット 2026-03-01 172131.png

作成したらバケットの中にPDFなどのファイルを入れましょう。
バケット一覧から作成したものを選択してその中にファイルを入れましょう。
今回は最近読んだ以下の論文を入れてみました。

Step3 ナレッジベースの作成手順(RAGの組み立て)

注意 ルートユーザーの場合

Amazon Bedrock のナレッジベース作成は、セキュリティ上の理由から 「ルートユーザー」での操作が禁止されています

そのため、IAMユーザーを作成し、それでログインし作成する必要があります。
admin-memberなどの名前にしてAdministratorAccessをつけて、そのIAMユーザーでログインをやり直してみましょう。

Amazon Bedrockのダッシュボードに戻って左メニューから 「ナレッジベース」 を選択し、 「ナレッジベースを作成」 から設定を行いましょう。

image.png

作成手順

作成を押下すると、選択肢が2つ出ます。

image.png

Unstructured (非構造化)
これはPDF、Word、テキストファイル、ウェブページなど、決まった形式のない文章データを扱う際に選択します。
論文やレポートをそのまま読み込ませるRAGの標準スタイルです。

Structured (構造化)
データベース、JSON、CSVなど、特定のルールで整理されたデータを扱う際に選択します。
データベースの数値を集計させたり、特定のカタログ情報を参照させたりする場合に使います。

今回使うのはUnstructured (非構造化) です。

名前は好きなように、IAMは 「新しいサービスロールを作成して使用」 にチェックを入れましょう。

image.png

データソースは Amazon S3 を選択してください。

image.png

次へを選択して次のページへ進みます。
S3のURLという項目には先ほど追加したバケットを選択します。

image.png

他はデフォルトでいいため次へ。
モデルの選択とベクトルストアを設定します。
ここで選択するモデルは埋め込みモデルのTitan Text Embeddings v2です。
ベクトルストアは クイック作成を選択し、Amazon OpenSearch Serverlessを選択。

image.png

次へ進むとこれまで設定した内容の確認画面が出るため内容を確認しOKであれば ナレッジベースを作成 を押下し作成を待つ。

RAG動作確認

作成したナレッジベースの画面で下の方にある データソース の項目を確認。データの同期を行う必要があります。
追加されたデータソースリストの横にある 同期 (Sync) ボタンをクリックしてステータスが完了になるまで待ってください。

今回自分が入れた資料は500kb前後ですが、同期まで10秒ほどかかりました。
image.png

完了したら、同じ画面の右側に ナレッジベースをテスト というパネルがあります。
モデルを選択 を押し、Claude 3.5 Sonnet を選びます。
あとはチャット欄にファイルの中身に関して質問を行いましょう。

実際に動作させた感想

試しに質問を投げてみました。

この論文の結論を簡潔にまとめて

image.png
画像のように返されてしまいました。

次に少し詳しく記入してみます。

検索結果に表示されている[1][2]などの資料は、すべて同一の論文『The Imperfective Paradox in Large Language Models』の断片です。これらを統合して、この論文の主要な結論を一つの文章として日本語でまとめてください。

image.png
うまくいきました。

これをNotebookLMで行ってみます。
image.png
一発で行けましたね。

詳しく明示しないと動かないのは、まさに性能が良いからこその 「ガードレールの固さ」 と考えることもできますね。

NotebookLM = 優秀な秘書(意図を推理し、とりあえず仕事をしてくれる)
Bedrock = 厳格な専門職(定義が曖昧な仕事は、ミスを防ぐために質問を重ねる)

私個人としてはレスポンス内容の質から判断して次の質問を行いたいのでとりあえず出力してくれるもののほうが嬉しいですね。

なお、チャンキング設定を変更すると、検索対象となるテキストの分割粒度が変化するため、検索結果のヒット範囲や生成時に参照されるコンテキストが変わり、回答内容や精度に影響する可能性があります。

チャンキングサイズを変えた場合の出力比較も検証したかったのですが、1回の金額が高く今回は泣く泣く検証を見送りました。

まとめ

今回は Amazon Bedrock のナレッジベース機能を使い、ノーコードでRAG環境を構築してみました。

UI操作だけで約20分ほどでRAG環境を構築できる点は非常に魅力的で、技術的ハードルは想像以上に低いと感じました。

一方で、今回の検証ではわずか3回のレスポンス生成で約14ドルのコストが発生しました。
埋め込み生成、ベクトルストア(Amazon OpenSearch Serverless)、LLM推論がそれぞれ課金対象となるため、検証段階でも想像以上にコストがかかりました。
特にベクトルストアだけで14ドルかかってました。結構びっくりです。チャンキングの設定などを触ってもっと検証したかったのですがさすがにコストがかかりすぎたためここで止めました。
image.png

NotebookLMのような完成度の高い無料ツールと比較すると、コスト面では明確な差があります。

しかしAWSで構築する最大のメリットは、他サービスとの統合性と厳密な権限管理にあります。
例えば Amazon CloudWatch Logs のログを Amazon S3 に集約しRAG化すれば、「過去に同様のエラーが発生していたか」といった検索を安全に社内限定で実現できます。

つまり、個人利用ではNotebookLM、組織利用ではAWSという住み分けが現実的だと感じました。

作るのは簡単。しかし、実用化するには設計力とコスト設計が必要。
それが今回の最大の学びでした。

AIの進化は非常に速く、AWSのサービスも日々アップデートされています。進化に振り落とされないよう、今後も実際に触れながら検証を続けていきたいと思います。

お知らせ

技術ブログを週1〜2本更新中、ソーイをフォローして最新記事をチェック!
https://qiita.com/organizations/sewii

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?