
Data Challenge 2025
March 3, 2025
ICMI 2025
April 5, 2025Deutsche Version
Verwendete Technologien
Hier findet sich eine Übersicht über die verwendeten Tools, sowie deren Einsatzgebiete und jeweiligen Websites:
Dienst | Beschreibung | Website |
---|---|---|
Frontend | abatGPT Frontend | nicht vorhanden |
Backend | abatGPT Backend | nicht vorhanden |
MLBridge | API mit aus abatGPT Backend ausgelagertem rechenintensivem Code | nicht vorhanden |
MinIO | S3-Protokoll kompatibler Blob-Speicher | https://min.io/ |
Keycloak | Identitäts- und Zugriffsmanagement | https://www.keycloak.org/ |
PostgreSQL | Relationale Datenbank | https://www.postgresql.org/ |
ChromaDB | Vektordatenbank | https://www.trychroma.com/ |
Ollama | Bereitstellung von Large-Language-Modellen | https://ollama.ai/ |
Infinity (1. Instanz) | Bereitstellung von Embedding-Modellen | https://github.com/michaelfeil/infinity |
Infinity (2. Instanz) | Bereitstellung von Reranking-Modellen | https://github.com/michaelfeil/infinity |
nginx | Verteilung von Anfragen auf andere Dienste (Reverse Proxy) | https://nginx.org/ https://nginx.com/ |
Details zum Evaluationskonzept
Da nach unserer Recherche bestehende Frameworks zur Evaluation von RAG-Systemen oft zu technisch oder zu stark auf Einzelkomponenten fokussiert sind [6][7] , wurde ein neues, übergeordnetes Evaluationskonzept als methodische Blaupause entwickelt. Dieses Konzept unterstützt die strukturierte Planung, Durchführung und Dokumentation von Evaluationen für beliebige RAG-Anwendungen, indem es hilft, relevante Aspekte systematisch zu identifizieren und vergleichbar zu machen. Es gliedert den Prozess in Phasen (angelehnt an LlamaIndex [8]) mit definierbaren Bausteinen und Charakteristiken, fördert Transparenz sowie Nachvollziehbarkeit und dient als Orientierungshilfe für alle Beteiligten.
Das Evaluationskonzept unterteilt den RAG-Prozess hierbei in verschiedene Phasen, welche mit unterschiedlichen Charakteristika ausgestaltet werden können. Wir haben uns dazu entschieden, folgende Charakteristika der einzelnen Bausteine zu betrachten:
Phase | Baustein | Charakteristiken | |||
---|---|---|---|---|---|
Evaluation | Zieldefinition | Zielgruppen Anwendungskontext Anforderungen | |||
Testdaten | Erzeugung | Struktur | Menge | Inhaltsabdeckung | |
Loading | Extraktion | Inputformate Outputstrukturen | |||
Vorverarbeitung | Varianten Informationsreduktion Strukturbereinigung | ||||
Chunking | Splittingstrategien | Chunkgrößen | Overlap | ||
Storing & Indexing | Vektordatenbank | Struktur | Skalierbarkeit | ||
Embedding | Modelle | Dimensionsgröße | Kontextlänge | ||
Retrieval | Retriever | Suchverfahren Top-K-Selektion Query Expansion Metadaten-Filter | |||
Reranker | Modelle Top-K-Selektion Threshold | ||||
Answer Generation | LLM | Modelle | Modellparameter | ||
Prompting | Techniken | Kontextintegration | |||
Evaluation | Metriken | Fokus | Auswahl | Erhebung | Konsistenz |
Auswertung | Interpretation | Darstellung | Vergleichbarkeit | Transparenz |
Will man nun beispielsweise das Retrieval testen, so definiert man einerseits die Evaluationscharakteristika, die unabhängig von der Art der Evaluation immer festgelegt werden müssen (wie Zielgruppe, Testdatensatz, Ziele und Metriken), sowie spezielle Variationen für die verschiedenen Charakteristika des Retrievals. In unserer Evaluation sah die daraus resultierende Tabelle dann so aus:
Phase | Baustein | Charakteristik | Definierte Ausprägungen | ||||
---|---|---|---|---|---|---|---|
Evaluation | Zieldefinition | Zielgruppen | Neue Mitarbeiter und Entwickler von abat | ||||
Anwendungskontext | Wissensbasiertes Q&A System, Abfrage der Wissensdatenbank | ||||||
Anforderungen | abat-spezifische Antworten mit guter Nachvollziehbarkeit | ||||||
Testdaten | Erzeugung | Manuelle Erstellung und Labeling aus bereitgestellten Dokumenten | |||||
Struktur | Jeweils Frage, Referenzantwort, Datei, Referenztext aus Dokument, Fragetyp und Referenzchunk des Referenztextes in der Vektordatenbank | ||||||
Menge | 189 Datensätze | ||||||
Inhaltsabdeckung | Datensätze aus 43 bereitgestellten Dateien über abat und SAP | ||||||
Retrieval | Embedding | Modelle | gte-Qwen2-1.5B-instruct | mxbai-embed-large-v1 | jina-embeddings-v3 | mxbai-abat-matryoshka | |
Retriever | Top-K-Selektion | 5 | 10 | 20 | |||
Reranker | Modelle | gte-multilingual-reranker | bge-reranker-v2-m3 | ai-rerank-large-v1 | |||
Threshold | 0.0 | 0.2 | 0.5 | 0.65 | 0.8 | ||
Evaluation | Metriken | Fokus | Bewertung der Retrieval-Qualität anhand der Trefferquote bei den erwarteten Chunks sowie der erzielten Präzision | ||||
Auswahl | Hitrate | MRR | Precision | ||||
Erhebung | Präzise Messung von diskreten Ergebnissen auf Basis von gelabelten Referenzdaten | ||||||
Konsistenz | Deterministische Ergebnisse bei gleichen Inputs | ||||||
Auswertung | Interpretation | … | |||||
Darstellung | … | ||||||
Vergleichbarkeit | … | ||||||
Transparenz | … |
In unserem Fall wurden also vier Embeddingmodelle, drei Top-K-Einstellungen, drei Reranking-Modelle, sowie fünf Thresholds verglichen. Insgesamt ergeben sich dadurch also 180 verschiedene Kombinationen, die durch unser Testset durchlaufen und ausgewertet werden müssen. Die Auswertung erfolgte hierbei auf Basis der vorher festgelegten Metriken und führte dann zu einer Vorauswahl der jeweils besten Einstellungen basierend auf der Interpretation der Ergebnisse.
Am Ende wurden dann auf Grundlage dieser Vorauswahl Variationen das Gesamtsystems evaluiert. Hierbei wurde hauptsächlich auf die Antwortqualität wert gelegt.
English Version
Used Technologies
Here is an overview of the Tools we used for our Application:
Service | Description | Website |
---|---|---|
Frontend | abatGPT Frontend | not available |
Backend | abatGPT Backend | not available |
MLBridge | API with compute-intensive code offloaded from abatGPT Backend | not available |
MinIO | S3-protocol compatible blob storage | https://min.io/ |
Keycloak | Identity and Access Management | https://www.keycloak.org/ |
PostgreSQL | Relational Database | https://www.postgresql.org/ |
ChromaDB | Vector Database | https://www.trychroma.com/ |
Ollama | Serving of Large Language Models | https://ollama.ai/ |
Infinity (1st Instance) | Serving of Embedding Models | https://github.com/michaelfeil/infinity |
Infinity (2nd Instance) | Serving of Reranking Models | https://github.com/michaelfeil/infinity |
nginx | Distribution of requests to other services (Reverse Proxy) | https://nginx.org/ https://nginx.com/ |
Evaluation Details
Since our research indicated that existing frameworks for evaluating RAG systems are often too technical or too focused on individual components [6][7], a new, higher-level evaluation concept was developed as a methodological blueprint. This concept supports the structured planning, execution, and documentation of evaluations for any RAG application by helping to systematically identify relevant aspects and make them comparable. It divides the process into phases (based on LlamaIndex [8]) with definable building blocks and characteristics, promotes transparency and traceability, and serves as guidance for all stakeholders involved.
In this context, the evaluation concept breaks down the RAG process into various phases, which can be configured with different characteristics. We have decided to consider the following characteristics of the individual building blocks:
Phase | Building Block | Characteristics | |||
---|---|---|---|---|---|
Evaluation | Goal Definition | Target Groups Application Context Requirements | |||
Test Data | Generation | Structure | Volume | Content Coverage | |
Loading | Extraction | Input Formats Output Structures | |||
Preprocessing | Variants Information Reduction Structure Cleaning | ||||
Chunking | Splitting Strategies | Chunk Sizes | Overlap | ||
Storing & Indexing | Vector Database | Structure | Scalability | ||
Embedding | Models | Dimensionality | Context Length | ||
Retrieval | Retriever | Search Methods Top-K Selection Query Expansion Metadata Filtering | |||
Reranker | Models Top-K Selection Threshold | ||||
Answer Generation | LLM | Models | Model Parameters | ||
Prompting | Techniques | Context Integration | |||
Evaluation | Metrics | Focus | Selection | Collection | Consistency |
Analysis | Interpretation | Presentation | Comparability | Transparency |
If, for example, one wants to test the retrieval, one defines the evaluation characteristics that must always be determined regardless of the type of evaluation (such as target group, test dataset, goals, and metrics), as well as specific variations for the different characteristics of the retrieval. In our evaluation, the resulting table then looked like this:
Phase | Building Block | Characteristic | Defined Configurations | ||||
---|---|---|---|---|---|---|---|
Evaluation | Goal Definition | Target Groups | New employees and developers at abat | ||||
Application Context | Knowledge-based Q&A system, querying the knowledge database | ||||||
Requirements | abat-specific answers with good traceability | ||||||
Test Data | Generation | Manual creation and labeling from provided documents | |||||
Structure | Each: question, reference answer, file, reference text from document, question type, and reference chunk of the reference text in the vector database | ||||||
Amount | 189 datasets | ||||||
Content Coverage | Datasets from 43 provided files about abat and SAP | ||||||
Retrieval | Embedding | Models | gte-Qwen2-1.5B-instruct | mxbai-embed-large-v1 | jina-embeddings-v3 | mxbai-abat-matryoshka | |
Retriever | Top-K Selection | 5 | 10 | 20 | |||
Reranker | Models | gte-multilingual-reranker | bge-reranker-v2-m3 | ai-rerank-large-v1 | |||
Threshold | 0.0 | 0.2 | 0.5 | 0.65 | 0.8 | ||
Evaluation | Metrics | Focus | Evaluation of retrieval quality based on the hit rate for expected chunks and the achieved precision | ||||
Selection | Hit Rate | MRR | Precision | ||||
Collection | Precise measurement of discrete results based on labeled reference data | ||||||
Consistency | Deterministic results for identical inputs | ||||||
Analysis | Interpretation | … | |||||
Presentation | … | ||||||
Comparability | … | ||||||
Transparency | … |
Thus, in our case, four embedding models, three top-k settings, three reranking models, and five thresholds were compared. This resulted in a total of 180 different combinations that had to run through our test set and be evaluated. The evaluation was based on the previously defined metrics and then led to a pre-selection of the best respective settings based on the interpretation of the results.
Finally, based on this pre-selection, variations of the overall system were evaluated. In this process, the focus was mainly on answer quality.
Sources and Literature
[1] Jarrahi et al., 2023, S. 9
[2] Jarrahi et al., 2023, S. 3, 4
[3] Jarrahi et al., 2023, S. 4
[4] Statista, 2023
[5] Fraunhofer, 2024
[6] Monigatti, Leonie, 2023
[7] Sivasothy et al., 2024
[8] LlamaIndex, 2025
Jarrahi, M. H., Askay, D., Eshraghi, A., & Smith, P. (2023). Artificial intelligence and knowledge management: A partnership between human and AI. Business Horizons, 66, 87–99. https://doi.org/10.1016/j.bushor.2022.03.002
Statista. (2023). Wofür wird ChatGPT in Ihrem Unternehmen genutzt? last accessed 28. March 2025
https://de. statista.com/ statistik/daten/ studie/1401309/umfrage/chatgtp-nutzung-in-unternehmen/
Fraunhofer (2024). Retrieval Augmented Generation (RAG): Chatten mit den eigenen Daten last accessed 28. March 2025
https://www.iese.fraunhofer.de/blog/retrieval-augmented-generation-rag/
Monigatti, Leonie. (2023). Evaluating RAG applications with RAGAs. last accessed 01. April 2025
https://medium.com/towards-data-science/evaluating-rag-applications-with-ragas-81d67b0ee31a
Sivasothy, S., Barnett, S., Kurniawan, S., Rasool, Z., & Vasa, R. (2024). RAGProbe: An
Automated Approach for Evaluating RAG Applications. arXiv. https://arxiv.org/
abs/2409.19019
LlamaIndex. (2025c). Introduction to RAG. last accessed 01. April. 2025
https://docs .llamaindex.ai/en/stable/understanding/rag/