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).
50 lines
1.3 KiB
YAML
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
|