RAG-Chatbot mit AWS Bedrock: Dokumenten-Assistent für den Mittelstand

RAG-Chatbot mit AWS Bedrock: interner Dokumenten-Assistent für den Mittelstand – ohne Vektor-DB, ohne ML-Wissen, DSGVO-konform. Schritt-für-Schritt-Anleitung.

RAG Chatbot mit AWS Bedrock: Dokumenten Assistent für den Mittelstand

<p data speakable Wissensarbeiter verbringen rund 20 % ihrer Arbeitszeit mit der Suche nach Informationen — acht Stunden pro Woche (Quelle: McKinsey). Ein RAG Chatbot (Retrieval Augmented Generation) löst dieses Problem: Er durchsucht Ihre internen Dokumente und beantwortet Fragen mit Quellenangabe, ohne Halluzinationen und ohne Datenweitergabe an externe Anbieter. Mit AWS Bedrock, Lambda und einer Vector Datenbank läuft das System vollständig in Ihrer AWS Umgebung (eu central 1) und ist in 4–6 Wochen produktionsreif.</p

In diesem Artikel zeige ich Ihnen Schritt für Schritt, wie Sie einen eigenen Dokumenten Chatbot mit AWS Bedrock, Lambda und einem Flutter Frontend aufbauen.

Was ist RAG? – Einfach erklärt

RAG steht für Retrieval Augmented Generation – auf Deutsch etwa „abrufgestützte Textgenerierung". Das Prinzip ist einfach: Bevor das KI Modell antwortet, werden zuerst die relevanten Informationen aus Ihren Dokumenten geholt und dem Modell als Kontext mitgegeben. Die KI antwortet also nicht aus ihrem allgemeinen Training, sondern auf Basis Ihrer konkreten Dokumente .

In vielen RAG Tutorials lesen Sie von Embeddings, Vektor Datenbanken und komplexen Retrieval Pipelines. Das ist die richtige Lösung, wenn Sie Hunderte oder Tausende Dokumente durchsuchen müssen. Aber für den häufigsten Anwendungsfall im Mittelstand – ein Mitarbeiter lädt ein Dokument hoch und stellt Fragen dazu – gibt es einen deutlich einfacheren Ansatz .

Claude auf Amazon Bedrock verarbeitet bis zu 200.000 Tokens in einem einzigen Request. Das entspricht ungefähr 100 Seiten Text. Wir können also das gesamte Dokument direkt an Claude schicken, zusammen mit der Frage des Nutzers. Kein Vektor Store, kein Embedding Modell, keine Chunking Strategie. Das Dokument wird per AWS Textract in Text umgewandelt, in S3 gecacht und bei jeder Frage vollständig als Kontext mitgegeben.

Wann brauchen Sie eine echte Vektor Datenbank? Erst wenn Sie über alle Dokumente gleichzeitig suchen wollen oder die Dokumentmenge den Context Window von Claude übersteigt – also typischerweise ab mehreren Hundert Dokumenten. Für den Einstieg ist der hier gezeigte Ansatz nicht nur einfacher, sondern auch schneller produktiv und deutlich günstiger im Betrieb.

Backend Architektur mit CDK v2

Die gesamte Backend Architektur besteht aus vier AWS Services, die über API Gateway orchestriert werden:

API Gateway → Lambda → Textract / Bedrock → S3

Das Backend stellt zwei Endpoints bereit:

POST /upload nimmt eine PDF Datei entgegen, speichert sie in S3 und startet die Textextraktion über AWS Textract. Der extrahierte Text wird ebenfalls in S3 abgelegt und gecacht. Bei wiederholten Fragen zum selben Dokument fällt also keine erneute OCR Verarbeitung an. Der Endpoint gibt eine docId zurück, die das Dokument eindeutig identifiziert.

POST /ask erwartet eine docId und eine Frage als Parameter. Die Lambda Funktion lädt den gecachten Dokumenttext aus S3, baut den Prompt zusammen und sendet beides an Amazon Bedrock. Die Antwort von Claude wird direkt an das Frontend zurückgegeben.

Die gesamte Infrastruktur ist als Infrastructure as Code mit AWS CDK v2 definiert. Ein Auszug aus dem Stack:

