ARKITEKTUR

Facader ind. Én model igennem.

De fleste AI-gateways er HTTP-reverse proxyer, der har fået en modelliste undervejs: request-formatet er abstraktionen, så enhver ny modalitet eller livscyklus bliver et særtilfælde et andet sted. Wäg tager udgangspunkt i selve inference-requesten som domæneobjekt og behandler OpenAI-, Anthropic- og Gemini-API-formater som facader, der mapper ind i den.

INFERENCE-REQUESTEN

Seks ting, der er førsteklasses frem for udledt

I en HTTP-formet gateway udledes disse af en sti, en header eller et provider-SDK's adfærd. Her er de felter på et domæneobjekt, og det er derfor, politik, routing, caching og afregning kan ræsonnere om dem ensartet.

modalitetoperationlivscyklusomkostningpolitikidentitet

Den ene beslutning er grunden til, at chat, embeddings, vision, lyd, asynkrone videojobs og realtime-sessioner deler én politik-, routing- og afregningssti i stedet for seks.

FACADER

Tal dialekten, bevar troværdigheden

Klienter sender requests i OpenAI-, Anthropic- eller Gemini-format, eller det native inference-request-format direkte. Native adaptere bevarer provider-specifik adfærd — tool calling, vision, struktureret output — frem for at flade alting ud gennem ét mindste-fællesnævner-format og miste funktionalitet i kanterne.

REQUEST-STIEN

Ni trin i en fast rækkefølge

Hver request bevæger sig gennem de samme trin. Identitet, modeladgang og budget afgøres, før noget som helst kaldes; inputpolitik kører før cachen, så selv et cachet svar screenes; routing vælger deploymentet; output- og værktøjspolitik kører på svaret; omkostning, afgørelser og dokumentation lander på vejen ud.

  1. 01
    Autentificér

    Virtuel nøgle, agent-token eller virksomhedens IdP-token på /v1 (Enterprise). Afgør org, team, bruger, applikation og agentkørsel.

    ✗ 401
  2. 02
    Modeladgang

    Modeltildelinger, indsnævret af nøglens allow-list, afgør hvilke aliasser denne identitet må kalde.

    ✗ 403
  3. 03
    Budget

    Rate limits og budgetter reserveres på nøgle, org, team, bruger, applikation og model. Alle skal godkende.

    ✗ 429 — intet provider-forbrug
  4. 04
    Politik (pre-call)

    Ordnet guardrail-kæde på inputtet: PII, injection, moderation eller din egen webhook. Cachen ser kun den maskerede prompt.

    ✗ BLOKÉR · ◑ MASKÉR · ◐ REDIGÉR UD
  5. 05
    Cache

    Exact → canonical → near-dup → semantic, hvert niveau sikret mod falske hits. Et hit springer provideren og output-trinnene over.

    ✓ HIT — returnér, intet provider-kald
  6. 06
    Routing

    Kapabilitetsfilter, residens, sessionsaffinitet — derefter vælger routing-strategien deploymentet. En failover forlader aldrig de tilladte jurisdiktioner.

  7. 07
    Kald

    Provider-dialekt, ægte SSE-streaming, failover inden for samme alias og derefter ordnede fallbacks; hvert forsøg skriver en udgangspost i registret. Mid-stream-politik kører på et rullende vindue.

  8. 08
    Politik (efter kald)

    Output-guardrails kører på hele svaret. Værktøjskald, som modellen returnerer, vurderes af værktøjspolitikken: tilladt, fjernet med en note eller afvist.

    ✗ 403 · fjernet
  9. 09
    Afregn

    Budgetter afregnes, registret noterer udfaldet, og tokens, omkostning, afgørelser og routing-beslutningen lander som request-logs, OTEL-traces og Prometheus-metrikker.

En proxy videresender en request. Dette afgør, hvad requesten må være — og deri ligger hele skellet mellem en gateway og en control plane.

LIVSCYKLUSSER

Fire livscyklusser, én politiksti

Fordi livscyklus er et felt på requesten frem for en implementeringsdetalje ved et endpoint, gælder den samme governance for alle fire.

Synkron

Request ind, completion ud, al politik anvendt inline.

Streaming

Ægte server-sent events via LiveStream-adaptere — ingen fuld upstream-buffer på den lykkelige sti. Mid-stream-politik kan afbryde en dårlig stream, før den når klienten.

Asynkrone jobs

Holdbare leasede workers til langt arbejde som video og batches: enqueue → claim → heartbeat → complete, med en reaper til udløbne leases. Crash-sikkert.

Realtime

En WebSocket-bro, så live stemme- og streaming-interaktioner deler den samme auth, de samme budgetter og den samme logning som alt andet.

Det er den del, en HTTP-formet gateway ikke kan eftermontere uden en omskrivning. Livscyklus skal ligge i domænemodellen, før politik kan gælde ensartet for den.

