Docs Menu
Docs Home
/
Atlas
/ /

Amazon Bedrock ナレッジベース統合の開始方法

注意

Atlas は現在、知識ベースとして利用可能なのは、米国にある AWS リージョンのみです。

MongoDB Atlas をAmazon Advisor の 知識ベース として使用して、生成系AIアプリケーションの構築、検索拡張生成 (RAG)(RAG)の実装、エージェントの構築を行えます。

Atlas と Amazon Bedrock の知識ベース統合により、以下のユースケースが可能になります。

  • MongoDB ベクトル検索の基礎モデルを使用してAIアプリケーションを構築し、RAG を実装します。使用を開始するには、使用を開始するを参照してください。

  • 知識ベースに対してMongoDB ベクトル検索とMongoDB Search を使用してハイブリッド検索を有効にします。詳しくは、Amazon Web Services と Atlas を使用したハイブリッド検索を参照してください。

このチュートリアルでは、 Amazon Advisor でMongoDB ベクトル検索 の使用を開始する方法を説明します。具体的には、次のアクションを実行します。

  1. カスタム データを Amazon S 3バケットにロードします。

  2. オプションで、AWS PrivateLink を使用してエンドポイント サービスを構成します。

  3. データにMongoDB ベクトル検索インデックスを作成します。

  4. Atlas にデータを保存するための知識ベースを作成します。

  5. MongoDB ベクトル検索を使用して RAG を実装するエージェントを作成します。

Amazon Advisor は、生成系AIアプリケーションを構築するためのフルマネージド サービスです。これにより、さまざまなAI会社の基礎モデル(DM)を単一のAPIとして活用できます。

MongoDB ベクトル検索 をAmazon Web Services の知識ベースとして使用すると、Atlas にカスタム データを保存し、RAG を実装してデータの質問に答えるためのエージェントを作成できます。RG の詳細については、RAG、「MongoDBによる検索拡張生成(RAG)」を参照してください。

Atlas の サンプル データ セット からの映画データを含むコレクションを使用します。

テキストデータを含む Amazon S 3バケットがまだない場合は、新しいバケットを作成し、MongoDB のベストプラクティスに関する一般にアクセス可能な次の PDF をロードします。

1
  1. MongoDB のベストプラクティス ガイドに移動します。

  2. PDF にアクセスするには、 Read WhitepaperまたはEmail me the PDFをクリックします。

  3. PDF をローカルにダウンロードして保存します。

2
  1. S3 バケット を作成するには、手順に従ってください。わかりやすい Bucket Name を使用していることを確認してください。

  2. バケットにファイルをアップロードするには、手順に従います。.先ほどダウンロードした PDF を含むファイルを選択します。

デフォルトでは 、 Amazon Advisor はパブリック インターネット経由で知識ベースに接続します。接続をさらに保護するために、 MongoDB ベクトル検索 はAWS PrivateLink エンドポイント サービスを介して仮想ネットワーク経由で知識ベースに接続することをサポートしています。

任意。次の手順を実行して、Atlas クラスターの AWS PrivateLink プライベートエンドポイントに接続するエンドポイント サービスを有効にします。

1

AWS PrivateLinkクラスター用に プライベートエンドポイントを設定する Atlasには、手順に従います。プライベートエンドポイントを識別するには、わかりやすいVPC IDを使用していることを確認します。

詳細については、「 Atlas のプライベートエンドポイントの詳細 」を参照してください。

2

MongoDB とその提携パートナーは、クラウド開発キット(CDK)を提供しており、トラフィックをプライベートエンドポイントに転送するネットワーク ロード バランサーを基盤としたエンドポイント サービスを構成できます。

CDK Githubリポジトリ に指定された手順に従って、 CDKスクリプトを準備して実行します。

このセクションでは、コレクションにMongoDB ベクトル検索インデックスを作成し 、Atlas をベクトルデータベース(ベクトルストアと呼ばれる)として設定します。

MongoDB ベクトル検索インデックスを作成するには、Atlasプロジェクトへの Project Data Access Admin 以上のアクセス権が必要です。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Database見出しの下のData Explorerをクリックします。

    Data Explorerが表示されます。

注意

また、Clusters ページに移動し、Shortcuts 見出しの下の Data Explorer をクリックします。

2
  1. + Create Databaseボタンをクリックします。

  2. Database namebedrock_db と入力します。

  3. Collection nametest と入力します。

  4. Create をクリックして、データベースとその最初のコレクションを作成します。

3

MongoDB Search ページには、Search & Vector Search オプションまたは Data Explorer から移動できます。

4
5

ページで次の選択を行い、Next をクリックしてください。

Search Type

Vector Search のインデックスタイプを選択します。

