【新機能】Knowledge Bases for Amazon BedrockにWeb上のコンテンツデータを読み込ませる
2024-07-11
azblob://2024/07/11/eyecatch/2024-07-11-knowledge-bases-for-amazon-bedrock-additional-data-connectors-in-web-crawler-000.png

こんにちは、株式会社FIXER@東京の村上滉樹です!

AWS Summit New York 2024の基調講演で、生成AI技術に関するたくさんの発表がありました🎉 Amazon BedrockやAmazon Qの機能拡張に加え、自然言語によるアプリケーション開発を実現する「AWS App Studio」の登場などが紹介されましたね。

本ブログでは、これらの新機能の中から特に興味深い「Knowledge Bases for Amazon Bedrock」に焦点を当てます。講演の中で新たにデータコネクトとして追加された「Web Crawler」により、WEB上にあるコンテンツデータをRAG(Retrieval-Augmented Generation)に登録して、Amazon Bedrockで利用できます。

AWSマネジメントコンソールから実装方法と生成精度について書いていきます。

AWS News BlogKnowledge Bases for Amazon Bedrock now supports additional data connectors (in preview)

■実装方法

1.ナレッジベースを作成する

Amazon Bedrock コンソールにアクセスして、「ナレッジベース」を押下します。

1-1.ナレッジベースの詳細を入力

項目本ブログで紹介する設定値
ナレッジベース名適当な名前を付ける
IAM許可「新しいサービスロールを作成して使用」を選択
Choose data source「Web Crawler」を選択

1-2.データソースを設定

Sync scope では、登録したURLに対してどの階層まで深く読み込ませるか設定できます。特定のページやコンテンツを対象外にしたり、料金を最低限にしたりなどの要件がない限り、デフォルト値でもいいと思います。

項目本ブログで紹介する設定値
Data source name
適当な名前を付ける
Source URLs
RAGに登録したいURLを入力

1-3.埋め込みモデルを選択し、ベクトルストアを設定する

ベクトル次元の数値を増やすことにより、より多くの情報をBedrockにインプットするが可能です。ただし、数値を大きくする分、計算処理に時間がかかります(高次元)。簡単なテキスト検索や分類処理ぐらいであれば「256」や「512」などの低次元が最適化されるケースもあります。用途に合わせてチューニングしましょう。

項目本ブログで紹介する設定値
埋め込みモデル
好きなLLMを選択
ベクトルデータベース
「新しいベクトルストアをクイック作成」を選択

またベクトルDBでは、Amazon OpenSearchが構築されます。高性能インスタンスが複数台起動するため、料金には注意しましょう。サーバレスモデルなので検証目的ぐらいであれば安価ではありますが・・・

2.データソースを同期する

2-1.データソースをナレッジベースのワークスペースに同期する

明示的にデータソースを同期する必要があります。
(スクショの撮りミスで同期ボタンが非活性化になっていますが、ラジオボタンを選択すると活性化します)

また、コンテンツのデータ量にもよりますが、同期にかかる時間は少し長いです。本ブログでは弊社の公式HPを登録したのですが、10分ほどかかりました。

2-2.LLMを指定する

本ブログでは、Claude 3 Sonnnet を利用します。

■RAGありとRAGなしで実検証してみた

Q. 株式会社FIXER はどのような会社ですか?

  • RAGあり(Web Crawler)in Claude 3 Sonnet

  • RAGなし in Claude 3 Sonnet

Q. 株式会社FIXERが提供する「cloud.config」とはどのようなサービスですか?

  • RAGあり(Web Crawler)in Claude 3 Sonnet

  • RAGなし in Claude 3 Sonnet

■最後に

最後まで読んでいただき大変ありがとうございます。

RAGいいですね〜 クラウドサービスを自分で育てている実感があるので私は好きです。

従来ではS3バケットにCSVやPDFをアップロードして、OpenSeatch などでデータ分析するしか方法はなかったですが、今回のアップデートでWeb URLだけで登録できるようになりました。

他にもSharePointやSalesforceなどの有名なSaaSのコンテンツデータも登録できるため、ご利用を検討くださいませ!