SINTARIS
SpracheENDESLRU
Kontakt aufnehmen
← Alle Artikel

Taris: Der KI-Assistent, bei dem Daten beim Kunden bleiben

2026-06-26 · Sintaris · taris, rag, on-prem, ollama, vendor-neutral, smb, ai-platform

TL;DR. Taris ist ein KI-Assistent, bei dem die Daten des Kunden nicht zum Anbieter wandern. Grundprinzip: Das Modell ist ein Plugin hinter einer stabilen Schnittstelle und nicht das Zentrum der Architektur. Im Inneren: ein anbieterneutraler LLM-Dispatcher, hybrides RAG (BM25 + Dense + RRF + Cross-Encoder Rerank), Multi-Tenant Postgres mit pgvector, optional lokale Modelle via Ollama. Dieser Artikel beschreibt, wie Taris aufgebaut ist, warum es so aufgebaut ist und wo das für KMU in der EU Vorteile bringt.

1. Das Problem: „Nehmen wir GPT-4 und vergessen den Rest"

Wenn ein Kleinunternehmer fragt „welchen KI-Assistenten sollen wir einsetzen?", bekommt er üblicherweise eine von zwei Extremantworten:

Taris ist der dritte Weg: eine produktisierte Basis (Modell-Dispatcher, hybrides RAG, Multi-Tenant Postgres, Kanal-Adapter), die wir für den Kunden einsetzen und beim Kunden belassen. Kein SaaS. Kein „von Grund auf bauen." Ein Halbfertigprodukt, das sich nachvollziehbar anpassen lässt.

2. Für wen das relevant ist

3. Der häufige Fehler

Was wir häufig bei „Pilotprojekten" sehen, die vor unserem Einstieg begonnen wurden:

4. Der technische Ansatz: Was in Taris steckt

Die Architektur besteht aus vier unabhängigen Schichten:

flowchart LR
  subgraph Kanäle
    TG[Telegram Bot]
    WEB[Web UI / PWA]
    VOICE[Sprache]
    API[REST API]
  end
  subgraph Kern
    GW[FastAPI Gateway]
    ORCH[Agenten-Orchestrator]
    DISP[LLM Dispatcher]
    KB[KB Service]
    AUTH[Auth + RBAC]
  end
  subgraph Speicher
    PG[(Postgres + pgvector)]
    OBJ[(MinIO / S3)]
    LOG[(Audit-Log)]
  end
  subgraph Modelle
    LOCAL[Ollama / llama.cpp]
    CLOUD[OpenAI / Anthropic / Gemini / OpenRouter]
  end
  TG --> GW
  WEB --> GW
  VOICE --> GW
  API --> GW
  GW --> AUTH --> ORCH
  ORCH --> KB --> PG
  ORCH --> DISP
  DISP --> LOCAL
  DISP --> CLOUD
  ORCH --> LOG

Jede Schicht ist ersetzbar, und darauf kommt es an. Kanäle sind Adapter. Das Modell ist ein Plugin. Speicher ist ein Backend. Der Orchestrator ist der einzige Ort, wo Geschäftslogik lebt. Wenn OpenAI morgen seine Preise verdreifacht, wechselt eine Taris-Installation mit einer einzigen Konfigurationsdatei.

4.1. LLM-Dispatcher

class LLMProvider(Protocol):
    async def complete(
        self,
        messages: list[ChatMessage],
        *,
        max_tokens: int,
        temperature: float,
        tools: list[Tool] | None = None,
    ) -> ChatCompletion: ...

Sechs unterstützte Anbieter: OpenAI, Anthropic, Gemini, OpenRouter, Ollama, llama.cpp. Routing über YAML:

default: openrouter:openai/gpt-4o-mini
routes:
  - match: { task: rerank }
    use:   ollama:bge-reranker-base
  - match: { sensitive: true }
    use:   ollama:llama3.1:8b
fallback:
  - openrouter:anthropic/claude-3-5-sonnet
  - ollama:llama3.1:8b

4.2. Hybrides RAG mit RRF

Das Retrieval läuft in drei parallelen Stufen:

  1. Lexikalisch (BM25): Postgres FTS mit sprachbewusstem Analyzer für RU/EN/DE/SL.
  2. Dense: pgvector Cosinus, Standard text-embedding-3-small, für On-Prem bge-m3.
  3. Metadaten-Boost: exakte Übereinstimmung bei Tags (product, section, last_updated).

Die Fusion erfolgt per Reciprocal Rank Fusion:

$$ \text{score}(d) = \sum_{i \in \text{retrievers}} \frac{1}{k + \text{rank}_i(d)}, \quad k = 60 $$

Dann Cross-Encoder Rerank (bge-reranker-base) auf Top-5. Empirischer Gewinn auf unserem internen Arbeitssicherheits-Golden-Set: Recall@5 0,71 → 0,88 (RRF vs. Pure Dense), Grounding-Rate +0,07 nach Rerank. Mit „etwas besser" hat das wenig zu tun. Es ist der Unterschied zwischen „verwendbar" und „dem Kunden Geld zurückgeben."

4.3. Multi-Tenant Postgres mit RLS

CREATE POLICY tenant_isolation ON chunks
  USING (tenant_id = current_setting('app.tenant_id')::int);

Jede Verbindung setzt vor der Abfrage SET app.tenant_id = $1. Es ist unmöglich, versehentlich Daten eines anderen Kunden zu lesen: die Datenbank erzwingt das selbst.

5. Tabelle: Welche Komponenten sind ersetzbar

Schicht Standard Alternative Wechselkosten
Embedding text-embedding-3-small bge-m3 Config + Neuindizierung
Reranker bge-reranker-base mxbai-rerank Config
Vektorspeicher pgvector Qdrant docker-compose + Migration
LLM gpt-4o-mini claude-3-5-sonnet, llama3.1:8b Config
Kanal Telegram Web / Slack / WhatsApp Adapter ~200 Zeilen
Dateispeicher MinIO S3 / Nextcloud Config
Deployment Docker Compose Kubernetes / Nomad Manifeste

6. SINTARIS-Minicase

Das Produkt Worksafety Superassistant ist ein Beispiel für Taris im realen Einsatz. Aufgabe:

Technische Umsetzung:

Metriken nach 90 Tagen:

Details: Worksafety § 6 RAG pipeline und OpenClaw § 8 AI dispatch.

7. Checkliste (15 Punkte) bei der Auswahl eines KI-Assistenten für KMU

  1. Vendor-Lock-In geprüft: Können Sie den LLM-Anbieter in einer Woche wechseln?
  2. Daten: Wo werden Kundendokumente physisch gespeichert?
  3. Embeddings: Wo werden sie gespeichert? (oft vergessen: sie sind auch PII-Ableitungen)
  4. DPA unterzeichnet mit jedem LLM-Anbieter, den Sie nutzen.
  5. Eval-Set: Haben Sie eines, und wie viele Fragen sind darin?
  6. Zitierung: Generiert das System Quellenverweise?
  7. Grounding-Rate: Wird sie gemessen? (Wenn nicht, weiß niemand, ob das Modell lügt.)
  8. Retrieval-Regression nach jeder Prompt-Änderung getestet?
  9. Multi-Tenant-Sicherheit: RLS auf DB-Ebene, nicht nur „im Code abgesprochen"?
  10. Lokale Modelle verfügbar: Gibt es einen Plan B, wenn die Cloud ausfällt?
  11. Kosten pro Token: in Echtzeit überwacht?
  12. DSAR + Löschung: als Code implementiert, nicht als manuelle Prozedur?
  13. Audit-Log: vorhanden, unveränderlich, mit erforderlicher Aufbewahrungsfrist?
  14. Kanäle: Ist das Hinzufügen eines neuen Kanals < 500 Zeilen oder ein Kern-Rewrite?
  15. Dokumentation: in welcher Sprache, für wen, wie oft aktualisiert?

8. Risiken

9. Was als Nächstes zu tun ist

Wenn Sie bereits einen KI-Assistenten haben und es Zeit ist, ihn zu ersetzen, führen wir ein KI-Prozessaudit durch. Wenn Sie Taris ausprobieren möchten, gibt es ein KI-Pilotprojekt über 4–8 Wochen mit festem Umfang. Umfang und Preis vereinbaren wir nach dem Erstgespräch (siehe Pakete).

Wenn Sie zuerst lesen möchten, schauen Sie in die KB-Kapitel Taris (vollständige Beschreibung) und OpenClaw (On-Prem-Topologie).

10. Quellen


Sintaris führt KI-Prozessaudits, KI-Pilots und Taris-Implementierungen für KMU in der EU durch. Das Erstgespräch ist kostenlos und dauert 30 Minuten.