Qognio
← Lab · Haystack
🔍
⭐ live

Haystack — Production-RAG auf Sovereign-Stack

Wir haben Haystack 2.x als RAG-Pipeline auf unseren 13-File-DSGVO/AI-Act-Korpus geschaltet, mit Embedding und Generation komplett im Bunker. Ergebnis: vollwertige Document-Retrieval-Pipeline mit Quellen-Zitation — ohne eine Zeile US-Cloud im Pfad.

Framework
Haystack 2.7+
Lizenz
Apache-2.0
Embedder
bge-m3-bunker
Generator
qwen3.6-27b-bunker
Vector-Store
InMemoryDocStore
Hosting
Sovereign-Container im Bunker

Was wir damit gebaut haben

Eine vollständige RAG-Pipeline mit zwei Haystack-Graphen:

Resultat: 569 Chunks im Store nach Index-Run, Antworten in 2-4 Sekunden mit strukturierter Quellen-Zitation. Probier es selbst: Live-Demo → „Welche TOMs setzt Qognio um?" oder „Wie ist unsere Position zum AI-Act?"

Was Haystack uns liefert (gegenüber Eigenbau)

AspektNanoClaw kb_searchHaystack
RetrievalBM25 in PocketBaseEmbedding-Retrieval (hybrid möglich)
Pipeline-ModellTool-Loop, max 3 RundenExpliziter Graph mit connect()
Rerankingein/aus per Skillals Komponente einsteckbar
Evalad-hocHaystack Evaluators eingebaut
Reifefür KMU-Bots ausreichendfür komplexe RAG-Korpora skalierbar

Architektur

Browser
  │  /  /api/*
  ▼
Edge-Reverse-Proxy
  ▼
Sovereign-Container
 ├─ nginx (TLS-Terminierung, statische UI)
 └─ FastAPI/uvicorn → main.py
       ├─ Index-Pipeline → InMemoryDocStore
       └─ Query-Pipeline → bge-m3-bunker + qwen3.6-27b-bunker

Lessons-Learned

1) Telemetry rausnehmen ist Pflicht

Haystack triggert beim Import ein mkdir /root/.haystack für Telemetry. Mit ProtectHome=yes in systemd → Crash. Lösung: HAYSTACK_TELEMETRY_ENABLED=False. Bonus: Sovereign-Stack will eh kein Phone-Home.

2) DocumentSplitter split_by="sentence" braucht NLTK

Optionale dependency, nicht in haystack-ai drin. Für Markdown-Section-Docs ist split_by="passage" sowieso natürlicher — Leerzeilen-Splits matchen unsere Section-Struktur 1:1.

3) LiteLLM ist drop-in für Embedder UND Generator

Wir konnten OpenAIDocumentEmbedder + OpenAIGenerator beide mit api_base_url=<Bunker> verkabeln. Kein Custom-Component nötig. Embedder und Generator kommen über denselben LiteLLM-Proxy-Endpoint.

4) InMemoryDocStore reicht überraschend lange

569 Chunks aus 13 Files = ~6 MB RAM. Für POCs und kleine Korpora kein Qdrant nötig. Skaliert linear, ab ~10k Chunks wird Hybrid mit Qdrant sinnvoll.

Wann macht Haystack für euch Sinn?

Wenn ihr eine RAG-Lösung braucht, die ein Datenkorpus mit klarer Struktur hat (Verträge, Wissensbasis, FAQs, Compliance-Dokumente) und ihr Quellen-Zitation, Reranking, oder RAG-Evaluation als Production-Feature braucht. Für einfache Chat-Bots ohne Daten-Backend reicht unser NanoClaw mit kb_search.

Sovereign-Bonus: Haystack arbeitet mit OpenAI-API-kompatiblen Endpoints — unser LiteLLM-Bunker-Proxy ist drop-in. Kein US-Cloud-Call im RAG-Pfad, vollständig DSGVO-konform.

📦 Als Addon buchbar

ab 2.500 € pauschal

Wir setzen den Haystack-Sovereign-Stack auch bei euch on-prem auf — vergleichbar mit unserem Pilot hier:

Termin vereinbaren →