DE-first README. English version: README_EN.md
Diese Demo liefert einen lauffaehigen RAG-Stack fuer Unternehmensdokumente:
PDF/Markdown Upload -> Chunking + Embeddings -> Qdrant -> Quellenbasierte Antwort
Proof-of-Concept: Schnell einsatzbereit, ideal zum Lernen und Experimentieren. Fuer produktiven Einsatz siehe Naechste Schritte.
Wissen steckt in vielen internen Dokumenten und ist schwer auffindbar.
Ein FastAPI-Backend mit Qdrant und Bedrock beantwortet Fragen auf Basis hochgeladener Inhalte, inkl. Quellenhinweisen.
- Frontend: React + Vite (Web-UI fuer Upload + Chat)
- Backend: FastAPI (Ingestion, Retrieval, LLM-Integration)
- Vector Store: Qdrant (In-Memory oder persistent)
- Modelle: AWS Bedrock (Claude 3.5 Sonnet + Titan Embeddings)
- Containerisierung: Docker Compose
make setupDann .env aus .env.example kopieren und fuellen:
AWS_ACCESS_KEY_ID=AKIAXXXXXXXXXXXXXXXX
AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AWS_REGION=eu-central-1make upFrontend erreichbar unter http://localhost:3000, API unter http://localhost:8000.
make smokeErwartung:
- API Health
http://localhost:8000/healtherreichbar - Frontend
http://localhost:3000erreichbar
make down5 Unternehmensdokumente stehen in demo-docs/ bereit:
# Alle Demo-Dokumente hochladen
for doc in demo-docs/*.md; do
curl -X POST http://localhost:8000/api/upload \
-F "file=@$doc" -F "tenant_id=demo"
done# IT-Sicherheit
curl -X POST http://localhost:8000/api/ask \
-H "Content-Type: application/json" \
-d '{"question": "Wie viele Zeichen muss ein Passwort mindestens haben?", "tenant_id": "demo"}'
# Reisekosten
curl -X POST http://localhost:8000/api/ask \
-H "Content-Type: application/json" \
-d '{"question": "Wie hoch ist die Hotelkostenpauschale in Muenchen?", "tenant_id": "demo"}'
# Homeoffice
curl -X POST http://localhost:8000/api/ask \
-H "Content-Type: application/json" \
-d '{"question": "Wie viele Tage pro Woche darf ich im Homeoffice arbeiten?", "tenant_id": "demo"}'
# Onboarding
curl -X POST http://localhost:8000/api/ask \
-H "Content-Type: application/json" \
-d '{"question": "Was muss ich in der ersten Woche als neuer Mitarbeiter erledigen?", "tenant_id": "demo"}'Frontend unter http://localhost:3000 oeffnen:
- Documents hochladen (Drag-and-Drop oder Button)
- Fragen stellen im Chat-Interface
- Quellen anzeigen und validieren
POST /api/upload(PDF oder Markdown)POST /api/askGET /api/documentsDELETE /api/documents/{doc_id}GET /health
.
|-- Makefile
|-- docker-compose.yml
|-- .env.example
|-- backend/
|-- frontend/
`-- demo-docs/
|-- it-sicherheitsrichtlinie.md
|-- urlaubsregelung.md
|-- onboarding-checkliste.md
|-- reisekostenrichtlinie.md
`-- homeoffice-regelung.md
Abhaengig von Tokenvolumen und Dokumentmenge, typischerweise im niedrigen zweistelligen USD-Bereich fuer kleine PoCs.
Bedrock-Pricing: https://aws.amazon.com/de/bedrock/pricing/
- Kein Auth-/Rechtemodell
- Kein Langzeit-Monitoring/Observability
- Retrieval-Strategie ist bewusst einfach gehalten
- Nicht fuer direkten Produktivbetrieb ausgelegt
- Sicherheit: Secret Management, Authentifizierung/Autorisierung, TLS
- Retrieval: Reranking, Hybrid Search, Query-Expansion
- Betriebsbetrieb: Logging, Monitoring, Alerting, Datenhaltung
- Skalierung: Load-Balancing, Database-Backup, Disaster-Recovery
Siehe SECURITY.md fuer Mindestanforderungen.
MIT License - siehe LICENSE
Contributions sind willkommen! Siehe CONTRIBUTING.md fuer Details.
- Portfolio: bojatschkin.de – Cloud Engineer mit KI-Integration
- Blogpost: RAG-Chatbot mit Bedrock – Praxiswissen aus Unternehmensdokumenten
- Kontakt: Wenn du den PoC in einen produktiven Wissensassistenten mit sauberem Betriebskonzept ueberfuehren willst → Kostenloses Erstgesprach buchen
Built by vibtellect – Cloud Engineering & AI Integration