Docs Menu
Docs Home
/ /

MongoDB と LangGraph.js の統合

MongoDB はLgGraph.js と統合できますAIエージェントと高度な RAG アプリケーションを構築します。このページでは、 MongoDB LgGraph.js 統合の概要と、LgGraph ワークフローでエージェント状態の永続性と取得にMongoDBを使用する方法について説明します。

このページに記載されているすべてのコンポーネントを使用するサンプルAIエージェントを作成するには、チュートリアルを参照してください。

注意

Python統合については、 LgGraph を参照してください。

LangGraph は、LangChain エコシステム内でAIエージェントと複雑なマルチエージェントワークフローを構築するために設計された専用のフレームワークです。グラフは、エージェントのワークフローを表す LangGraph の主要コンポーネントです。MongoDB LangGraph 統合により、次の機能が有効になります。

  • MongoDB LingGraph チェックポイント : MongoDBで LingGraph エージェントの状態を永続化し、短期間のメモリ を提供できます。

  • 検索ツール: MongoDB LangChain 統合により、LangGraph ワークフロー用の検索ツールを素早く作成できます。

LgGraph アプリケーションをMongoDBと統合すると、取得機能とエージェントメモリの両方を 1 つのデータベースに統合 でき、アーキテクチャが簡素化され、運用の複雑さが軽減されます。

MongoDB LingGraph チェックポイントを使用すると、 MongoDBでエージェントの状態を永続化し、 短期間メモリを実装できます。この機能により、LingGraph エージェントのループ内、メモリ、時間移動、フォールトトレランスが可能になります。

このコンポーネントのパッケージをインストールするには:

npm install @langchain/langgraph-checkpoint-mongodb
import { MongoDBSaver } from "@langchain/langgraph-checkpoint-mongodb";
import { MongoClient } from "mongodb";
// Connect to your MongoDB cluster
const client = new MongoClient("<connection-string>");
// Initialize the MongoDB checkpointer
const checkpointer = new MongoDBSaver(client);
// Instantiate the graph with the checkpointer
const app = graph.compile(checkpointer);

LingGraph ワークフローのツールとしてリツールをシームレスに使用して、 MongoDBから関連データを取得できます。

  1. MongoDB ベクトル検索と LgDB を使用して基本的な検索ツールを作成するには、次の手順に従います。

    import { MongoDBAtlasVectorSearch } from "@langchain/mongodb";
    import { MongoClient } from "mongodb";
    import { VoyageAIEmbeddings } from "@langchain/community/embeddings/voyage";
    import { createRetrieverTool } from "langchain/tools/retriever";
    // Instantiate the vector store
    const client = new MongoClient("<connection-string>");
    const collection = client.db("<databaseName>").collection("<collectionName>");
    const embeddingModel = new VoyageAIEmbeddings();
    const vectorStore = new MongoDBAtlasVectorSearch(embeddingModel, {
    collection: collection,
    indexName: "vector_index", // Name of the index
    textKey: "text", // Name of the collection field containing the raw content
    embeddingKey: "embedding", // Name of the collection field containing the embedded text
    });
    // Create a retriever tool
    const retriever = vectorStore.asRetriever();
    const retrieverTool = createRetrieverTool(
    retriever,
    {
    name: "vector_search_retriever", // Tool name
    description:
    "Retrieve relevant documents from the collection" // Tool description
    },
    );
  2. LangGraph にツールをノードとして追加するには、次のように行います。

    1. ツールをノードに変換します。

    2. ノードをグラフに追加します。

    import { StateGraph } from "@langchain/langgraph";
    import { ToolNode } from "@langchain/langgraph/prebuilt";
    // Convert the retriever tool into a node
    const retrieverNode = new ToolNode([retrieverTool]);
    // Define the graph
    const workflow = new StateGraph(SomeGraphState)
    // Add the tool as a node in the graph
    .addNode("vector_search_retriever", retrieverNode);
    const graph = workflow.compile();

戻る

AIエージェントの構築

ルール バッジを取得する

「生成AI」を無料でマスターします。

詳細

項目一覧