Docs Menu
Docs Home
/
Atlas
/ /

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

注意

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

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

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

  • Atlas Vector Search と基礎モデルを組み合わせて、AI アプリケーションを構築し、RAG を実装できます。始めるには、「はじめる」をご覧ください。

  • 知識ベースで Atlas Vector Search と Atlas Search を使用してハイブリッド検索を有効にします。詳細については、「Amazon Bedrock と Atlas を使用したハイブリッド検索」を参照してください。

このチュートリアルでは、Amazon Bedrock とともに Atlas Vector Search を使い始める方法を解説します。具体的には、以下の操作を行います。

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

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

  3. データに Atlas Vector Search インデックスを作成します。

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

  5. Atlas Vector Search を使用してRAGを実装するエージェントを作成します。

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

Atlas Vector Search を Amazon Bedrock の知識ベースとして使用することで、Atlas にカスタム データを保存し、エージェント を作成して、RAG を実装し、独自のデータに関する質問に回答できるようになります。RAG の詳細については、「Atlas Vector Search による検索拡張生成(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 はパブリック インターネット経由で知識ベースに接続します。Atlas Vector Search は、AWS PrivateLink エンドポイントサービス を使用して、仮想ネットワーク経由でナレッジベースに接続し、接続をさらに強化します。

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

1

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

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

2

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

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

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

Atlas Vector Search インデックスを作成するには、Atlas プロジェクトに対する Project Data Access Admin以上のアクセス権が必要です。

1

警告: ナビゲーションの改善中 現在、新しく改良されたナビゲーション エクスペリエンスを導入中です。次の手順が Atlas UI の表示と一致しない場合は、プレビュー ドキュメントを参照してください。

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

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

  3. まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。

    [ Clusters (クラスター) ] ページが表示されます。

2

クラスターの [Browse Collections] ボタンをクリックします。

Data Explorerが表示されます。

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

  2. Database namebedrock_db と入力します。

  3. Collection nametest と入力します。

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

4

GoAtlas Searchページには、サイドバー、Data Explorer 、またはクラスターの詳細ページから できます。

  1. サイドバーで、 Services見出しの下のAtlas Searchをクリックします。

    クラスターがない場合は、Create clusterをクリックしてクラスターを作成してください。詳細については、「 クラスターの作成 」を参照してください。

  2. プロジェクトに複数のクラスターがある場合は、Select cluster ドロップダウンから使用するクラスターを選択し、[Go to Atlas Search] をクリックします。

    Atlas Searchページが表示されます。

  1. クラスターの [Browse Collections] ボタンをクリックします。

  2. データベースを展開し、コレクションを選択します。

  3. コレクションのSearch Indexesタブをクリックします。

    Atlas Searchページが表示されます。

  1. クラスタの名前をクリックします。

  2. [Atlas Search] タブをクリックします。

    Atlas Searchページが表示されます。

5
6

ページで次の選択を行い、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.

注意

Atlas Search インデックスのデフォルト名は「default」です。この名前を変更しない場合、Atlas Search クエリのデフォルトの検索インデックスが使用され、その演算子では別の index オプションは指定されません。複数のインデックスを作成する場合は、インデックス全体で一貫性があり、内容がわかる命名規則を維持することをお勧めします。

7

この 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}
8
9

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

10
11

新しく作成したインデックスは 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 と入力します。

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

  3. Metadata field mapping セクションで以下のオプションを設定し、Atlas がデータ ソースをベクトル化・保存する際に使用する Atlas Vector Search のインデックス名およびフィールド名を指定します。

    ベクトル ストアのフィールド マッピング設定セクションのスクリーンショット。
    クリックして拡大します
    • 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 に読み込みます。

同期が完了すると、クラスター内のbedrock_db.testコレクションに移動すると、Atlas UI でベクトル埋め込みを表示できます。

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

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

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

  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 へのアクセスを自動的に許可しません。 まだ行っていない場合は、手順に従って モデルアクセスを追加 します のアントラス 句 V の場合は2 になります。1モデル。

  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. テスト ウィンドウで、プロンプトを入力します。 エージェントはモデルをプロンプト表示し、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 が検索したテキスト チャンクを表示するには、エージェントの応答内の注釈をクリックします。

5

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

戻る

プラットフォーム

項目一覧