Você pode integrar o MongoDB ao LangGraph.js para construir agentes de IA e aplicativos avançados RAG. Esta página fornece uma visão geral da integração do MongoDB LangGraph.js e como você pode usar o MongoDB para a persistência e a recuperação do estado do agente em seus fluxos de trabalho do LangGraph.
Para criar um agente de IA de amostra que use todos os componentes desta página, consulte o tutorial.
Observação
Para a integração do Python, consulte LangGraph.
Plano de fundo
LangGraph é um framework especializado dentro do ecossistema LangChain, projetado para desenvolver agentes de IA e fluxos de trabalho complexos de múltiplos agentes. Grafos são os componentes centrais do LangGraph, representando o fluxo de trabalho do seu agente. A integração do MongoDB LangGraph habilita as seguintes funcionalidades:
- MongoDB LangGraph Checkpointer: você pode persistir o estado de seus agentes LangGraph no MongoDB, fornecendo memória de curto prazo. 
- Ferramentas de recuperação: você pode usar a integração do MongoDB LangChain para criar rapidamente ferramentas de recuperação para seus fluxos de trabalho LangGraph. 
A integração de seus aplicativos LangGraph com o MongoDB permite consolidar os recursos de recuperação e a memória do agente em um único banco de dados, simplificando sua arquitetura e reduzindo a complexidade operacional.
MongoDB LangGraph Checkpointer (memória de curto prazo)
O MongoDB LangGraph Checkpointer permite que você persista o estado do seu agente no MongoDB para implementar a memória de curto prazo. Esse recurso habilita humanos no loop, memória, viagem no tempo e tolerância a falhas para seus agentes LangGraph.
Para instalar o pacote para este componente:
npm install @langchain/langgraph-checkpoint-mongodb 
Uso
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); 
Ferramentas de recuperação
Você pode usar perfeitamente os recuperadores como FERRAMENTAS em seu fluxo de trabalho do LangGraph para recuperar dados relevantes do MongoDB.
Uso
- Para criar uma ferramenta básica de recuperação com MongoDB Vector Search e LangChain: - 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 - }, - ); 
- Para adicionar a ferramenta como um nó no LangGraph: - Converta a ferramenta em um nó. 
- Adicione o nó ao grafo. 
 - 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();