If you have developed or plan to implement any solution that uses Large Language Models, you have most likely heard of the LangChain library. LangChain library is the most widely kn...
If you have developed or plan to implement any solution that uses Large Language Models, you have most likely heard of the LangChain library. LangChain library is the most widely known Python library used to develop applications that use LLMs in one or another capabilities. It is designed to be modular, allowing us to use any LLM in any available modules, such as chains, tools, memory, or agents.
A month ago, I spent a week researching and implementing a solution allowing anyone to retrieve information from Neo4j directly from the LangChain library and use it in their LLM applications. I learned quite a lot about the internals of LangChain library and wrote up my experience in a blog post.
A colleague of mine showed me a LangChain feature request, where the user requested that my work of having the option to retrieve information from the Neo4j database would be added as a module directly to the LangChain library so that no additional code or external modules would be needed to integrate Neo4j into LangChain applications. Since I was already familiar with LangChain internals, I decided to try and implement Cypher searching capabilities myself. I spent a weekend researching and coding the solution and ensuring it would conform to the contribution standards for it to be added to the library. Luckily, the maintainers of LangChain are very responsive and open to new ideas, and the Cypher Search has been added in the latest release of the LangChain library. Thanks to
for maintaining such a great library and also being very responsive to new ideas.
In this blog post, I will show you how you can use the newly added Cypher Search in the LangChain library to retrieve information from a Neo4j database.