← Zurück zur Übersicht
Eigenprojekt2024

RAG Requirements Generator

Proof of Concept für automatische Requirements-Erstellung basierend auf Unternehmensdaten und Lastenheften

RAG Requirements Generator

Überblick

Ein Proof of Concept (POC) für eine Streamlit-Anwendung, die Retrieval-Augmented Generation (RAG) mit Large Language Models nutzt, um automatisch präzise Spezifikationsdokumente zu erstellen. Das Tool unterstützt Projektmanager und Requirements Engineers beim Erstellen von Anforderungsdokumenten basierend auf Unternehmensdaten, vorherigen Lastenheften und strukturierten Q&A-Workflows.

Motivation

Die Erstellung präziser Requirements-Dokumente ist zeitaufwändig und fehleranfällig. Dieser POC demonstriert, wie RAG-Technologie genutzt werden kann, um den Prozess zu beschleunigen, Konsistenz zu gewährleisten und vorhandenes Wissen aus früheren Projekten automatisch einzubinden.

Funktionsweise

Das System arbeitet in mehreren Phasen:

1. Q&A-Phase

  • Strukturierte Fragen zum Projektkonzept, Zielen und Zielgruppe
  • Erfassung von Must-Have Requirements und Constraints
  • Budget-, Zeitplan- und Ressourcen-Informationen
  • Liefer- und Abnahmebedingungen

2. Dokumenten-Upload

  • Upload vorheriger Requirements-Dokumente (PDF, DOCX, TXT)
  • Automatische Vektorisierung der Dokumente
  • Speicherung im lokalen .storage-Verzeichnis
  • Integration in den RAG-Kontext

3. RAG-basierte Generierung

  • Kontextuelle Suche in hochgeladenen Dokumenten
  • Kombination aus Nutzer-Antworten und historischen Daten
  • LLM-generierte Requirements basierend auf relevantem Kontext
  • Strukturierte Ausgabe nach Anforderungs-Kategorien

4. Iterative Verfeinerung

  • Chat-Interface für Nachfragen und Anpassungen
  • Kontextuelle Verbesserungen basierend auf Feedback
  • Export der finalen Requirements-Dokumente

Features

  • Interaktiver Requirements-Workflow mit strukturierten Fragen
  • RAG-basierte Kontextnutzung aus vorherigen Projekten
  • Auswählbare Sektionen: Gesamtanforderungen, Allgemeine Infos, Funktionale/Nicht-funktionale Requirements, Bedingungen
  • Multi-Format Upload (PDF/DOCX/TXT)
  • Lokales LLM für Datenschutz (keine Cloud-Abhängigkeit)
  • Modulare, erweiterbare Architektur
  • Optimiert für Projektmanager und Requirements Engineers

Technische Implementation

Frontend & Workflow

  • Streamlit für interaktive Web-Oberfläche
  • Schritt-für-Schritt Q&A-Prozess
  • Echtzeit-Feedback und Chat-Interface

RAG-Pipeline

  • LlamaIndex als RAG-Framework
  • sentence-transformers (all-MiniLM-L6-v2) für Embeddings
  • Vektorbasierte Dokumentensuche
  • Kontextuelle Chunk-Retrieval

LLM-Integration

  • Lokaler LLM-Endpoint (z.B. via LM Studio)
  • HuggingFace Embeddings
  • Flexible Model-Konfiguration
  • Privacy-First Ansatz

Anforderungs-Kategorien

Das System kann verschiedene Arten von Requirements generieren:

1

Gesamtanforderungen

Vollständiges Requirements-Dokument mit allen Sektionen

2

Allgemeine Informationen

Projektkontext, Stakeholder, Zielgruppe

3

Funktionale Requirements

Was das System können muss - Features und Funktionalitäten

4

Nicht-funktionale Requirements

Performance, Sicherheit, Skalierbarkeit, Usability

5

Bedingungen & Constraints

Budget, Timeline, Ressourcen, Abnahmekriterien

Anwendungsfall

Dieser POC wurde entwickelt, um zu demonstrieren, wie Unternehmen ihre Requirements-Prozesse automatisieren können. Durch die Nutzung vorhandener Lastenheft und Projektdokumente als Wissensbasis können neue Requirements schneller, konsistenter und mit höherer Qualität erstellt werden.

Erkenntnisse

Der POC zeigt, dass RAG-Technologie effektiv für Requirements Engineering eingesetzt werden kann. Die Kombination aus strukturierten Fragen und kontextuellem Dokumenten-Retrieval führt zu präziseren und konsistenteren Anforderungsdokumenten. Der lokale LLM-Ansatz gewährleistet Datenschutz - besonders wichtig für sensible Unternehmensdaten.

Verwendete Technologien

PythonStreamlitLlamaIndexsentence-transformersHuggingFaceLLMRAG