SummaryIn this episode of the AI Engineering podcast, Philip Rathle, CTO of Neo4J, talks about the intersection of knowledge graphs and AI retrieval systems, specifically Retrieval Augmented Generation (RAG). He delves into GraphRAG, a novel approach that combines knowledge graphs with vector-based similarity search to enhance generative AI models. Philip explains how GraphRAG works by integrating a graph database for structured data storage, providing more accurate and explainable AI responses, and addressing limitations of traditional retrieval systems. The conversation covers technical aspects such as data modeling, entity extraction, and ontology use cases, as well as the infrastructure and workflow required to support GraphRAG, setting the stage for innovative applications across various industries.AnnouncementsHello and welcome to the AI Engineering Podcast, your guide to the fast-moving world of building scalable and maintainable AI systemsYour host is Tobias Macey and today I'm interviewing Philip Rathle about the application of knowledge graphs in AI retrieval systemsInterviewIntroductionHow did you get involved in machine learning?Can you describe what GraphRAG is?What are the capabilities that graph structures offer beyond vector/similarity-based retrieval methods of prompting?What are some examples of the ways that semantic limitations of nearest-neighbor vector retrieval fail to provide relevant results?What are the technical requirements to implement graph-augmented retrieval?What are the concrete ways in which the embedding and retrieval steps of a typical RAG pipeline need to be modified to account for the addition of the graph?Many tutorials for building vector-based knowledge repositories skip over considerations around data modeling. For building a graph-based knowledge repository there obviously needs to be a bit more work put in. What are the key design choices that need to be made for implementing the graph for an AI application?How does the selection of the ontology/taxonomy impact the performance and capabilities of the resulting application?Building a fully functional knowledge graph can be a significant undertaking on its own. How can LLMs and AI models help with the construction and maintenance of that knowledge repository?What are some of the validation methods that should be brought to bear to ensure that the resulting graph properly represents the knowledge domain that you are trying to model?Vector embedding and retrieval are a core building block for a majority of AI application frameworks. How much support do you see for GraphRAG in the ecosystem?For the case where someone is using a framework that does not explicitly implement GraphRAG techniques, what are some of the implementation strategies that you have seen be most effective for adding that functionality?What are some of the ways that the combination of vector search and knowledge graphs are useful independent of their combination with language models?What are the most interesting, innovative, or unexpected ways that you have seen GraphRAG used?What are the most interesting, unexpected, or challenging lessons that you have learned while working on GraphRAG applications?When is GraphRAG the wrong choice?What are the opportunities for improvement in the design and implementation of graph-based retrieval systems?Contact InfoLinkedInParting QuestionFrom your perspective, what are the biggest gaps in tooling, technology, or training for AI systems today?Closing AnnouncementsThank you for listening! Don't forget to check out our other shows. The Data Engineering Podcast covers the latest on modern data management. Podcast.__init__ covers the Python language, its community, and the innovative ways it is being used.Visit the site to subscribe to the show, sign up for the mailing list, and read the show notes.If you've learned something or tried out a project from the show then tell us about it! Email hosts@aiengineeringpodcast.com with your story.To help other people find the show please leave a review on iTunes and tell your friends and co-workers.LinksNeo4JGraphRAG ManifestoRAG == Retrieval Augmented GenerationPodcast EpisodeVLDB == Very Large DataBasesKnowledge GraphNearest Neighbor SearchPageRankThings Not Strings) Google Knowledge Graph PaperpgvectorPineconeData Engineering Podcast EpisodeTables To LabelsNLP == Natural Language ProcessingOntologyLangChainLlamaIndexRLHF == Reinforcement Learning with Human FeedbackSenzingNeoConverseCypher query languageGQL query standardAWS BedrockVertex AISequoia Training Data - Klarna episodeOuroborosThe intro and outro music is from Hitman's Lovesong feat. Paola Graziano by The Freak Fandango Orchestra/CC BY-SA 3.0