Docs Menu
Docs Home
/
Atlas
/ /

MongoDB と LangGraph の統合

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

はじめる

注意

JavaScript 統合については、LangGraph JS/TS をご覧ください。

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

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

  • MongoDB チェックポインター: MongoDB 内に LangGraph エージェントの状態を永続化し、会話メモリとフォールトトレランスを提供できます。

LangGraph アプリケーションを MongoDB と統合すると、検索機能とエージェント状態の永続性の両方を単一のデータベースに統合できるため、アーキテクチャを簡素化し、運用の複雑さを軽減できます。

LangChain レトリーバーを LangGraph ワークフローのツールとしてシームレスに使用して、Atlas から関連データを検索できます。

MongoDB LgChuin 統合は、全文検索、ベクトル検索、ハイブリッド検索、親ドキュメント検索をネイティブでサポートしています。取得メソッドの完全なリストについては、 「 MongoDB Lgachein 取得 」を参照してください。

  1. Atlas Vector Search と LangChain を使用して基本的な検索ツールを作成するには:

    from langchain.tools.retriever import create_retriever_tool
    from langchain_mongodb.vectorstores import MongoDBAtlasVectorSearch
    from langchain_voyageai import VoyageAIEmbeddings
    # Instantiate the vector store
    vector_store = MongoDBAtlasVectorSearch.from_connection_string(
    connection_string = "<connection-string>", # Atlas cluster or local deployment URI
    namespace = "<database-name>.<collection-name>", # Database and collection name
    embedding = VoyageAIEmbeddings(), # Embedding model to use
    index_name = "vector_index", # Name of the vector search index
    # Other optional parameters...
    )
    # Create a retrieval tool
    retriever = vector_store.as_retriever()
    retriever_tool = create_retriever_tool(
    retriever,
    "vector_search_retriever", # Tool name
    "Retrieve relevant documents from the collection" # Tool description
    )
  2. LangGraph にツールをノードとして追加するには、次のように行います。

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

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

    from langgraph.graph import StateGraph
    from langgraph.prebuilt import ToolNode
    # Define the graph
    workflow = StateGraph()
    # Convert the retriever tool into a node
    retriever_node = ToolNode([retriever_tool])
    # Add the tool as a node in the graph
    workflow.add_node("vector_search_retriever", retriever_node)
    graph = workflow.compile()

MongoDB チェックポインターを使用すると、MongoDB内にエージェントの状態を永続化できます。この機能により、LangGraph エージェントのヒューマンインザループ、メモリ、タイムトラベル、フォールトトレランスが可能になります。

from langgraph.checkpoint.mongodb import MongoDBSaver
from pymongo import MongoClient
# Connect to your Atlas cluster or local Atlas deployment
client = MongoClient("<connection-string>")
# Initialize the MongoDB checkpointer
checkpointer = MongoDBSaver(client)
# Instantiate the graph with the checkpointer
app = graph.compile(checkpointer=checkpointer)

戻る

エージェントフレームワーク

ルール バッジを取得する

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

詳細

項目一覧