Uploaded image for project: 'Python Driver'
  1. Python Driver
  2. PYTHON-4545

LangChain: Add support for LangGraph Checkpointing

    • Type: Icon: New Feature New Feature
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • None
    • Affects Version/s: None
    • Component/s: AI/ML
    • None
    • Python Drivers
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      LangGraph is a new package from Langchain which allows building Agentic applications. For "checkpointing" LangGraph supports SqlLite and PostGresDB currently. We want to add support for MongoDB. This has been requested by a customer (Cisco)

      Interface required:

      • This would be implemented in the langchain_mongodb package and will take the langgraph as a dependency. (even though LangGraph is a separate package from Langchain all the MongoDB specific implementation is requested by the LangChain team to be put into the langchain_mongodb package for now. There is no plan from a langgraph_mongodb type package for now and we want to push that as much into the future as possible)
      • There should be a checkpoint.py file in the langchain_mongodb package
      • The following class and methods are required in langchain_mongodb/checkpoint.py

      class MongoDBSaver(BaseCheckpointSaver):
      Sync methods (required for getting started):
      def get_tuple(self, config: RunnableConfig) -> Optional[CheckpointTuple]:
      def list()
      def put()
      def put_writes()
      Async methods (Required for users going for parallelism in the implementation):
      async def aget_tuple(self, config: RunnableConfig) -> Optional[CheckpointTuple]:
      async def alist()
      async def aput()
      async def aput_writes()

            Assignee:
            casey.clements@mongodb.com Casey Clements
            Reporter:
            prakul.agarwal@mongodb.com Prakul Agarwal
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: