2024 | Nicholas Matsumoto, Jay Moran, Hyunjun Choi, Miguel E. Hernandez, Mythreye Venkatesan, Paul Wang, Jason H. Moore
**KRAGEN: A Knowledge Graph-Enhanced RAG Framework for Biomedical Problem Solving Using Large Language Models**
**Motivation:** Answering complex biomedical questions using large language models (LLMs) is challenging due to the need for factual consistency and logical reasoning, which LLMs often struggle with, leading to false or irrelevant information.
**Results:** KRAGEN is a new tool that combines knowledge graphs, Retrieval Augmented Generation (RAG), and advanced prompting techniques to solve complex problems with natural language. It converts knowledge graphs into a vector database and uses RAG to retrieve relevant facts. KRAGEN employs graph-of-thought (GoT) techniques to break down complex problems into smaller subproblems, solve them using RAG, and consolidate the solutions. The GoT visualization allows users to interact with and evaluate the quality of the solution's structure and logic.
**Availability and Implementation:** KRAGEN is deployed via custom Docker containers and is available as open-source on GitHub.
**Introduction:** KRAGEN addresses the limitations of LLMs by augmenting them with external knowledge sources, enhancing their reasoning capabilities. The GoT technique decomposes problems into subproblems and represents the LLM's output as a graph, improving explainability and trustworthiness.
**Application Features:**
1. **Knowledge Graph Embedding with Weaviate:** KRAGEN embeds the knowledge graph into a vector space using Weaviate, an open-source vector database.
2. **Graph of Thoughts Prompting:** KRAGEN uses GoT to solve complex problems by decomposing them into subproblems and representing the LLM's output as a graph.
3. **GoT Visualization:** KRAGEN's GUI visualizes the GoT, allowing users to interact with and understand the LLM's thought process.
**Example Use Case: Alzheimer's Disease Knowledge Graph (AlzKB):**
- **Data Preparation:** Processed AlzKB Neo4j database dump to generate vector embeddings.
- **RAG Deployment:** Configured RAG to retrieve relevant information from the vector database.
- **Query Processing and Response Generation:** KRAGEN processes user queries, generates a GoT, and retrieves relevant facts to provide coherent answers.
**Results:** KRAGEN demonstrated superior performance in multiple-choice and true/false questions compared to baseline models, with improved accuracy in 1-hop and 2-hop reasoning.
**Conclusion:** KRAGEN combines LLMs' reasoning power with knowledge graphs to answer complex biomedical questions. It provides a visual interface for understanding the logic behind the generated responses, making it a valuable tool for researchers and practitioners. KRAGEN can be further applied to medical domains to provide personalized and evidence-based solutions with transparent reasoning.**KRAGEN: A Knowledge Graph-Enhanced RAG Framework for Biomedical Problem Solving Using Large Language Models**
**Motivation:** Answering complex biomedical questions using large language models (LLMs) is challenging due to the need for factual consistency and logical reasoning, which LLMs often struggle with, leading to false or irrelevant information.
**Results:** KRAGEN is a new tool that combines knowledge graphs, Retrieval Augmented Generation (RAG), and advanced prompting techniques to solve complex problems with natural language. It converts knowledge graphs into a vector database and uses RAG to retrieve relevant facts. KRAGEN employs graph-of-thought (GoT) techniques to break down complex problems into smaller subproblems, solve them using RAG, and consolidate the solutions. The GoT visualization allows users to interact with and evaluate the quality of the solution's structure and logic.
**Availability and Implementation:** KRAGEN is deployed via custom Docker containers and is available as open-source on GitHub.
**Introduction:** KRAGEN addresses the limitations of LLMs by augmenting them with external knowledge sources, enhancing their reasoning capabilities. The GoT technique decomposes problems into subproblems and represents the LLM's output as a graph, improving explainability and trustworthiness.
**Application Features:**
1. **Knowledge Graph Embedding with Weaviate:** KRAGEN embeds the knowledge graph into a vector space using Weaviate, an open-source vector database.
2. **Graph of Thoughts Prompting:** KRAGEN uses GoT to solve complex problems by decomposing them into subproblems and representing the LLM's output as a graph.
3. **GoT Visualization:** KRAGEN's GUI visualizes the GoT, allowing users to interact with and understand the LLM's thought process.
**Example Use Case: Alzheimer's Disease Knowledge Graph (AlzKB):**
- **Data Preparation:** Processed AlzKB Neo4j database dump to generate vector embeddings.
- **RAG Deployment:** Configured RAG to retrieve relevant information from the vector database.
- **Query Processing and Response Generation:** KRAGEN processes user queries, generates a GoT, and retrieves relevant facts to provide coherent answers.
**Results:** KRAGEN demonstrated superior performance in multiple-choice and true/false questions compared to baseline models, with improved accuracy in 1-hop and 2-hop reasoning.
**Conclusion:** KRAGEN combines LLMs' reasoning power with knowledge graphs to answer complex biomedical questions. It provides a visual interface for understanding the logic behind the generated responses, making it a valuable tool for researchers and practitioners. KRAGEN can be further applied to medical domains to provide personalized and evidence-based solutions with transparent reasoning.