AI-gestützte Wissensdatenbank für ITM & SEC
Dieses Proof of Concept (PoC) zeigt, wie unstrukturierte Quellen (YouTube, PDF, Webartikel, interne Dokumente) automatisch verarbeitet, zusammengefasst und mit Kategorien (BSI/Tech/UseCase) versehen werden können.
Ziel ist eine Recherche- und Wissensplattform, die „Knowledge Cards“ erzeugt und diese mit interner Expertise verknüpft.
- Ingestion: Quellen erfassen (YouTube, PDF, Web) → Text extrahieren → Chunking.
- Embeddings: Speicherung in Postgres +
pgvector. - Auto-Labeling: Einordnung nach BSI, Technik und UseCases.
- Knowledge Cards: Kurze Zusammenfassungen + verlinkte Chunks.
- APIs:
POST /ingest– Quelle hinzufügenGET /search?q=...– einfache Suche (aktuell ILIKE, Vektorsuche folgt)
- Storage: MinIO für Rohdaten.
- Erweiterbar: Worker kann um PII-Filter, Queue, RAG, UI ergänzt werden.
git clone <repo-url>
cd knowledgeops
cp .env.example .envdocker compose up -d --buildcurl http://localhost:8080/health
# {"ok": true}Ingest (Webartikel):
curl -X POST http://localhost:8080/ingest -H "Content-Type: application/json" \
-d '{"type":"web","uri":"https://fwdcloudsec.org/","title":"fwd:cloudsec"}'Suche:
curl "http://localhost:8080/search?q=security"
curl "http://localhost:8080/search?q=security"🛠 Services (Docker-Compose) API (FastAPI, Port 8080) Worker (Python Ingestion + Embeddings)
Postgres mit pgvector (Persistenz: pgdata/)
MinIO (S3-kompatibel, Ports 9000/9001)
Redis (reserviert für Queue im späteren Ausbau)
- API (FastAPI, Port
8080)
-
POST /ingest– Quelle hinzufügen -
GET /search?q=...&mode=semantic&k=5– Suche (semantic = Vektorsuche, keyword = ILIKE)Beispiel:
# Semantische Suche
curl "http://localhost:8080/search?q=OCI%20Security%20Zones%20nach%20BSI&mode=semantic&k=5" - Worker (Python Ingestion + Embeddings)
- Postgres mit
pgvector(Persistenz:pgdata/) - MinIO (S3-kompatibel, Ports
9000/9001) - Redis (reserviert für Queue im späteren Ausbau)
knowledgeops/
infra/ # IaC (Terraform, Ansible, K8s, ArgoCD)
services/ # API, Worker, UI (Next.js), NLP
docs/ # ADRs, Taxonomy, Runbooks
ops/ # Monitoring (Grafana, Prometheus, Loki)
docker-compose.yaml
README.md
- Keine externen LLM-APIs – Embeddings laufen lokal.
- PII-Filter rudimentär – bitte keine Kundendaten ingestieren.
- RBAC & Audit sind im PoC nicht implementiert.
- Dieses Projekt dient nur zur Demonstration und ist nicht für Produktion gedacht.
- Vektorsuche (Cosine Similarity über
pgvector). - Web-UI (Next.js) für Suche & Review.
- PII-Filter & Audit-Logs.
- K8s-Deployment via ArgoCD.
- Dashboarding (Ingestion-Status, Top-Labels).
- Ansprechpartner: Marcus Grätsch