AIエージェントの場合: ドキュメントインデックスはhttps://www.mongodb.com/ja-jp/docs/llms.txt で利用可能です。任意のURLパスに .md を追加することで、すべてのページのマークダウン バージョンが利用できます。
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

MongoDBと n8n でAIエージェントを構築

このチュートリアルでは、n8n を使用してAIエージェントを迅速に構築する方法を説明し、サンプルデータに関する質問に答えます。このエージェントは、 MongoDB をドキュメント検索用のベクトルストアと、チャットの永続化用のチャット メモリ ストアの両方として活用します。

次のスクリーンショットは、このチュートリアルで構築するワークフローを示しています。このワークフローでは、2 つのMongoDBノードを使用するAIエージェントを作成します。

また、LDM および埋め込みモデル プロバイダーとして OpenAI を使用します。

エージェントにメッセージを送信すると、次のアクションがトリガーされます。

  1. AIエージェントノードはユーザー メッセージを処理し、次のアクションを決定します。

  2. AIエージェントは、ツール呼び出しを行う必要があるかどうかを確認します。

    • はいの場合、ドキュメントを検索するためにMongoDB Vector Storeノードを呼び出します。

    • 終了しない場合は、次のアクションに進みます。

  3. エージェントは、ワークフロー用に構成した LM を使用して応答を生成します。

  4. やり取りごとに、 MongoDBチャット メモリノードにチャット履歴が保存されます。

n8n とMongoDBによるAIエージェントのワークフローのスクリーンショット
クリックして拡大します

注意

AIエージェント ノードの構成内の赤色のアスタリスクは、必要なパラメーターを示します。

始める前に、以下のものを必ず用意してください。

n8n とMongoDBを使用する場合は、次の点を考慮してください。

  • MongoDB Atlasユーザーの場合は、n8n IPアドレスをプロジェクトのIPアクセス リストに必ず追加してください。詳細については、ネットワーク アクセス を参照してください。

  • MongoDB Vector Storeノードを構成するときは、Include MetadataOff に切り替えていることを確認します。この設定を Off に切り替えない場合、ドキュメントが大きすぎて コンテキストウィンドウに読み込まれない可能性があるため、 AIエージェントが実行されない可能性があります。

MongoDBベクトルストアノードを使用する前に、コレクションにベクトル検索インデックスを作成する必要があります。

Atlas UIを使用してベクトル検索インデックスを作成するには、次の手順を実行します。

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

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

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

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

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

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

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

    Data Explorerが表示されます。

重要: クラスターの名前をクリックしてCluster サイドバーを開き、Data Explorer 見出しの下のShortcuts をクリックすることもできます。

3

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

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

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

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

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

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

    検索とベクトル検索ページが表示されます。

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

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

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

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

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

  6. バナー内の Search and Vector Search リンクをクリックします。

    検索とベクトル検索ページが表示されます。

4
5

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

Search Type

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

Index Name and Data Source

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

  • Index Name: vector_index

  • Database and Collection:

    • sample_mflix database
    • embedded_movies コレクション

Configuration Method

ガイドを利用する場合は、Visual Editor を選択します。

Rawインデックス定義を編集するには、JSON Editor を選択します。

重要: |fts|インデックスの名前はデフォルトで ``auto embedded_index`` です。複数のインデックスを作成する場合は、インデックス間で一貫した記述的な命名規則を維持することをお勧めします。

6

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

インデックスを構成するには、Similarity Method ドロップダウンから Cosine を選択します。

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

1{
2 "fields": [
3 {
4 "type": "vector",
5 "numDimensions": 1536,
6 "path": "plot_embedding",
7 "similarity": "dotProduct"
8 }
9 ]
10}
7
8

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

9
10

新規作成したインデックスは Search & Vector Search ページに表示されます。インデックスを作成する間、Statusフィールドには Pending と表示されます。インデックスの作成が完了すると、Statusフィールドには Ready と表示されます。

注意

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

別のインデックス作成方法を使用するには、インデックス作成手順 の手順に従ってください。次の構成を使用します。

{
"fields": [
{
"type": "vector",
"path": "plot_embedding",
"numDimensions": 1536,
"similarity": "dotProduct"
}
]
}

このセクションでは、n8n で必要な認証情報を構成する手順を完了します。

1

n8n ホームページの右上隅にある Create Workflow をクリックします。または、Credentialsタブを選択し、Add first credential をクリックします。