Warum CDK statt manueller Konfiguration in der AWS Konsole? Drei Gründe: Der Stack ist reproduzierbar – ein cdk deploy erstellt die identische Umgebung in jedem AWS Account. Er ist versionierbar – jede Änderung an der Infrastruktur wird in Git nachvollziehbar. Und er ist reviewbar – Ihr Team kann Infrastruktur Änderungen im Pull Request prüfen, bevor sie ausgerollt werden.

Prompt Engineering für Dokumenten QA

Der Prompt ist das Herzstück des Chatbots. Er entscheidet darüber, ob Sie präzise, quellenbasierte Antworten bekommen oder kreative Halluzinationen. Unser System Prompt ist bewusst restriktiv formuliert:

``` System: "Du bist ein Dokumenten Assistent. Beantworte Fragen basierend AUSSCHLIEßLICH auf dem folgenden Dokumenttext. Wenn die Antwort nicht im Dokument steht, sage das ehrlich. Zitiere relevante Stellen."

User: "DOKUMENT:\n \n\nFRAGE: " ```

Drei Designentscheidungen machen diesen Prompt zuverlässig:

Anti Halluzination durch explizite Einschränkung. Die Formulierung „AUSSCHLIEßLICH auf dem folgenden Dokumenttext" ist kein Vorschlag, sondern eine klare Grenze. Kombiniert mit „sage das ehrlich" wird Claude angewiesen, bei fehlenden Informationen offen zu antworten, anstatt plausibel klingende Antworten zu erfinden. Das ist für den Unternehmenseinsatz entscheidend – eine falsche Antwort auf eine Frage zur IT Sicherheitsrichtlinie kann teurer werden als gar keine Antwort.

Quellenangabe erzwingen. Die Anweisung „Zitiere relevante Stellen" sorgt dafür, dass Claude seine Antwort mit konkreten Passagen aus dem Dokument belegt. Der Nutzer kann die Antwort sofort überprüfen und im Originaldokument nachschlagen.

Niedrige Temperature für faktenbasierte Antworten. Wir setzen die Temperature auf 0.1 bis 0.3 . Bei kreativen Aufgaben wie Texterstellung ist eine höhere Temperature sinnvoll, bei Dokumenten QA wollen wir das Gegenteil: möglichst konsistente, faktennahe Antworten. Die gleiche Frage sollte jedes Mal die gleiche Antwort liefern.

Ein Beispiel Dialog verdeutlicht das Zusammenspiel: Ein Mitarbeiter lädt die IT Sicherheitsrichtlinie hoch und fragt: „Wie oft müssen Passwörter geändert werden?"

Claude antwortet: „Laut Abschnitt 4.2 der IT Sicherheitsrichtlinie müssen Passwörter alle 90 Tage geändert werden. Wörtlich heißt es: 'Alle Mitarbeiter sind verpflichtet, ihre Zugangspasswörter im Abstand von maximal 90 Tagen zu erneuern. Ausnahmen bedürfen der schriftlichen Genehmigung des IT Sicherheitsbeauftragten.'"

Der Mitarbeiter bekommt nicht nur die Antwort, sondern auch die exakte Quelle. Die Suche, die vorher 20 Minuten in einem 80 seitigen PDF gedauert hätte, ist in 30 Sekunden erledigt.

Flutter Web Frontend

Für das Frontend setzen wir auf Flutter Web . Warum? Flutter ermöglicht die Entwicklung einer Web Anwendung, die bei Bedarf auch als mobile App ausgeliefert werden kann – aus derselben Codebasis. Das Material Design System liefert ein professionelles UI ohne großen Designaufwand, und die Entwicklungsgeschwindigkeit ist durch Hot Reload und das Widget System deutlich höher als bei einer klassischen React oder Angular Anwendung für diesen Anwendungsfall.

Das Interface besteht aus vier Bereichen:

Chat Bereich mit Message Bubbles – Nutzerfragen erscheinen rechts in Blau, Antworten des Bots links in Grau. Die vertraute Messenger Optik senkt die Hemmschwelle für Mitarbeiter, die noch keine Erfahrung mit KI Tools haben.

