Skip to content

MarcusGraetsch/KnowledgeOps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KnowledgeOps PoC

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.


✨ Features (MVP)

  • 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ügen
    • GET /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.

🚀 Quickstart (lokal)

1. Vorbereiten

git clone <repo-url>
cd knowledgeops
cp .env.example .env

2. Starten

docker compose up -d --build

3. Healthcheck

curl http://localhost:8080/health
# {"ok": true}

4. Erste Schritte

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)

🛠 Services (Docker-Compose)

  • 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)

📂 Projektstruktur

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

🔒 Sicherheit (PoC!)

  • 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.

📌 Nächste Schritte

  • 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).

👥 Maintainer

  • Ansprechpartner: Marcus Grätsch

About

RAG-Wissensdatenbank für ITM & SEC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors