AWSの生成AI、Amazon Bedrockで簡単にRAGシステムを構築する方法
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/グループ-10931.png)
はじめに
株式会社トラスト、AWSソリューションアーキテクト兼AI・MLエンジニアの高宮です。
今回は、AWSの生成AIアプリ作成ツールであるAmazon Bedrockを使って簡単にRAGシステムを構築する方法をご紹介します。
この記事で扱う内容は以下の通りです。
目次
1.そもそもBedrockとは?
2.RAGとは?
3.RAGシステム構築のおおまかな手順
4.モデルアクセスを有効化する
5. ナレッジベースを作成する
6.コンソールからテストする
7.お片付け
8.最後に
9. 参考文献
1.そもそもBedrockとは?
- AWSが提供する生成AIアプリケーションを簡単に構築するためのツール
- 一般に基盤モデル(FM:ファウンデーションモデル)と呼ばれる、膨大なデータに基づいて事前にトレーニングされた大規模モデルを搭載
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-43.png)
AWSBedrockコンソール画面から抜粋
2.RAGとは?
RAGとはRetrieved Augmented generationの略
Retrieve(検索):外部データをもとに作成されたナレッジベースから、質問(入力クエリ)に関連する情報を検索・取得する機能。
Generation(生成):検索された関連情報と入力クエリを組み合わせ、LLMを用いてそれらに基づく出力を生成する機能。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-44.png)
⇒RAGはRetrieve(検索)とGeneration(生成)を組み合わせることで、幅広い独自のデータを有効活用しながら、高品質な回答を生成するアプローチ。
例:社内文書とLLMを組み合わせて、社内文書を検索・要約する。
3.RAGシステム構築のおおまかな手順
- モデルアクセスを有効化する
- ナレッジベースを作成する
- コンソールからテストする
これだけです。さっそく構築していきましょう!
4.モデルアクセスを有効化する
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-044835-1024x526.png)
※リージョンはオレゴン(us-west-2)にしています。東京(ap-northeast-1)だとアクセスできるベースモデルが少ないです。2024年時点で6つのみ。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-46.png)
使用したいモデルにチェックを入れてNextをクリック
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-045234-1024x263.png)
Submitをクリックするとモデルが利用可能となります。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-045307-1024x435.png)
5. ナレッジベースを作成する
まず、s3バケットを作成し、資料を格納します。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-051933.png)
任意のバケット名を入力し、作成。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-052000-1024x295.png)
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-052150-1024x348.png)
検索したい文書をアップロードする。
今回は弊社サービスの金のタネ|挑戦する中堅・中小企業のためのトラストのモノ・コト・夢づくり DXサービス のカタログをアップロードします。
対応しているデータ形式は以下です。
- md
- txt
- doc
- docx
- html
- csv
- xls
- xlsx
ファイルサイズは10mb未満。
File types: PDF, MD, TXT, DOC, DOCX, HTML, CSV, XLS, XLSX. There is a preset fixed token limit when using a file under 10MB.
Chat with your document data using the knowledge base – Amazon Bedrock
ナレッジベースと接続する。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-051257-1024x482.png)
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-051333-1024x407.png)
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-052745-1024x487.png)
任意のナレッジベース名を入力して次へ。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-052632-1024x386.png)
先ほど作成したs3バケットと紐づける。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-052836-1024x406.png)
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-052929-1024x505.png)
埋め込みモデルで「Titan Text Embeddings V2」を選択、「新しいベクトルストアをクイック作成 – 推奨」を選択し、次へ。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-053129-1024x610.png)
確認したら、ナレッジベースを作成をクリック。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-053227-1024x438.png)
これで自動でベクトルデータベースを作成してくれます。
作成には数分かかるため、待機。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-054017-1024x440.png)
作成が完了すると、「ナレッジベースをテスト」ウィンドウが表示されます。
こちらでテストを行います。
6.コンソールからテストする
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-054141-1024x347.png)
「モデルを選択」をクリックし、「モデルアクセスを有効化」手順で有効化したモデルを選択します。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-054209.png)
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-054341.png)
ナレッジベースのデータを同期します。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-054453.png)
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-055234.png)
同期完了後、赤丸部分のアイコンをクリック。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-055322-1024x530.png)
RAGモデルの調整画面が表示されます。
金のタネについて質問してみます。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-060422.png)
サービスの概要を正しく認識し要約してくれていますね。ソースの詳細を表示をクリックすると、参考にしたナレッジベースのソースが表示されます。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-060135-1024x471.png)
7.お片付け
ナレッジベースはOpen Search Serviceが使われているため、作成されたベクトルデータベース毎にコストがかかります。ハンズオンのみが目的の場合は削除することをお勧めします。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-060510-1024x409.png)
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-060526.png)
Open Search Serviceのコレクションも削除。
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-060757-1024x366.png)
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-060810.png)
![](https://trust-coms.com/mg/wp-content/uploads/2024/06/image-20240612-060838-1024x150.png)
以上、AWSの生成AI、Amazon Bedrockで簡単にRAGシステムを構築する方法でした!
8.最後に
トラストではAI、IoTシステムのコンサル・開発を行っています。
社内文書検索を作成したい!RAGシステムを構築したい!などご要望がありましたら、お気軽にお問い合わせください。