Upload Dialog mit Drag & Drop für PDF Dateien. Der Nutzer zieht ein Dokument in den Browser, die Datei wird an den /upload Endpoint gesendet, und nach wenigen Sekunden ist das Dokument bereit für Fragen.

Typing Indicator während Bedrock die Antwort generiert. Ein animierter Indikator signalisiert, dass die Anfrage verarbeitet wird – wichtig für die Nutzererfahrung, da Bedrock je nach Dokumentlänge 2–8 Sekunden für eine Antwort benötigt.

Sidebar mit einer Liste aller hochgeladenen Dokumente. Der Nutzer kann zwischen Dokumenten wechseln und den Chat Kontext ändern, ohne die Seite neu zu laden. Responsive Design stellt sicher, dass die Anwendung sowohl auf Desktop Bildschirmen als auch auf Tablets funktioniert.

Erweiterungsmöglichkeiten

Die hier gezeigte Architektur ist bewusst als Ausgangspunkt konzipiert. Je nach Anforderung lassen sich mehrere Erweiterungen umsetzen:

Vektor Datenbank für große Dokumentbestände. Wenn Sie nicht einzelne Dokumente befragen, sondern über Hunderte Dokumente gleichzeitig suchen wollen, ist eine Vektor Datenbank wie Amazon OpenSearch Serverless oder Pinecone der nächste Schritt. Die Dokumente werden in Chunks aufgeteilt, als Embeddings gespeichert und bei jeder Frage semantisch durchsucht.

Amazon Cognito für Benutzer Authentifizierung. Im aktuellen Setup ist der Chatbot offen zugänglich. Mit Cognito fügen Sie Login Funktionalität hinzu – inklusive Single Sign On über Ihr bestehendes Active Directory.

Multi User Support. Jeder Nutzer sieht nur seine eigenen Dokumente. Die S3 Pfade werden nach User ID partitioniert, und die Lambda Funktionen prüfen die Berechtigung bei jedem Zugriff.

Persistente Chat Historie. Gespräche werden in DynamoDB gespeichert, sodass Mitarbeiter frühere Fragen und Antworten jederzeit nachschlagen können.

Multi Dokument Suche. Die Möglichkeit, eine Frage über alle hochgeladenen Dokumente gleichzeitig zu stellen – etwa: „In welchen Verträgen ist eine Kündigungsfrist von mehr als 6 Monaten vereinbart?"

Quellen & Weiterführende Links

Amazon Bedrock – Übersicht – Foundation Models inkl. Claude mit 200K Context Window AWS Textract – Dokumentation – Intelligente Texterkennung für PDFs AWS CDK v2 – Developer Guide – Infrastructure as Code mit TypeScript AWS Lambda – Übersicht – Serverless Compute für Backend Logik Amazon API Gateway – REST API Orchestrierung Amazon OpenSearch Serverless – Vektor Datenbank für große Dokumentbestände Flutter Web – Dokumentation – Cross Platform Frontend Entwicklung Amazon Cognito – Benutzer Authentifizierung und SSO

Fazit

Ein Dokumenten Chatbot auf Basis von AWS Bedrock ist einfacher umzusetzen, als die meisten erwarten . Sie brauchen kein ML Team, keine Vektor Datenbank und kein monatelanges Projekt. Mit CDK, Lambda, Textract und Bedrock steht die Infrastruktur in wenigen Tagen. Mit Flutter ist das Frontend in einer weiteren Woche produktionsreif.

Das Ergebnis: Ihre Mitarbeiter finden Antworten in 30 Sekunden statt 20 Minuten . Quellenangaben inklusive. DSGVO konform in der EU gehostet. Und das KI Modell halluziniert nicht, sondern gibt ehrlich zu, wenn eine Information nicht im Dokument steht.

Haben Ihre Mitarbeiter Zugang zu einem internen Wissens Chatbot?

In einem kostenlosen 15 Minuten Erstgespräch klären wir gemeinsam, ob ein Dokumenten Assistent für Ihr Unternehmen sinnvoll ist und wie die Umsetzung konkret aussehen würde.

Kostenloses Erstgespräch buchen

Vitalij Bojatschkin – AI & Cloud Engineer