Startseite / Artikel / Produktionsorientierte HR-Politik-RAG mit LangChain und LangGraph

Produktionsorientierte HR-Politik-RAG mit LangChain und LangGraph

Eingabe, MMR, historiebasierte Überarbeitung, fundierte Antworten, Schutzmechanismen, Bewertung, Zitierungen sowie Graph-Orchestrierung für einen HR-Politik-Assistenten.

1510 Wörter

Ein Leitfaden, der die Dateneingabe, das Abrufen von MMR-Daten, abfragungsbezogene Berücksichtigung der Historie, Sicherheitsprüfungen, Evaluierungsmechanismen sowie die Benutzeroberfläche für mehrteilige Chats behandelt.

Einführung

Flüssige, generative Antworten reichen für das Unternehmenspersonalwesen nicht aus. Ein Richtlinienassistent darf keine Urlaubsregeln aus dem Vortraining erfinden. Er sollte genehmigte Dokumente abrufen und jede Behauptung auf diesen Quellen stützen. Das ist die Aufgabe der retrieval-augmented Generation (RAG).

Eine modulare, für die Produktion konzipierte HR-Politik-FAQ-Lösung kann Python, LangChain, LangGraph, ein mit OpenAI kompatibles Chat-Modell, ChromaDB, Streamlit, Embeddings, MMR-Auswertungsmethoden, abfragungsbezogene Umformulierungen unter Berücksichtigung des Kontexts, Prompt-Design, Eingabenzensur, Checks gegen Prompt-Injection, Auswertung der Ergebnisse, konversationelles Gedächtnis, Zusammenfassungsfunktionen sowie PDF-Export kombinieren. Ziel ist kein Demo-Chatbot – es handelt sich um ein RAG-System, das Qualität der Informationsbeschaffung, Gesprächskontext, Sicherheit, Bewertungsmethoden sowie Benutzerfreundlichkeit ernst nimmt.

1. Das Problem

