Files
tibi-types/examples/server/embedding.yml
T
apairon 1233bd393d fix(schema): latencyWindow ist ein String, duration-Muster folgt der Go-Grammatik
Review-Nachbefunde am neuen embedding-Schema:
- latencyWindow war als integer/number deklariert, ist in Go aber ein String
  (ConfigEmbeddingGroup.OnSingleQuery.LatencyWindow, per Atoi geprüft) — Schema
  und index.d.ts auf digits-String (>0) umgestellt.
- duration-Pattern erlaubte nur eine Einheit und akzeptierte Unsinn wie "1ss":
  jetzt (Zahl+Einheit)+, damit auch 1m30s/1h1m/1.5h gelten und 1ss/8/abc fallen.
- Beispiel examples/server/embedding.yml übt latencyWindow und Mehrfach-Einheiten
  aus (npm test: 5 YAML gegen 17 Schemas, tsc --noEmit --strict grün).
2026-10-17 14:07:30 +00:00

50 lines
1.3 KiB
YAML

# Beispiel für den embedding-Abschnitt der Server-config.yml
# (tibi-server, server.embedding) — validiert gegen schemas/config/embedding.schema.json.
providers:
- name: bge-m3-external
type: flagembedding
model: BAAI/bge-m3
dimensions: 1024
baseURL: https://embed.intern/embed
timeoutPerAttempt: 8s
slowThreshold: 1500ms
- name: bge-m3-local
type: native
model: BAAI/bge-m3
dimensions: 1024
modelPath: /models/bge-m3
timeoutPerAttempt: 60s
groups:
- name: bge-m3-main
description: Bevorzugt extern, sonst lokal, kehrt automatisch zurück.
members:
- bge-m3-external
- bge-m3-local
onSingleQuery:
policy: prefer-in-order
preferredOrder:
- bge-m3-external
- bge-m3-local
timeoutPerAttempt: 8s
timeoutTotal: 25s # Mehrfach-Einheiten sind erlaubt: 1m30s
autoFailback: true
retryAttempts: 1
retryBackoff: 200ms
retryBackoffMax: 2s
latencyWindow: "100"
onBulkWrite:
distribution: lowest-latency
maxConcurrentTotal: 6
maxConcurrentPerEndpoint: 2
timeoutPerAttempt: 15s
timeoutTotal: 120s
health:
checkInterval: 30s
checkTimeout: 3s
unhealthyAfterFailures: 3
healthyAfterSuccesses: 2
cooldownAfterUnhealthy: 60s
goldenPath: testdata/embedding-golden