-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Affects Version/s: None
-
None
Context
Over the course of 2024/2025, we have focused our efforts on creating the cutting edge of retrieval tools, such as Knowledge Graph, and Parent-Doc. Because of the LangChain appeared to be the only integration that was driving profit to MongoDB, we prioritized tickets that plugged these features into their library.
Now, as it became clear that they won the RAG framework race, LangChain moved on to the Agent race, which is far from concluded. All these assets that we build, RAG Retrievers are still essential in the GenAI space. Unfortunately, we did not architect ours to be independent of LangChain and we've already seen that competitors in the Agent Race do not want to bring in any LangChain dependencies. Therefore, we have every reason to disentangle ourselves and remove langchain* as python dependency.
Definition of done
- Create a document describing what is required, at a low-enough level that engineers can estimate and agree on the design.
Pitfalls
- We must not lose trust in existing clients by making breaking changes. All the existing langchain-mongodb code must still function, hence we also need to estimate the time required to wrap the new implementations.
- We might also complete an existing feature in a once competing framework as one test that our new architecture make sense. INTPYTHON-331 (Llama-Index GraphRAG) comes to mind although they have changed directions.