Amazon Bedrock ナレッジベース統合の開始方法
注意
Atlas Vector Searchは現在、米国にある Amazon Web Servicesリージョンでのみ知識ベースとして利用できます。
Atlas Vector Search は 知識ベース として使用できます Amazon Web Services の 生成系 AI アプリケーションを構築し、検索拡張生成(RAG)を実装します。このチュートリアルでは、Amazon Reduce で Atlas Vector Search の使用を開始する方法を説明します。 具体的には、次のアクションを実行します。
カスタム データを Amazon S 3バケットにロードします。
オプションで、AWS PrivateLink を使用してエンドポイント サービスを構成します。
データに Atlas Vector Search インデックスを作成します。
Atlas にデータを保存するための知識ベースを作成します。
Atlas Vector Search を使用してRAGを実装するエージェントを作成します。
バックグラウンド
Amazon Advisor は、生成系 AI アプリケーションを構築するためのフルマネージド サービスです。 基礎モデル(FS) を活用できます は、単一の API としてさまざまな AI 会社から提供されます。
Atlas Vector Search を Amazon Web Services の知識ベースとして使用すると、Atlas にカスタム データを保存し、 エージェント を作成できます。 をクリックして、 RAG を実装し、データに対する質問に答えます。RGRAG Atlas Vector Searchの詳細については、「 を使用した 検索拡張生成(RAG ) 」を してください。
前提条件
Atlas の サンプル データ セット からの映画データを含むコレクションを使用します。
MongoDB バージョン6.0.11を実行している Atlas M 10 + クラスター 、 7.0.2 、またはそれ以降
アクセス権 このチュートリアルで使用される次の基礎モデルに適用します。
Amazon Web ServicesCLIとnpm AWS PrivateLinkエンドポイント サービスを構成する場合は、 がインストールされます。
カスタム データのロード
テキストデータを含む Amazon S 3バケットがまだない場合は、新しいバケットを作成し、MongoDB のベストプラクティスに関する一般にアクセス可能な次の PDF をロードします。
PDF を Amazon S3 バケットにアップロードします。
S3 バケットを作成する には、手順に従います。 。記述的なBucket Nameを使用していることを確認してください。
バケットにファイルをアップロードするに は、手順に従います。 。先ほどダウンロードした PDF を含むファイルを選択します。
エンドポイント サービスの構成
デフォルトでは、Amazon Advisor はパブリック インターネット経由で知識ベースに接続します。Atlas Vector Search は、AWS PrivateLink エンドポイントサービス を使用して、仮想ネットワーク経由でナレッジベースに接続し、接続をさらに強化します。
任意。次の手順を実行して、Atlas クラスターの AWS PrivateLink プライベートエンドポイントに接続するエンドポイント サービスを有効にします。
Atlasでプライベートエンドポイントを設定します。
AWS PrivateLinkクラスター用に プライベートエンドポイントを設定する Atlasには、手順に従います。プライベートエンドポイントを識別するには、わかりやすいVPC IDを使用していることを確認します。
エンドポイント サービスを構成します。
MongoDB とその提携パートナーは、クラウド開発キット(CDK)を提供しており、トラフィックをプライベートエンドポイントに転送するネットワーク ロード バランサーを基盤としたエンドポイント サービスを構成できます。
CDKGithub リポジトリ で指定された手順に従う CDK スクリプトを準備して実行します。
Atlas Vector Search インデックスの作成
このセクションでは、コレクションに Atlas Vector Search インデックスを作成し、Atlas をベクトルデータベース(ベクトル ストアと呼ばれる)として設定します。
必要なアクセス権
Atlas Vector Search インデックスを作成するには、Atlas プロジェクトに対する Project Data Access Admin
以上のアクセス権が必要です。
手順
AtlasGoClustersAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
Collections ページに移動します。
クラスターの [Browse Collections] ボタンをクリックします。
Data Explorerが表示されます。
Atlas Vector Search インデックスを定義します。
Create Search Indexボタンをクリックします。
[ Atlas Vector Search ] で、[ JSON Editor ] を選択し、[ Nextをクリックします。
Database and Collectionセクションで、
bedrock_db
データベースを検索し、test
コレクションを選択します。Index Nameフィールドに
vector_index
と入力します。デフォルトの定義を次の例のインデックス定義に置き換え、 Nextをクリックします。
このインデックス定義では、 vectorSearchタイプのインデックスで次のフィールドのインデックス作成を指定します。
embedding
ベクトル型としての フィールド。embedding
フィールドには、知識ベースを構成するときに指定した埋め込みモデルを使用して作成されたベクトル埋め込みが含まれます。 インデックス定義では、1024
ベクトル次元を指定し、cosine
を使用して類似性を測定します。データを事前にフィルタリングするためのフィルタータイプとしての
metadata
フィールドとtext_chunk
フィールド。 これらのフィールドは、知識ベースを設定するときに指定します。
1 { 2 "fields": [ 3 { 4 "numDimensions": 1024, 5 "path": "embedding", 6 "similarity": "cosine", 7 "type": "vector" 8 }, 9 { 10 "path": "metadata", 11 "type": "filter" 12 }, 13 { 14 "path": "text_chunk", 15 "type": "filter" 16 } 17 ] 18 }
知識ベースの作成
このセクションでは、 知識ベース を作成します カスタム データをベクトル ストアにロードします。
モデル アクセスを管理します。
Amazon Advisorは FC へのアクセスを自動的に許可しません。 まだ行っていない場合は、手順に従って モデルアクセスを追加 します Tiger 埋め込み G1 の場合 - テキスト および アン スロットル 句 V2 を使用します。1モデル。
Atlas を KB に接続します。
Vector databaseセクションで、[Choose a vector store you have created] を選択します。
MongoDB Atlasを選択し、以下のオプションを構成します。
HostnameURLの場合、Atlas 接続文字列 にある クラスターの を入力します。ホスト名は次の形式を使用します。
<clusterName>.mongodb.net Database name に
bedrock_db
と入力します。Collection name に
test
と入力します。Credentials secret ARNには、Atlas クラスター認証情報を含むシークレットのARNを入力します。 詳細については、「Amazon Web Services Secrets Manager の概念 」を参照してください。
Metadata field mappingセクションでは、Atlas がデータソースの埋め込みと保存に使用する検索インデックスとフィールド名を決定するために、次のオプションを構成します。
Vector search index name に
vector_index
と入力します。Vector embedding field path に
embedding
と入力します。Text field path に
text_chunk
と入力します。Metadata field path に
metadata
と入力します。
エンドポイント サービス を構成した場合は、 PrivateLink Service Nameを入力します。
[Next] をクリックします。
データソースを同期します。
Amazon は、データを同期するように要求します。 Data sourceセクションで、データソースを選択し、 SyncをクリックしてS 3バケットのデータを同期し、Atlas に読み込みます。
同期が完了すると、クラスター内のbedrock_db.test
コレクションに移動すると、Atlas UI でベクトル埋め込みを表示できます。
エージェントの作成
このセクションでは、 エージェント を作成します Atlas Vector Search を使用して RAG を実装し、データの質問に答えます。このエージェントをプロンプトを表示すると、次の処理が行われます。
知識ベースに接続して、Atlas に保存されているカスタム データにアクセスします。
Atlas Vector Search を使用して、 プロンプトに基づいてベクトル ストアから関連するドキュメントを検索します。
AI チャット モデルを活用して、これらのドキュメントに基づいてコンテキストを認識する応答を生成します。
RAGエージェントを作成およびテストするには、次の手順を実行します。
モデルを選択し、プロンプトを表示します。
デフォルトでは、Amazon Advisor はエージェントにアクセスするための新しいIAMロールを作成します。 Agent detailsセクションで、以下を指定します。
ドロップダウン メニューから、データの質問に答えるために使用されるプロバイダーと AI モデルとしてAnthropicとClaude V2.1を選択します。
注意
Amazon Advisorは FC へのアクセスを自動的に許可しません。 まだ行っていない場合は、手順に従って モデルアクセスを追加 します のアントラス 句 V の場合は2 になります。1モデル。
エージェントがタスクの完了方法を把握できるように、エージェントに指示を提供します。
たとえば、サンプル データを使用している場合は、次の手順を貼り付けます。
You are a friendly AI chatbot that answers questions about working with MongoDB. [Save] をクリックします。
エージェントをテストします。
Prepareボタンをクリックします。
[ Testをクリックします。 Amazon ID では、エージェントの詳細がまだ表示されていない場合、エージェントの詳細の右側にテスト ウィンドウが表示されます。
テスト ウィンドウで、プロンプトを入力します。 エージェントはモデルをプロンプト表示し、Atlas Vector Search を使用して関連するドキュメントを検索し、そのドキュメントに基づいて応答を生成します。
サンプル データを使用した場合は、次のプロンプトを入力します。 生成される応答は異なる場合があります。
What's the best practice to reduce network utilization with MongoDB? The best practice to reduce network utilization with MongoDB is to issue updates only on fields that have changed rather than retrieving the entire documents in your application, updating fields, and then saving the document back to the database. [1] Tip
Atlas Vector Search が検索したテキスト チャンクを表示するには、エージェントの応答内の注釈をクリックします。
次のステップ
MongoDB とその提携パートナーは、次の開発者リソースも提供しています。