Wenn jemand fragt: „Wie viele Krankheitstage sind erlaubt?“, könnte ein einfaches LLM eine Antwort erfunden haben. Ein HR-Assistent hingegen sollte:

  1. Die Frage verstehen
  2. Organisatorische HR-Dokumente durchsuchen
  3. Die relevantesten Abschnitte finden
  4. Diese Abschnitte an das Modell weiterleiten
  5. Eine auf ihnen basierende Antwort erstellen
  • Zitieren Sie Quellen, damit der Mitarbeiter sie überprüfen kann
  • Hochlevel-Fluss: HR-Dokumente → Aufnahme → Teilung in Blöcke + Metadaten → Embeddings → ChromaDB → Abrufmechanismus → abfragungsbezogener Suchablauf → relevante Dokumente → fundierter Prompt → Antwort → Zitate.

    2. Aufnahme der Dokumente

    Rohdaten werden suchbare Blöcke. Vollständige Dokumente sind zu groß, um in jeden Prompt aufgenommen zu werden, und können die Kontextgrenzen überschreiten. Die Blöcke enthalten Metadaten wie Dateinamen, Pfad, Ordner, Dokumenttyp und Quellkennzeichnungen – diese sind später nützlich für Zitate, Fehlerbehebung und die Überprüfung der abgerufenen Ergebnisse.

    3. Embeddings und Vektorlagern

    Jeder Block wird zu einem Embedding-Vektor:

    "Employees receive annual leave..."
                 ↓
           Embedding Model
                 ↓
          [0.12, -0.43, 0.87, ...]
    

    Vektoren und Metadaten werden in ChromaDB gespeichert. Nutzerfragen werden auf dieselbe Weise eingebettet, sodass semantisch ähnliche Richtlinien auch bei unterschiedlicher Formulierung angezeigt werden (“Zeitfreistellung aufgrund von Krankheit” vs “Recht auf Krankenurlaub”).

    4. Abfrage mit MMR

    Die naive top-k-Similarity kann vier nahezu identische Blöcke zur Urlaubsrichtlinie zurückgeben:

    Chunk 1 → Leave policy
    Chunk 2 → Leave policy
    Chunk 3 → Leave policy
    Chunk 4 → Leave policy
    

    Die maximale marginale Relevanz balanciert Relevanz und Vielfalt. Ein größeres Kandidatenpool mit fetch_k, gefolgt von der Auswahl der endgültigen k mit MMR, verringert die Redundanz:

    10,000 chunks
          ↓
    Similarity search
          ↓
    20 candidate chunks
          ↓
    MMR
          ↓
    4 diverse + relevant chunks
          ↓
    LLM
    

    5. abfragengestützte Abfrage

    Aufgaben wie „Wie sieht es mit Managern aus?“ nach einer Antwort zur Jahresurlaubspolitik sind für sich genommen unklar. Ein schritt, der die Konversationshistorie berücksichtigt, formuliert die Anfrage vor der Abfrage neu:

    Conversation History
            +
    Current Question
            ↓
           LLM
            ↓
    Standalone Search Query
    

    Dadurch wird die Kontextualisierung der Anfrage (was meinte der Benutzer?) von der Erstellung der Antwort (was sollte die Antwort anhand der Dokumente enthalten?) getrennt.

    6. begründete Antworterstellung

    Die abgerufenen Datenblöcke liefern einen Prompt, der dem Modell mitteilt, ausschließlich HR-Dokumente zu verwenden, keine Richtlinien zu erfinden, Ausschlüsse aufzuzeigen, prägnant zu bleiben und Lücken einzugestehen. Architektur: Frage → Kontextualisierung → Abrufmechanismus → Dokumente → QA-Prompt → LLM → fundierte Antwort. Das Modell verfasst den Text; das Korpus liefert die Fakten.

    7. Warum LangGraph

    Sobald sich die Phasen – Validierung, Moderation, Erkennung von Eingriffen, Abfragenverarbeitung, Abruf, Erstellung, Speicherung, Zusammenfassung – vermehren, wird eine lineare Kette anfällig. LangGraph modelliert den Workflow als Zustände und Knoten:

                    User Input
                        ↓
                   Validation
                        ↓
                  Guardrails
                    ↙     ↘
              Safe          Unsafe
               ↓               ↓
           RAG Workflow      Reject
               ↓
          Final Response
               ↓
           Conversation
            Management
    

    Der Graph lässt sich leichter erweitern als eine einzige riesige Funktion.

    8. Schutzmaßnahmen

    Die Eingaben für die Produktion müssen vor der RAG-Verarbeitung überprüft werden:

    • Moderation – Inhalte, die gegen Richtlinien verstoßen, frühzeitig blockieren
    • Erkennung von Prompt-Eingriffen – Angriffe im Stil von „Ignoriere vorherige Anweisungen…“ ablehnen

    Die Reihenfolge ist wichtig: Benutzereingabe → Sicherheitsprüfungen → RAG, nicht Benutzereingabe → rohes LLM.

    9. Gesprächsmerkmale und Zusammenfassung

    Mehrfachinteraktions-Assistenten benötigen einen Historieverlauf, doch unbegrenzte Transkripte verbrauchen viele Token. Das Zusammenfassen älterer Interaktionen bewahrt die relevanten Informationen bei gleichzeitiger Begrenzung des aktiven Kontexts – ein Kompromiss zwischen Erhaltung und Kosten.

    10. Bewertung der Informationsabrufung

    Eine Antwort kann fließend wirken, obwohl die Informationsabrufung fehlschlug. Prüfen Sie, ob die richtigen Abschnitte übermittelt wurden, und nicht nur, ob Text zurückgegeben wurde. Bewerten Sie die Qualität der Informationsabrufung, die fundierte Generierung sowie das Verhalten der Anwendung als separate Aspekte.

    11. Quellenangaben

    Ziehen Sie Aussagen wie „Mitarbeiter erhalten 20 Tage Jahresurlaub (Urlaubsrichtlinie §3)“ vor bloßen Behauptungen. Quellenangaben stärken das Vertrauen, erleichtern die Fehlersuche und verbessern die Nachvollziehbarkeit, da Mitarbeiter das ursprüngliche PDF öffnen können.

    12. Export der PDF-Gesprächsdaten

    Durch den Export einer Konversation in PDF können Mitarbeiter eine Aufzeichnung für später behalten. Es handelt sich um ein Usability-Element, das zeigt, dass das System für echte Arbeit konzipiert ist und kein temporäres Chat-Widget.

    Abschluss

    Ein für die Produktion geeigneter HR-RAG-Assistent umfasst eine Kette aus Dateneingang, Abrufstrategie, konversationeller Umformulierung, Grundlegung, Graph-Orchestrierung, Sicherheitsmaßnahmen, Bewertung und Zitierungen. LangChain und LangGraph helfen dabei, diese Schritte zusammenzustellen; Chroma und MMR bestimmen, was das Modell sehen darf. Die unverhandelbare Produktregel bleibt: Antwortvorschläge stammen aus genehmigten Dokumenten, nicht aus dem Internetgedächtnis des Modells.

    Designentscheidungen, die in der Praxis wichtig sind

    Die Größe der Blöcke sowie das Überschneidungsniveau sind nicht nur kosmetischer Natur. Zu große Blöcke schwächen das Embedding-Signal; zu kleine Blöcke führen zum Verlust der umgebenden Richtlinienbeschränkungen. Das Überschneiden hilft, wenn eine Regel eine Grenze überspannt. Metadaten sind keine optionalen Verzierungen – ohne Dateinamen und Hinweise zu den Abschnitten werden Zitate unklar und Bewertungssätze schwer beurteilbar.

    Die MMR-Parameter (fetch_k, k, Diversity-Lambda) sollten anhand eines gelabelten Fragekatalogs abgestimmt werden, nicht aufgrund von Intuition. Ein zu kleiner Kandidatenpool liefert niemals vielfältige Abschnitte; ein zu großer Pool verschwendet Latenzzeit.

    Historiebewusstes Umformulieren darf keine Fakten erfinden. Der Umformulierungs Schritt sollte lediglich Pronomen sowie unvollständige Nachfragen in eigenständige Suchanfragen erweitern. Wenn das Umformulierungsmodell dazu neigt, direkt zu antworten, erhält die Suche niemals eine saubere Anfrage.

    Schutzmechanismen müssen bereits vor der Informationsabfrage vorhanden sein. Moderation und Erkennung von Eingriffen, die erst nachdem das Modell bereits den Text der Datenschutzerklärung gesehen hat, durchgeführt werden, sind zu spät. Bei Verdacht auf Eingriffe soll sofort abgelehnt werden; eine Genehmigung ist nur zulässig, wenn die Produktrichtlinie ausdrücklich sanfte Blockierungen mit Protokollierung erlaubt.

    Die Bewertung sollte sowohl die Informationsabfrage (Recall@k der erwarteten Dokument-ID) als auch die Generierung (Treue zum abgerufenen Text) berücksichtigen. Eine ansprechende Antwort auf der Grundlage einer falschen Klausel gilt dennoch als Fehlschlag. Speichern Sie Spuren: die umgeschriebene Abfrage, die abgerufenen IDs, die endgültige Antwort sowie die Zitierliste.

    Streamlit (oder jede andere einfache Benutzeroberfläche) sollte Zitierungen sowie „unbekannte“ Zustände klar darstellen. Mitarbeiter vertrauen Systemen, die Lücken eingestehen, mehr als solchen, die übertriebene Urlaubsregelungen erfinden.

    Die Exportfunktion in PDF ist ein Funktion zur Datenspeicherung: Nutzer kopieren die Antworten aus den Richtlinien in Tickets. Behandeln Sie den exportierten Text als potenziell sensibel und wenden Sie dieselben Zugriffskontrollen an wie bei der Chat-Sitzung.

    Zum Schluss sollte der optimale Ablauf des Diagramms deutlich sichtbar sein. Neue Ingenieure sollten in der Lage sein, die Schritte Validierung → Überarbeitung → Abruf → Erstellung → Antwort ohne das Durchforsten optionaler Pfade auszuführen. Optionale Pfade (Zusammenfassung, Export) sind an klare Knoten angebunden und nicht in den Erstellungsprozess eingebettet.

    Diese Disziplin verwandelt eine Wochenend-Demo von RAG in etwas, das ein HR-Team ohne Angst vor stillen Fehlinterpretationen der Richtlinien testen kann.

    Die einzelnen Schritte in einer Zeitachse darstellen

                        HR DOCUMENTS
                             │
                             ▼
                    DOCUMENT INGESTION
                             │
                    Chunking + Metadata
                             │
                             ▼
                        EMBEDDINGS
                             │
                             ▼
                         CHROMADB
                             │
                             ▼
                        RETRIEVER
                        (MMR Search)
                             │
                             │
    USER ──→ GUARDRAILS ─────┤
                             │
                             ▼
                  HISTORY-AWARE QUERY
                      CONTEXTUALIZATION
                             │
                             ▼
                        RETRIEVAL
                             │
                             ▼
                    RELEVANT DOCUMENTS
                             │
                             ▼
                      QA PROMPT + LLM
                             │
                             ▼
                      GROUNDED ANSWER
                             │
                        ┌────┴────┐
                        ↓         ↓
                    Citations   Memory
                                  │
                                  ▼
                             Summarization
                                  │
                                  ▼
                             PDF Export
    

    Der erste Tag beschränkt sich oft auf das Einbetten von PDFs und Chatten. Ab dem zweiten bis zehnten Tag treten die eigentlichen Produktfunktionen in Erscheinung: Metadatenschemata, Anpassung von MMR, Nachschreibevorschläge, Moderationsmechanismen, Klassifizierer für Eingaben, Bewertungstabellen, Formatierung von Zitaten sowie Zusammenfassung von Gesprächen. Wenn man diese Schritte überspringt, erhält man ein System, das bei einfachen Fragen gut funktioniert, aber bereits beim zweiten Versuch, bei feindlichen Anfragen oder bei der Suche nach nahezu identischen Inhalten versagt.

    LangChain hilft dabei, Modelle und Suchobjekte miteinander zu verbinden; LangGraph ermöglicht es, den Ablauf der Steuerung nachzuvollziehen. Keines davon ersetzt eine produktbezogene Entscheidung darüber, welche HR-Ordnner als autoritativ gelten, wer welche Richtlinien anfordern darf und wie „Unbekanntes“ in der Benutzeroberfläche dargestellt werden soll. Solche Entscheidungen gehören in die Designdokumente neben dem Diagramm des Graphen.

    Wenn in der Produktion etwas schiefgeht, ist der schnellste Debugging-Weg in der Regel: Die umgeschriebene Abfrage überprüfen, die abgerufenen Chunk-IDs auflisten, diese Chunks lesen und anschließend den zugrunde liegenden Prompt einsehen. Falls dieser Ablauf in den Logs fehlt, muss die Überwachbarkeit verbessert werden, bevor ein weiteres Modell hinzugefügt wird.