AWSユーザーで生成AIを使って社内情報活用 RAGの構築は難しくない:サクッと生成AI業務活用ガイド(4)(1/2 ページ)
「RAG」という技術を使い、多くの企業が社内情報の活用に取り組んでいます。一方で、「難しそう」と尻込みしている人も多いのではないでしょうか。今回は利用者の多いAWSで、コードを書くことなく簡単にRAGを構築する方法を紹介します。
社内文書や製品マニュアルをはじめとする独自データに基づく回答を生成する「RAG(Retrieval-Augmented Generation)」システムは、多くの企業にとって魅力的な選択肢です。一方で、構築には専門知識やインフラコストが壁として立ちはだかります。
前回の記事では、Google Cloudで簡単にRAGが構築できることを紹介しました。今回は、利用している企業が多いAmazon Web Services(AWS)にフォーカスして、同じようにRAGを構築してみます。
※ ここでは、AWSおよびAmazon Bedrock自体の解説や利用開始方法については触れません。
Amazon BedrockのKnowledge BasesでRAGを構築する
前回記事でも触れましたが、生成AIの自前構築にはLLM(大規模言語モデル)の専門知識、インフラ構築、継続的なメンテナンスなど、多くの課題が伴います。「Amazon Bedrock Knowledge Bases」は、これらの課題を解決するために設計されたサービスです。
専門知識のハードルを低減: データソースを指定するだけで、情報の検索(リトリーバル)から回答生成まで、RAGシステムの根幹を成す複雑なプロセスを自動で構築してくれます。
高いセキュリティ: 入力されたデータは自社のAWSプロジェクト内で管理され、モデルの学習に利用されることはありません。これにより、機密情報の漏えいリスクを低減できます。
最新・高性能モデルの利用: Anthropicの強力な生成AIモデル(Claude Sonnet 4など)を、回答のジェネレーターとして簡単に利用できます。
今回も前回と同様に、船員法を例としたRAGアプリケーションを構築します。Amazon Bedrock Knowledge Basesで作成するアプリケーションは次のようなものになります(クリックでアニメーション表示)。
RAG構築の大まかな流れは、前回の「Vertex AI Search」によるRAG構築と同様です。
ナレッジの器を作る(データストアの作成):AIに参照させたい社内文書(PDFやHTMLなど)を「Amazon Simple Storage Service(Amazon S3)」にアップロードします。
検索アプリの作成と設定:次に、Knowledge Basesのコンソール上で、そのデータ群を「知識ソース」として指定し、数クリックで検索アプリケーションを作成します。
テストと確認:最後に、作成したアプリケーションのプレビューを通して確認をします。
作成後、プレビュー画面で動作確認が可能です。社内文書に関する質問を入力すれば、AIが内容を理解し、根拠となるドキュメントへのリンク付きで回答を生成します。
では、実際にRAGを構築していきましょう。基本的にはガイドに従って作成するだけです。Vertex AI Searchと同様、簡単にできると思います。
ステップ1 ナレッジの器を作る(データストアの作成)
最初にデータストア、つまりナレッジを格納する場所を作ります。今回は、Amazon S3のバケットをデータストアとして利用します。Amazon S3とは、ドキュメントやPDF、動画などを格納できる「Google Cloud Storage」と同様のファイルサーバです。
「バケットを作成」を選択すると、バケット情報登録画面が表示されるので、以下の要領でバケットの情報を入力します。
手順 | 項目 | 入力値(例) |
---|---|---|
一般的な設定 | AWSリージョン | ap-northeast-1 |
バケットタイプ | 汎用 | |
バケット名 | 任意 | |
オブジェクト所有者 | ACL | ACL無効 |
このバケットのブロックパブリックアクセス設定 | パブリックアクセスを全てブロック | オン(チェックする) ひも付くアクセス制御全てがオンになる |
バケットのバージョニング | バケットのバージョニング | 無効にする |
タグ-オプション | タグ | なし(タブを追加しない) |
デフォルトの暗号化 | 暗号化タイプ | Amazon S3マネージドキーを使用したサーバ側の暗号化(SSE-S3) |
バケットキー | 有効にする | |
詳細設定 | オブジェクトロック | 無効にする |
一通り入力して「バケットを作成」ボタンを押せば、バケットが作成されます。
作成したバケットを選択し、「アップロード」ボタンを選択します。すると、アップロードファイルの選択画面が表示されるので、ドキュメント一式を選択してアップロードして下さい。
ステップ2 検索アプリの作成と設定
次に、ユーザーが質問を入力し、AIが回答を生成するためのアプリケーションを作成します。
AWSのコンソール画面より「Amazon Bedrock」を選択し、その中から「ナレッジベース」を選択します。
「ナレッジベースを作成」欄の下側、もしくは一覧の右上にある「作成▼」ボタンを押すと「ベクトルストアを含むナレッジベース」と「構造化データストアを含むナレッジベース」のどちらかを選ぶことができます。今回は「ベクトルストアを含むナレッジベース」を選択します。
ナレッジベースを設定する画面に遷移するので、以下を参考に入力してください。
手順 | 項目 | 入力値(例) |
---|---|---|
ナレッジベースの詳細を指定 | ナレッジベース名 | (デフォルト値をそのまま利用) |
ナレッジの説明 | (任意) | |
IAM許可 | 新しいサービスロールを作成して使用 ※デフォルトのサービスロール名をそのまま設定 ※2025年7月31日現在、Amazon OpenSearch ServerlessのIAM設定はインラインポリシーでのみ設定可能 |
|
タグ | (新しいタグは追加しない) | |
ログ配信 | (追加しない) | |
データソースを設定 | データソース名 | (デフォルト値をそのまま利用) |
データソースの場所 | このAWSアカウント | |
S3のURI | ※「S3 を参照」 ボタンから先ほど作成したS3バケットを選択(リンクではなくラジオボタンを選択するよう気を付ける) | |
S3データ用のカスタマーマネージドKMSキーを追加 | オフ(チェックしない) | |
解析戦略 | Amazon Bedrockデフォルトパーサー | |
チャンキング戦略 | デフォルトチャンキング | |
変換関数 | (設定しない) | |
詳細設定 | (設定しない) | |
データストレージと処理を設定 | 埋め込みモデル | カテゴリ:Amazon モデル:Titan Text Embeddings V2 推論:オンデマンド |
ベクトルデータベース | ベクトルストアの作成方法:新しいベクトルストアをクイック作成 ベクトルストア:Amazon OpenSearch Serverless |
一通り入力してナレッジベースの作成を開始し、しばらく待つと作成が完了します。
Copyright © ITmedia, Inc. All Rights Reserved.