Index Name and Data Source

以下の情報を指定してください。

  • Index Name: vector_index

  • Database and Collection:

    • bedrock_db database

    • test コレクション

Configuration Method

For a guided experience, select Visual Editor.

To edit the raw index definition, select JSON Editor.

重要:

MongoDB Searchインデックスの名前はデフォルトで default です。この名前を維持する場合、インデックスは、演算子に別の index オプションを指定していないMongoDB Search クエリのデフォルトの検索インデックスになります。複数のインデックスを作成する場合は、インデックス間で一貫した記述的な命名規則を維持することをお勧めします。

6

この vectorSearch タイプのインデックス定義は、次のフィールドをインデックス化します。

  • embedding ベクトル型としての フィールド。 embeddingフィールドには、知識ベースを構成するときに指定した埋め込みモデルを使用して作成されたベクトル埋め込みが含まれます。 インデックス定義では、 1024ベクトル次元を指定し、 cosineを使用して類似性を測定します。

  • bedrock_metadatabedrock_text_chunkx-amz-bedrock-kb-document-page-number フィールドを filter 型として指定して、データを事前にフィルタリングします。知識ベースを設定する際に、Amazon Bedrock でもこれらのフィールドを指定します。

注意

以前にフィルターフィールド page_number を使用してインデックスを作成した場合は、代わりに新しいフィルターフィールド名 x-amz-bedrock-kb-document-page-number を使用するようにインデックス定義を更新する必要があります。Amazon Bedrock ではフィールド名が Amazon によって更新され、古いフィールド名を使用したインデックスは Amazon Bedrock の知識ベースで正しく機能しなくなりました。

embedding をインデックスするフィールドとして指定し、1024 次元を指定します。

インデックスを設定するには、次の操作を行う必要があります。

  1. Similarity MethodドロップダウンからCosineを選択します。

  2. Filter Field セクションで、bedrock_metadatabedrock_text_chunkx-amz-bedrock-kb-document-page-number の各フィールドを指定してデータをフィルタリングします。

次のインデックス定義を JSON エディターに貼り付けます。

1{
2 "fields": [
3 {
4 "numDimensions": 1024,
5 "path": "embedding",
6 "similarity": "cosine",
7 "type": "vector"
8 },
9 {
10 "path": "bedrock_metadata",
11 "type": "filter"
12 },
13 {
14 "path": "bedrock_text_chunk",
15 "type": "filter"
16 },
17 {
18 "path": "x-amz-bedrock-kb-document-page-number",
19 "type": "filter"
20 }
21 ]
22}
7
8

Atlas は、インデックスが作成中であることを知らせるモーダル ウィンドウを表示します。

9
10

新しく作成したインデックスは Atlas Search タブに表示されます。インデックスを作成する間、Status フィールドには Build in Progress と表示されます。インデックスの作成が完了すると、Status フィールドの表示は Active になります。

注意

コレクションが大きいほど、インデックスの作成に時間がかかります。インデックスの作成が完了すると、メール通知が届きます。

このセクションでは、カスタム データをベクトルストアにロードするための知識ベースを作成します。

