AWSの生成AI、Amazon Bedrockで簡単にRAGシステムを構築する方法
はじめに
株式会社トラスト、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:ファウンデーションモデル)と呼ばれる、膨大なデータに基づいて事前にトレーニングされた大規模モデルを搭載
AWSBedrockコンソール画面から抜粋
2.RAGとは?
RAGとはRetrieved Augmented generationの略
Retrieve(検索):外部データをもとに作成されたナレッジベースから、質問(入力クエリ)に関連する情報を検索・取得する機能。
Generation(生成):検索された関連情報と入力クエリを組み合わせ、LLMを用いてそれらに基づく出力を生成する機能。
⇒RAGはRetrieve(検索)とGeneration(生成)を組み合わせることで、幅広い独自のデータを有効活用しながら、高品質な回答を生成するアプローチ。
例:社内文書とLLMを組み合わせて、社内文書を検索・要約する。
3.RAGシステム構築のおおまかな手順
- モデルアクセスを有効化する
- ナレッジベースを作成する
- コンソールからテストする
これだけです。さっそく構築していきましょう!
4.モデルアクセスを有効化する
※リージョンはオレゴン(us-west-2)にしています。東京(ap-northeast-1)だとアクセスできるベースモデルが少ないです。2024年時点で6つのみ。
使用したいモデルにチェックを入れてNextをクリック
Submitをクリックするとモデルが利用可能となります。
5. ナレッジベースを作成する
まず、s3バケットを作成し、資料を格納します。
任意のバケット名を入力し、作成。
検索したい文書をアップロードする。
今回は弊社サービスの金のタネ|挑戦する中堅・中小企業のためのトラストのモノ・コト・夢づくり 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
ナレッジベースと接続する。
任意のナレッジベース名を入力して次へ。
先ほど作成したs3バケットと紐づける。
埋め込みモデルで「Titan Text Embeddings V2」を選択、「新しいベクトルストアをクイック作成 – 推奨」を選択し、次へ。
確認したら、ナレッジベースを作成をクリック。
これで自動でベクトルデータベースを作成してくれます。
作成には数分かかるため、待機。
作成が完了すると、「ナレッジベースをテスト」ウィンドウが表示されます。
こちらでテストを行います。
6.コンソールからテストする
「モデルを選択」をクリックし、「モデルアクセスを有効化」手順で有効化したモデルを選択します。
ナレッジベースのデータを同期します。
同期完了後、赤丸部分のアイコンをクリック。
RAGモデルの調整画面が表示されます。
金のタネについて質問してみます。
サービスの概要を正しく認識し要約してくれていますね。ソースの詳細を表示をクリックすると、参考にしたナレッジベースのソースが表示されます。
7.お片付け
ナレッジベースはOpen Search Serviceが使われているため、作成されたベクトルデータベース毎にコストがかかります。ハンズオンのみが目的の場合は削除することをお勧めします。
Open Search Serviceのコレクションも削除。
以上、AWSの生成AI、Amazon Bedrockで簡単にRAGシステムを構築する方法でした!
8.最後に
トラストではAI、IoTシステムのコンサル・開発を行っています。
社内文書検索を作成したい!RAGシステムを構築したい!などご要望がありましたら、お気軽にお問い合わせください。