2
  1. ドロップダウン メニューから、設定する認証情報を選択します。

    例、OpenAI を選択し、Continue をクリックします。

  2. モデル プロバイダーに入力するパラメータを確認するには、認証情報ライブラリ を確認してください。

    例、OpenAI の場合は、 APIキー、組織の名前 、およびベースURLを入力します。

  3. [Save をクリックします。n8n は認証情報をパーソナル スペースに追加します。

3

前の手順と同じ手順に従って、 MongoDB の認証情報を n8n に追加します。次の値を指定します。

設定

構成タイプ

ドロップダウン メニューで、Connection String メソッドを選択します。

接続文字列

MongoDB Connection String を入力します。

MongoDB接続文字列を見つける方法については、接続文字列を参照してください。

Database

sample_mflixと入力します。

8MongoDBと n8 n でAIエージェントワークフローを構築するには、n n の次の手順を完了します。ワークフローの詳細については、「 MongoDBを使用した n n ワークフローについて 」を参照してください。8

1

ホストしている n8n を開き、新しいワークフローを作成します。

  • ワークフローを持っていない場合、または n8n を初めて使用する場合は、表示される空のワークフローを使用します。

  • 既存のワークフローがある場合は、Create Workflow をクリックします。

2

n8n のすべてのワークフローは、 triggerノードで開始されます。このワークフローでは、チャットトリガーノードを使用して、 AIエージェントのワークフローがユーザーのメッセージによってトリガーされるようにします。

  1. ノードメニューを開くには、Add first step を選択するか、Tab を押します。

  2. Chat Trigger を検索します。n8n は、検索に一致するノードのリストを表示します。

  3. ノードをカンダリに追加するには、Chat Trigger を選択します。

  4. 画面左上にある Back to canvas をクリックします。この段階では、このノードのテストをスキップできます。[Save] をクリックします。

3

AIエージェントノードでは、チャット モデル、メモリ、ツールを構成します。これらは、ノードとサブノードを追加するAIエージェントノードの必須コンポーネントです。

  1. triggerノードで +コネクタを選択します。

  2. AI Agentノードを検索し、ワークフローに追加します。AIエージェントの編集ビューが表示されます。

  3. 画面左上にある Back to canvas をクリックします。この段階では、このノードのテストをスキップできます。[Save] をクリックします。

4

受信プロンプトを処理するノードを接続するようにチャットモデルを構成します。

  1. AIエージェントノードで Chat Model ラベルの横にある +コネクタをクリックします。Language Models でフィルタリングされた検索パネルが表示されます。

  2. リストから OpenAI Chat Model または使用する LM プロバイダーを選択します。

  3. [Credential to connect with] をクリックします。

  4. 認証情報を選択したら、ドロップダウン メニューからモデルを選択します(例: 、gpt-4o)。

  5. 画面左上にある Back to canvas をクリックします。この段階では、このノードのテストをスキップできます。[Save] をクリックします。

  6. AIエージェントノード構成に戻るには、ダイアログ ボックスの上部にあるAIエージェントのアイコンをクリックします。

5

永続的な対話コンテキストを有効にするには、 MongoDBチャットメモリ サブノードを構成します。

  1. AIエージェントノードで Memory ラベルの横にある +コネクタをクリックします。

  2. サイド パネルから []MongoDB Chat Memory を選択します。

  3. [Select credential] をクリックし、 MongoDBの認証情報を選択します。

  4. MongoDBチャットメモリノードのデフォルト構成を使用します。デフォルトでは 、 n8n は指定されたデータベースに n8n_chat_histories というコレクションを作成します。

  5. 画面左上にある Back to canvas をクリックします。この段階では、このノードのテストをスキップできます。[Save] をクリックします。

  6. AIエージェントノードの構成に戻すには、 AIエージェント アイコンをクリックします。

6

ドキュメント検索を有効にするには、MongoDB Atlas Vector Storeノードを構成します。

  1. AIエージェントノードで Tool ラベルの横にある +コネクタをクリックします。

  2. 検索パネルで、MongoDB Atlas Vector Store を選択します。

  3. 構成したMongoDB認証情報を選択し、次の値を指定します。

    設定

    Operation Mode

    Retrieve Documents (As Tool for AI Agent)

    Description

    "Search through documents about movies to find relevant information"

    MongoDB Collection

    embedded_movies

    Embedding

    plot_embedding

    Metadata Field

    plot

    Vector Index Name

    vector_index

    Limit

    4

    Include Metadata

    切り替え Off

    重要:

    この設定を Off に切り替えない場合、ドキュメントが大きすぎて コンテキストウィンドウに読み込まれない可能性があるため、 AIエージェントが実行されない可能性があります。

    Rerank Results

    切り替え Off

7

MongoDB Atlas Vector Storeノードの埋め込みモデルを構成します。

  1. MongoDB Atlas Vector Storeノードで、Embedding ラベルの横にある +コネクタをクリックします。

  2. サイド パネルから []Embeddings OpenAI を選択します。

  3. OpenAI の認証情報を選択し、text-embedding-ada-002 モデルを指定します。

  4. 画面左上にある Back to canvas をクリックします。[Save] をクリックします。

8

AIエージェントノードを構成したので、完全なワークフローをテストできます。メッセージを送信すると、ワークフローはカンダリ上でリアルタイムに実行されます。

  1. カンストの下部にある [Open chat] ボタンをクリックします。

  2. いくつかの初期プロンプトを実行中て、メモリ機能をテストします。(例: )。

    Hi, my name is Mongo
    Hello Mongo! Nice to meet you. How can I help you today?
    What is my name?
    Your name is Mongo, as you mentioned when you introduced yourself earlier.
  3. 次のプロンプトを実行中て、ベクトル検索とRAG 機能をテストします。

    Recommend me a few movies about time travel
    Here are a few movies about time travel that you might enjoy:
    The Time Traveler's Wife - A romantic drama about a Chicago librarian with a gene that causes him to involuntarily time travel, leading to complications in his marriage.
    Timecop - An officer working for a security agency that regulates time travel must battle for his life against a corrupt politician tied to his past.
    We Are from the Future (My iz budushchego) - Four modern-day treasure seekers are unexpectedly transported into the midst of a World War II battle set in Russia.
    About Time - A young man discovers at the age of 21 that he can travel back in time. He attempts to improve his life, including finding love, but things don't turn out to be as simple as they seem.
    Let me know if you'd like any additional information about these films!
9
  1. エディターウィンドウの右上にある Save ボタンをクリックします。

  2. ワークフローにわかりやすい名前を付けます。例、「 MongoDBを使用したAIエージェント 」と名付けます。

このワークフローにはいつでも戻ることができます。