Five months ago, I launched my personal project, continualbot.com, a framework that helps organizations build seamless RAG ecosystems with out-of-the-box knowledge integration and user base isolation. By leveraging the capabilities of LangChain and LlamaIndex, vector databases (Qdrant and Chroma DB), OpenAI’s GPT, and some open-source LLMs (LLaMa, Mistral), the framework can be easily instantiated to retrieve comprehensive answers from a given knowledge base.

The achievement I am most proud of is the implementation of impersonation chatbots. These chatbots can respond based on the content provided about a user and pretend to act as that user. This requires a meticulously built knowledge base using semantic chunking techniques and advanced context awareness techniques.

This intersects with my PhD program goal of researching conversational capabilities and understanding their current limits, whether in the machine realm or the human realm. Along the way, I observed that searching semantically through the knowledge base and providing in-context answers, even building conversation awareness, is not enough to support all the challenges of a complex conversation. Humans understand relationships and dependencies between entities and concepts, which can be highly complex, dynamically defined, and subjective.

Here are the questions:

  • Is RAG architecture capable of solving problems that are not related to semantics? Not really. The language depth goes beyond that.
  • Are neural networks able to solve our challenges regarding context understanding and relationships between entities? Yes, but with a limitation—they do not have an unlimited context window. This is one reason we need RAG (to handle contexts and feed new data in real time).

As I continue to explore these areas and dive through the flood of weekly released papers on the subject, I am, of course, open to any suggestions.

For now, I have started exploring another level of RAG: Graph RAG. By integrating the power of Graph Databases into an architecture that also includes LLMs, loops for semantic chunking and retrieval evaluations, vector databases, and the most powerful frameworks for unstructured data processing to date (LangChain, LlamaIndex, and Unstructured.io), we have the possibility to build a new type of knowledge base—a graph-based one. This time, with nodes, relationships, and embeddings playing a central role.

I believe that by combining lexical search (with engines such as Lucene), semantic search (with engines such as Qdrant), and graph search (with engines such as Neo4j), we stand a chance of building more complex and human-like conversational engines.

A key aspect and challenge that still affects our AI research progress is the context window. Continual learning is the future of AI development, and I will dive deeper into this topic in my research papers. Stay tuned.


I began my journey toward exploring Graph RAG by learning how to work with a Graph DBMS, and I am happy to share my certification obtained from Neo4j’s GraphAcademy.

The theory is “easy” as it was also the subject of university courses in the past, but hands-on work proves more challenging. In the past 5 months, I explored Neo4j‘s learning paths and finally passed the certification exam. The learning path is fully available on their website and consists of about 30 hours of learning materials. Add another 60 hours of hands-on practice, and you are probably prepared. The courses are clear and well-presented, and the best part is that they are completely free. The exam is pretty tough, with 80 questions in 60 minutes—roughly 45 seconds per question. Some questions are very easy, but others are more challenging. I personally scored 84.8%, with 80% being the minimum required.

If you are interested, you can also pursue this certification program too—it’s slightly longer than the duration of the Game of Thrones series!

For tips and tricks, please contact me.