Amazon BedrockからWeb上のコンテンツを参照する新機能「Web Crawler」
2024年08月13日 10時00分更新
こんにちは、株式会社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 Blog|Knowledge Bases for Amazon Bedrock now supports additional data connectors (in preview)
■実装方法
1.ナレッジベースを作成する
Amazon Bedrock コンソールにアクセスして、「ナレッジベース」を押下します。
1-1.ナレッジベースの詳細を入力
1-2.データソースを設定
Sync scope では、登録したURLに対してどの階層まで深く読み込ませるか設定できます。特定のページやコンテンツを対象外にしたり、料金を最低限にしたりなどの要件がない限り、デフォルト値でもいいと思います。
1-3.埋め込みモデルを選択し、ベクトルストアを設定する
ベクトル次元の数値を増やすことにより、より多くの情報をBedrockにインプットするが可能です。ただし、数値を大きくする分、計算処理に時間がかかります(高次元)。簡単なテキスト検索や分類処理ぐらいであれば「256」や「512」などの低次元が最適化されるケースもあります。用途に合わせてチューニングしましょう。
またベクトル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のコンテンツデータも登録できるため、ご利用を検討くださいませ!
この連載の記事
-
TECH
ヘルプデスク担当者が「Amazon Q in Connect」のすごさを分析する -
TECH
初心者向け:RDSスナップショットを別のAWSアカウントで復元する手順 -
TECH
AWS CDKとGitHubを使ったIaC=インフラ構成管理の基本 -
TECH
同世代エンジニアに刺激を受けた!JAWS-UG「若手エンジニア応援LT会」参加レポート -
TECH
AWS CDKでGuardDutyのRDS保護を有効化しよう(として詰みかけた話) -
TECH
ノーコードで生成AI連携! SlackからAmazon Bedrockのエージェントに質問 -
TECH
Terraform:変数の値が未代入でもインタラクティブな入力を回避する方法 -
TECH
Amazon SESでEメールの送信機能/受信機能を作る手順 -
TECH
IAMユーザーのアクセスキーを使わず「IAMロール」を使うべき理由 -
TECH
CX視点で興味深かった「AWS Summit Japan 2024」のセッション - この連載の一覧へ