ARKITEKTUR

Fire planes, adskilt med vilje

PlaneHvad den indeholderHvorfor den er adskilt
Data planeRequest-stien. Stateless Rust-replicas: auth, budgettjek, politik, cache, routing, kald, afregning.Skalerer horisontalt og uafhængigt. Ingen admin-afhængighed i den varme sti.
Control planeKonfiguration, identitet, politikdefinitioner, budgetter, nøgler, tenants, MCP-register.Jeres, ikke vores. Der findes ingen leverandør-tenancy at afhænge af eller at tvinge.
Analytics planeForbrug, udgifter, traces, revisionsregistreringer.Adskilt fra control-lagringen, så rapporteringslast aldrig rører håndhævelsen.
Policy planeScanner-engines, OpenFGA-relationer, prisbog.Pluggbar og out-of-process, så en politikændring ikke kræver en gateway-ændring.
KUBERNETES-NATIV

Kubernetes-nativ, ikke Kubernetes-kompatibel

Alt i en container er Kubernetes-kompatibelt. Nativ betyder, at platformen modellerer det, I kører: Wäg leverer sin egen operator og sine egne custom resources, så gatewayen er et objekt, klyngen forstår, i stedet for et deployment, nogen har sat sammen i hånden. En WaegInstance ejer gatewayens Deployments, netværk, autoskalering og overvågning og melder en fejlkonfiguration som en condition med en begrundelse; providers, modeller, organisationer, budgetter, guardrails og nøgler kan også være custom resources. Fordi budgetter og rate limits deles via Redis frem for at ligge per replika, kan opskalering aldrig bruge et budget to gange — og operatoren markerer en instans med flere API-replikaer og uden Redis som ikke klar. Den kræver Kubernetes 1.28 eller nyere, eller OpenShift 4; et Helm-chart findes, hvis I hellere vil template end drive en operator.

YDEEVNE

Rust i data plane

Bygget på tokio, hyper og axum med zero-copy-streamingstier og leveret som én distroless, non-root binær. Ingen fortolker, ingen pakkemanager, ingen Node-runtime i gatewayen — adminkonsollen serveres af den samme binær. Der er ingen ML-router i den varme sti, så routing tilføjer deterministisk analyse frem for modelinferens.

Hvorfor der ikke står gangetal på denne side

En gateways gennemløb afhænger af payload-form, provider-latens, cache-hitrate, politikkædens dybde og samtidighed. Ét enkelt gangetal målt mod et andet produkt fortæller dig om den konfiguration, nogen valgte, ikke om din workload. Vi udgiver hellere testopsætningen, så du kan måle det, du faktisk går op i.

AFGRÆNSNING

Hvad Wäg ikke er

Sagt ligeud, så du vurderer den på den rigtige akse — og så ingen booker en briefing i forventning om det forkerte produkt.

  • Ikke en inferensserver. Den kører ikke modeller. Den router til dem, du allerede bruger, inklusive self-hostede vLLM- eller Ollama-endpoints, og Wäg Edge styrer modeller, der kører på medlemmernes computere og i mobilapps.
  • Ikke en modelhost. Ingen vægte, ingen GPU'er, ingen fine-tuning-pipeline.
  • Ikke en vektordatabase. Den proxyer embeddings-kald og cacher semantisk; den lagrer ikke dit korpus.
  • Ikke en observability-backend. Den udsender OTEL og Prometheus ind i det, du allerede kører.
  • Ikke en erstatning for en API-gateway. Kong og Envoy styrer HTTP. Wäg styrer tokens, modeller og agenthandlinger. De er komplementære lag, og de fleste miljøer kører begge.

Se vores control plane · Se benchmarks

Ét endpoint. Alle modeller. Fuld kontrol.

Start med open source

Kør det i jeres egen infrastruktur

Alt, hvad I skal bruge for at drive en control plane i produktion, er Apache-2.0 og bliver ved med at være det — routing, HA, caching, failover, budgetter, policy, MCP, jobs og observability. Self-hosted, ingen konto, ingen phone-home.

$ docker run -p 4000:4000 <registry>/waeg-gateway:<version>

Endnu ikke et pull, der virker: images er ikke offentlige endnu. Designpartnere får registry-oplysningerne direkte.

Deploy på 5 minutter
Designpartnerskab

Vær med til at forme det som designpartner

Wäg er endnu ikke offentligt tilgængelig. Vi arbejder sammen med en lille gruppe teams, der kører multi-provider AI i produktion og tager governance og suverænitet alvorligt, for at hærde vores control plane på reelle workloads.

  • Alle Enterprise-funktioner inkluderet, uden licensomkostning
  • Praktisk migrering — vi gør det sammen med jer, også fra LiteLLM
  • Direkte adgang til de engineers, der bygger det, og reel indflydelse på, hvad der kommer næst
Ansøg om at deltage