title: Enhancing cheminformatics documentation and code understanding
Creators: name: Schöndorfer, Selina Vanessa
Publisher: name: :none
Year: 2025

description: Large Language Modelle (LLMs) haben in den letzten Jahren beeindruckende Fortschritte in Bereichen wie der Erzeugung natürlicher Sprache und Code herbeigeführt. Trotz ihrer Fähigkeiten haben sie auch einige Nachteile: Die meisten LLMs leiden an Halluzinationen und sind von Natur aus durch das Wissen ihres Trainingskorpus begrenzt. Ein vielversprechender Ansatz, der erwiesenermaßen bei diesen Problemen helfen kann, ist Retrieval Augmented Generation (RAG), das das parametrische Wissen der LLMs mit einer externen Wissensbasis erweitert. Graph RAG benutzt Knowledge Graphen als externe Wissensbasis und ermöglicht damit die Darstellung von komplexen Beziehungen und Hierarchien, was ein wichtiger Aspekt der Codegenerierung und Dokumentation ist. In dieser Arbeit haben wir ein Graph RAG System zur Fragenbeantwortung und Codegenerierung für das CDPKit, ein Toolkit aus der Chemieinformatik, implementiert, allein basierend auf dessen Python API Dokumentation. Dafür übersetzten wir die Dokumentation in einen Neo4j Knowledge Graphen. Dann bezog das Graph RAG System den relevanten Kontext vom Knowledge Graphen mit Hilfe einer Cypher Abfrage und beantwortete Nutzeranfragen basierend auf diesem Kontext. Um das Graph RAG System für Nutzer zugänglich zu machen, bauten wir ein Dashboard mit einer Chat Schnittstelle. Das System wurde von einem Menschen und einem LLM anhand eines Sets von Testfragen evaluiert. Wir berechneten die Metriken Accuracy, Recall, Precision und F1 Wert. Unsere Ergebnisse zeigen, dass das Graph RAG System spezifische Fragen zum CDPKit beantworten und einfache Code Teile generieren kann. Bei generellen Fragen sank die Performance. Wir sind der Meinung, dass diese Arbeit eine gute Grundlage für zukünftige Entwicklungen bietet, und wir schlagen Ideen vor, wie das Graph RAG System weiter verbessert werden kann.
description: Large Language Models (LLMs) have brought impressive advancements to fields like natural language and code generation. Despite their abilities, however, they still have some disadvantages: Most LLMs suffer from hallucinations and are inherently limited by the knowledge in their training corpus. A promising approach that has been shown to alleviate these issues is Retrieval Augmented Generation (RAG), which enhances the parametric memory of LLMs with an external knowledge base. Graph RAG uses Knowledge Graphs as the knowledge base, enabling the representation of complex relationships and hierarchies, which is an important aspect in code generation and documentation. In this thesis, we implemented a question answering and code generating Graph RAG system for the CDPKit, a cheminformatics toolkit, solely based on its Python API documentation. To do so, we first parsed its documentation into a Neo4j Knowledge Graph. The Graph RAG system then retrieved relevant context from the Knowledge Graph via a Cypher query and answered user queries based on this context. To make the Graph RAG available to users, we built a dashboard with a chat interface for it. The system was evaluated on a set of test questions by a human evaluator and an LLM. We calculated the metrics Accuracy, Recall, Precision and F1 score. We found that our Graph RAG system was able to answer specific questions about the CDPKit and provide basic code snippets, but its performance dropped for general questions. We therefore think that this work provides a good base for future development, and we provide ideas on how to improve the Graph RAG system further.