Ogni modalità, un unico piano di controllo
Chat, embedding, vision, audio, OCR di documenti, rerank, job video asincroni e sessioni realtime, su quattro cicli di vita della richiesta. Poiché modalità e ciclo di vita sono di prima classe nell'IR, le policy valgono allo stesso modo per tutti.
"Sincrono, vero streaming SSE, job asincroni resistenti ai crash, sessioni in tempo reale — un unico piano di controllo per tutti."
Sincrono
Il classico percorso richiesta/risposta — una chiamata in ingresso, una completion in uscita, con tutta la policy applicata inline.
Vero streaming SSE
stream: true usa veri server-sent event tramite gli adattatori LiveStream — nessun buffer upstream completo sul percorso ottimale.
Job asincroni resistenti ai crash
Worker duraturi in lease per lavori lunghi come video e batch: accodamento → presa in carico → heartbeat → completamento, con un reaper per i lease scaduti.
Sessioni in tempo reale
Un ponte WebSocket per il tempo reale, così voce dal vivo e interazioni in streaming condividono la stessa auth, gli stessi budget e la stessa registrazione di tutto il resto.
Ogni modalità
Chat, embedding, generazione/modifica di immagini, audio TTS/STT e rerank — la modalità è un concetto di prima classe, non la visione aggiunta come ripensamento in base64.
OCR di documenti
PDF, scansioni e immagini diventano Markdown, pagina per pagina, nella forma di richiesta e risposta di Mistral OCR. Tariffazione per pagina, i guardrail girano su ogni pagina e vi riscrivono le maschere, e il log del payload riassume il documento invece di conservarlo.
Un unico piano di controllo
Tutti e quattro i cicli di vita e ogni operazione condividono la stessa IR di inferenza — routing, cache, budget e guardrail si applicano in modo coerente.

Passo dopo passo
- 01
Parla qualsiasi formato
I client inviano richieste in stile OpenAI, Anthropic o Gemini — chat, visione, audio, embedding — o la IR nativa direttamente.
- 02
Mappare sulla IR
La facciata mappa la richiesta su un unico modello di richiesta di inferenza che cattura modalità, operazione e ciclo di vita come campi di prima classe.
- 03
Scegliere il ciclo di vita
Il sincrono risponde inline, lo streaming apre un canale SSE, i job lunghi sono accodati a worker duraturi, e il tempo reale apre un ponte WebSocket.
- 04
Applicare la policy uniformemente
Routing, cache, budget e guardrail girano allo stesso modo indipendentemente da modalità o ciclo di vita — nessun caso particolare da considerare.
# Video generation is always a job
POST /v1/videos
→ { "id": "job_9f2", "status": "queued" }
# Durable worker: claim → heartbeat → complete
# Survives restarts; a reaper reclaims dead leases
GET /v1/videos/job_9f2
→ { "status": "running" }Multimodale e cicli di vita è una delle sei superfici di controllo applicate nello stesso percorso della richiesta, valide per ogni applicazione dietro l'endpoint — comprese quelle mai strumentate.
Vedi come si combinanoUn endpoint. Tutti i modelli. Controllo completo.
Gestitelo nella vostra infrastruttura
Tutto ciò che serve per gestire una control plane in produzione è sotto Apache-2.0 e lo resterà — routing, alta disponibilità, cache, failover, budget, policy, MCP, job e osservabilità. Self-hosted, senza account, senza chiamate verso l'esterno.
$ docker run -p 4000:4000 <registry>/waeg-gateway:<version>Non è un pull funzionante: le immagini non sono ancora pubbliche. I partner di progettazione ricevono i dettagli del registry in forma privata.
Avvia in 5 minutiContribuite come design partner
Wäg non è ancora disponibile pubblicamente. Lavoriamo con un piccolo gruppo di team che gestiscono IA multi-provider in produzione e prendono sul serio governance e sovranità, per irrobustire la control plane su carichi reali.
- Tutte le funzioni Enterprise incluse, senza costi di licenza
- Migrazione assistita — la facciamo insieme a voi, anche da LiteLLM
- Una linea diretta con gli ingegneri e un'influenza reale su ciò che arriva dopo