RAGとは

Retrieval Augmented Generation 検索拡張生成 大規模言語モデルにおいて、本来持たない外部情報を参照するようにして、大規模言語モデルの回答精度を高める仕組み

RAGを用いると

検索ベースの情報を取り入れることでより正確な回答を望むことができる 大規模言語モデルが持たない社内情報などを回答に含めることができる

Amazon Bedrockとは

AWSが提供する完全マネージド型生成AIサービスです

Amazon Bedrock は、Amazon やサードパーティのモデルプロバイダーの基本モデルに API を通じてアクセスできるようにする完全マネージド型サービスです。 アマゾン・ベッドロックとは?

Knowledge baseとは

Knowledge baseを使用すると、Amazon Bedrock の基盤モデル (FM) を Retrieval Augmented Generation (RAG) の会社データに安全に接続できます。 Knowledge Bases now delivers fully managed RAG experience in Amazon Bedrock

Knowledge baseを用いてRAGを行ってみる

以下の記事を参考に、Knowledge baseを使ってみました [アップデート] Amazon Bedrockで簡単にRAGが実現できる、Retrieval Augmented Generation (RAG) with Knowledge BaseがとうとうGAになりました!!

S3にデータソースを準備する

画像のようにファイルを配置しました image.png image.png

Knowledge baseを作成する

コンソールから[Create knowledge base]をクリックします image.png image.png image.png

名前:デフォルト IAMロール:新規作成 とします 必要な権限を有したポリシーを作成してくれます

[Next]をクリックし、次の画面でデータソースを設定します 作成したS3を選択します image.png

[Next]をクリックし、Vector storeを設定します (現在利用可能なのはTitan Embeddings G1-Text v1.2のみでした) [Quick create a new vector store(新規作成)]を選択します

image.png

新規作成をすると、Amazon OpenSearch Serviceにおいて、[コレクション]、[データアクセスポリシー]、[暗号化ポリシー]、[ネットワークポリシー] が作成されました

image.png

確認画面に遷移した後、[Create knowledge base]をクリックします

※作成が開始するとコンソール上部に青く案内が出ます。ダッシュボードに戻ってしまうと案内は消え、作成状況が全く分からない状態になる仕様なので気を付ける必要があります。

image.png

少し待つとknowledge baseが作成され、statusがreadyになりました image.png

knowledge baseは作成しましたが、これだけでは使用できないようです データソースとのSyncを行う必要があるので、[Datasource]から[Sync]を行います image.png

エラーが出ました image.png

現在の状況だと言語モデルが使用できない状態であるため、Amazon bedrockのコンソールから [Model access]をクリックし、右上の[Manage model access]をクリック、 使用する[Titan Embeddings G1]を選択し、[Save changes]をクリックしてアクセスステータスを有効にします。 image.png

再度Syncを行います

上手くいきました

image.png

テストを行ってみます テストにもテキスト生成するための言語モデルを使用するため、[Model access]から、日本語を扱うことができる AnthropicのClaudeを有効にします

ページ右上の[Test]をクリックし、テストを行います モデルは有効にしたClaudeを選択します image.png

チャット内容を入力し、[Run]をクリックします

データソースを元にした回答が返ってきました image.png

ソースに含まれない情報はハルシネーションを防ぐために答えないようにされています

image.png

終了時の注意点

knowledge baseを削除してもOpenSerch Serverlessで作成されたものは削除されないようなので、手動で削除するようにしてください image.png

終わりに

なにかミスなどあればコメントまでお願いします