index.d.ts: EmbeddingProviderConfig/EmbeddingGroupConfig (onSingleQuery, onBulkWrite, health), EmbeddingConfig für config.server().embedding (Roh-JSON von config.Server. Embedding) sowie die Status-Payloads von GET …/admin/embedding/status (Projekt- und Server-Scope, Zustände live|degraded|quarantined|offline, Breaker closed|open|half-open). VectorConfig.provider dokumentiert jetzt, dass dort auch ein Gruppenname stehen darf. schemas/config/embedding.schema.json: validierbares Schema des Server-Abschnitts (Enums für Policies/Distributionen, Go-Duration-Muster, Pflichtfelder, keine erfundenen Properties); Beispiel examples/server/embedding.yml, per scripts/validate-schemas.mjs mitgeprüft (npm test: 5 YAML gegen 17 Schemas). Quelle der Wahrheit: internal/config/server.go + internal/config/embedding_group.go (tibi-server). Typecheck: tsc --noEmit --strict über index.d.ts grün.
47 lines
1.3 KiB
YAML
47 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
|
|
autoFailback: true
|
|
retryAttempts: 1
|
|
retryBackoff: 200ms
|
|
retryBackoffMax: 2s
|
|
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
|