1
  1. Amazon Web Servicesコンソールにログインします。

  2. 左上隅のServicesドロップダウン メニューをクリックします。

  3. [ Machine Learningをクリックし、[ Amazon Bedrockを選択します。

2

Amazon Advisor は FC へのアクセスを自動的に許可しません。もしまだ行っていない場合は、手順に従って、Tiger 埋め込み G1 - テキストとアンスループット V2 1のモデル アクセスを追加します。モデル。

3
  1. Amazon Bearer コンソールの左側のナビゲーションで、 Knowledge Basesをクリックします。

  2. [Create] をクリックしてから [Knowledge base with vector store] を選択します。

  3. mongodb-atlas-knowledge-baseとしてKnowledge Base name を指定します。

  4. [Next] をクリックします。

デフォルトでは、Amazon Advisor は知識ベースにアクセスするための新しいIAMロールを作成します。

4
  1. 知識ベースで使用されるデータソースの名前を指定します。

  2. データソースを含む S3 バケットの URI を入力します。または、 Browse S3をクリックし、 リストからデータソースを含むS 3バケットを見つけます。

  3. [Next] をクリックします。

    Amazon Advisor は、データソースのテキストデータをベクトル埋め込みに変換するために使用できる埋め込みモデルを表示します。

  4. Titan Embeddings G1 - Text モデルを選択します。

5
  1. Vector databaseセクションで、[Use an existing vector store] を選択します。

  2. MongoDB Atlasを選択し、以下のオプションを構成します。

    Amazon Bedrock のベクトル ストア設定セクションのスクリーンショット。
    クリックして拡大します
    • HostnameURLの場合、Atlas 接続文字列 にある クラスターの を入力します。ホスト名は次の形式を使用します。

      <clusterName>.mongodb.net
    • Database namebedrock_db と入力します。

    • Collection nametest と入力します。

    • には、Atlas Credentials secret ARNクラスター認証情報を含むシークレットの ARN を入力します。詳細については、 Amazon Web Services Secrets Manager の概念 を参照してください。

  3. Metadata field mapping セクションでは、 Atlas がデータソースの埋め込みと保存に使用するMongoDB ベクトル検索インデックスとフィールド名を決定するために、次のオプションを構成します。

    ベクトル ストアのフィールド マッピング設定セクションのスクリーンショット。
    クリックして拡大します
    • Vector search index namevector_index と入力します。

    • Vector embedding field pathembedding と入力します。

    • Text field pathbedrock_text_chunk と入力します。

    • Metadata field pathbedrock_metadata と入力します。

    注意

    必要に応じて、Text search index name フィールドを指定してハイブリッド検索を設定することができます。詳細については、「Amazon Bedrock と Atlas を使用したハイブリッド検索」を参照してください。

  4. エンドポイント サービス を構成した場合は、 PrivateLink Service Nameを入力します。

  5. [Next] をクリックします。

6

知識ベースの詳細を確認したら、 Create knowledge baseをクリックして作成を終了します。

7

Amazon は、データを同期するように要求します。 Data sourceセクションで、データソースを選択し、 SyncをクリックしてS 3バケットのデータを同期し、Atlas に読み込みます。

Atlasbedrock_db.test を使用している場合は、同期が完了したら、Atlas UIの 名前空間に移動してベクトル埋め込みを確認できます。

このセクションでは、 MongoDB ベクトル検索を使用して RAGを実装し、データの質問に答えます。このエージェントをプロンプトを表示すると、次の処理が行われます。

  1. 知識ベースに接続して、Atlas に保存されているカスタム データにアクセスします。

  2. MongoDB ベクトル検索を使用して、 プロンプトに基づいてベクトルストアから関連するドキュメントを検索します。

  3. AI チャット モデルを活用して、これらのドキュメントに基づいてコンテキストを認識する応答を生成します。

RAGエージェントを作成およびテストするには、次の手順を実行します。

1
  1. Amazon Advisor の左側のナビゲーションで、 Agentsをクリックします。

  2. [Create Agent] をクリックします。

  3. mongodb-rag-agentNameとしてCreate を指定し、 [ ] をクリックします。

2

デフォルトでは、Amazon Advisor はエージェントにアクセスするための新しいIAMロールを作成します。 Agent detailsセクションで、以下を指定します。

  1. ドロップダウン メニューから、データの質問に答えるために使用されるプロバイダーと AI モデルとしてAnthropicClaude V2.1を選択します。

    注意

    Amazon Advisor は FC へのアクセスを自動的に許可しません。モデル アクセスをまだ追加していない場合は、手順に従って、Inthroメール 句 V のモデル アクセスを追加します。21モデル。

  2. エージェントがタスクの完了方法を把握できるように、エージェントに指示を提供します。

    たとえば、サンプル データを使用している場合は、次の手順を貼り付けます。

    You are a friendly AI chatbot that answers questions about working with MongoDB.
  3. [Save] をクリックします。

3

作成した知識ベースにエージェントを接続するには、次の手順に従います。

  1. Knowledge Basesセクションで、 Addをクリックします。

  2. ドロップダウンから [mongodb-atlas-knowledge-base] を選択します。

  3. エージェントがデータソースと対話する方法を決定するための知識ベースを記述します。

    サンプル データを使用している場合は、次の手順を貼り付けます。

    This knowledge base describes best practices when working with MongoDB.
  4. [ Addをクリックし、 Saveをクリックします。

4
  1. Prepareボタンをクリックします。

  2. [ Testをクリックします。 Amazon ID では、エージェントの詳細がまだ表示されていない場合、エージェントの詳細の右側にテスト ウィンドウが表示されます。

  3. テストウィンドウに、プロンプトを入力します。エージェントはモデルをプロンプト表示し、 MongoDB ベクトル検索を使用して関連するドキュメントを検索し、そのドキュメントに基づいて応答を生成します。

    サンプル データを使用した場合は、次のプロンプトを入力します。 生成される応答は異なる場合があります。

    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

    エージェントの応答内の注釈をクリックすると、 MongoDB ベクトル検索 が検索したテキスト チャンクが表示されます。

5

問題をトラブルシューティングするには、「Amazon Bedrock 知識ベース統合のトラブルシューティング」を参照してください。

戻る

AIエージェントの構築

項目一覧