Architettura

Dall'intento
al modello.

Come Ventic collega un runtime, instrada una richiesta e ne contabilizza il costo, con gli schemi di ogni componente.

01 —Ciclo di una richiesta

Prima si verifica, si maschera e si riserva. Poi si genera.

  1. Clientagente · SDK
  2. Identitàgateway → control
  3. Policycontrol
  4. PIIservizio pii
  5. Riservabilling
  6. Inferenzaagent · runtime
  7. Saldogateway → billing
Passaggio 01 / 07 · agente · SDK

Il tuo agente invia una richiesta

Un agente di coding, un'app interna o la chat usano il protocollo che conoscono già: Chat Completions, Responses o Messages. Cambia solo il base_url.

  • Compatibile con i client OpenAI e Anthropic
  • Chiave API con limiti di spesa e di rate
Ispettore richiestaesempio
POST /v1/chat/completions
Riassumi il contratto di Mario Rossi, IBAN IT60 X054 2811 1010 0000 0123 456
Budget della chiave€1,00 disponibile
riservatoaddebitato
02 —Infrastruttura dichiarativa

Scrivi cosa vuoi. Ventic lo rende vero, e lo mantiene tale.

Pool di GPU, deployment, routing e autoscaling sono risorse ventic.io/v1. Un reconciler le porta allo stato desiderato, in ordine di dipendenza.

team-model.yamlesempio
apiVersion: ventic.io/v1kind: InferenceDeploymentmetadata:  name: team-modelspec:  runtime: vllm  model: qwen3.8-flash-next  computePoolRef: gpu-pool  desiredState: running---kind: InferenceRoutingPolicyspec:  deploymentRef: team-model
$ venticli apply -f team-model.yaml
✓ ComputePool gpu-pool Ready
✓ InferenceDeployment team-model Ready gen 3 · observed 3
◷ InferenceRoutingPolicy team-routing Blocked → attende team-model
$ ▍
03 —Ventic Agent

La GPU chiama la piattaforma. Mai il contrario.

L'agent apre una connessione WSS in uscita e pubblica l'inventario dei runtime. L'inferenza viaggia su quel canale: sul server GPU non serve alcuna porta in ingresso.

La tua rete · server GPU
Ventic Agent
runtime rilevati
vLLMSGLangllama.cppOllama
Piattaforma Ventic · Kubernetes
Control · relay degli agent
Gateway/v1 · SSE
Billing · PII · Telemetria
  1. 01 · PAIRINGUn invito autorizzato lega l'agent alla tua installazione e al tenant.
  2. 02 · INVENTARIOIspeziona i runtime configurati, non indovina dal nome del modello.
  3. 03 · RELAYFrame limitati e streaming incrementale. Un agent disconnesso non completa lavoro altrui.
  4. 04 · AGGIORNAMENTIManifest firmati con hash verificati prima dell'installazione.
04 —Routing Switchyard

Il modello giusto per ogni richiesta. Al costo giusto.

Switchyard valuta l'idoneità di ogni route autorizzata e ordina i candidati per costo. Il frontier resta per le sfide difficili; il resto va ai tuoi target.

Route candidataIdoneitàCosto
qwen3.8-flash-nextSCELTAgpu-node-01 · locale
€
deepseek-v4.1-flashneocloud-eu-02 · FP8
€
kimi-k3.1BYOK
€€
modello-frontierprovider cloud
€€€

Il costo massimo viene riservato sul wallet prima dell'invio.

Installazione

Una distribuzione Kubernetes firmata, in quattro strati.

-edgeIngress e WAF
-appGateway, Control, Billing, portale
-dataPostgreSQL, Valkey, storage
-opsJob, telemetria, backup
05 —Architettura

Tutto nel tuo perimetro.
Nessuna porta esposta.

La piattaforma gira sul tuo Kubernetes. Gli agent sui server GPU si collegano in uscita: niente IP pubblico, niente VPN, niente porte in ingresso.

Runtime supportati: vLLM, SGLang, llama.cpp, Ollama e altri. I provider cloud si collegano con la tua chiave (BYOK).

06 —GitOps

L'inferenza diventa un passo del tuo workflow.

Pool di GPU, deployment e routing sono file YAML: li versioni in Git e li applichi dalla pipeline CI/CD. Così la richiesta di inferenza entra nel workflow: la pipeline accende le risorse che le servono, esegue il lavoro e le spegne. Niente capacità ferma a pagamento, risorse completamente dinamiche.

  • Review e storico delle modifiche in Git
  • venticli diff prima di applicare
  • Rollback con un revert
# .gitlab-ci.yml · job notturno
- venticli apply -f infra/vast-h100.yaml
- python batch.py --base-url $VENTIC/v1
- venticli delete -f infra/vast-h100.yaml

Supporto vast.ai

Ti serve potenza subito? Ventic avvia macchine GPU su vast.ai in pochi minuti, le collega come target e le usa nel routing come qualsiasi altra risorsa. Paghi a ore solo quando servono.

Sotto il cofano

Ogni richiesta è autorizzata,
prezzata e contabilizzata.

Quello che la piattaforma fa davvero tra il tuo client e il modello: protocolli nativi, routing, privacy, contabilità e agenti remoti. Tutto dentro il tuo cluster.

Vedi gli schemi
GATEWAY

API con protocolli nativi

Chat Completions, Responses, Messages, FIM e conteggio token, più embedding, voce, trascrizione e visione.

ROUTING

Switchyard

Sceglie il modello più adatto tra le rotte che sei autorizzato a usare, poi ordina per costo Decimal esatto.

PRIVACY

Confine PII reversibile

I dati personali diventano segnaposto prima del modello e tornano originali nello stream di risposta.

BYOK

Porta il tuo provider

Credenziali personali cifrate, condivisione esplicita col team e commissioni di servizio governate.

LEDGER

Riserva, invia, liquida

Un blocco limitato prima di ogni chiamata, liquidazione esatta dopo. Idempotente, nessun doppio addebito.

MONEY

Wallet, ricariche, fatture

Wallet di gruppo, trasferimenti, piani di allocazione, commissioni reseller, pagamento carta o bonifico e fatture.

AGENT

Runtime remoti, nessuna porta aperta

Un agente Rust si connette in uscita via WSS e serve vLLM, llama.cpp, Ollama o SGLang dal tuo hardware.

DATA

Export e cancellazione

Contenuti cifrati AES-256-GCM, export JSON, archivi chat opzionali sul tuo S3 e cancellazione dei contenuti.

SERVICES

Consulenze con esperti

Carichi un brief, ricevi un preventivo, prenoti uno slot e ricevi il report: tutto nel portale.

TRUST

Verifica aziendale

Identità e prove aziendali verificate da un operatore prima di sbloccare pagamenti e funzioni reseller.

ALERTS

Notifiche e audit

Inbox raggruppata, email e push con ntfy, e una voce di audit per ogni modifica in console.

CLI

venticli · OpenCode

Accesso da browser o device, risorse dichiarative e un catalogo con scope per i coding agent.

Licenza con lease firmato (max 72 h): alla scadenza l’inferenza si ferma, mentre fatturazione, export e cancellazione restano disponibili.

Schemi

Come funziona,
disegnato.

Cinque schemi dal codice reale: dal flusso di una richiesta all’architettura Kubernetes della tua installazione.

Ciclo di una richiesta

Il successo del provider non basta a chiudere una richiesta.

Il gateway completa una richiesta solo con consumi validi, liquidazione limitata e, dove serve, ripristino dei dati personali.

01 Richiesta nativaChat Completions,Responses, Messages o FIMcon chiave API02 Chiave → PrincipalTenant, wallet, modelli,limiti. Rate limit suValkey03 Policy e rottaLicenza firmata, controllimodello, Switchyard, prezzo04 Sanitizza PII (opz.)Segnaposto in uscita, mappacifrata conservata05 Riserva il massimoBlocco limitato sul walletcon impronta dellarichiesta06 InvioProvider, GPU gestita orelay dell’agente remoto07 Valida e ripristinaConsumi verificati, testoripristinato nello stream08 Liquida e rispondiCosto reale nel blocco, poirisposta o evento SSEfinale
  • Gateway → Control → PII → Billing → provider
  • L’ordine esatto varia con operazione, media e streaming
Contabilità

Bloccato prima della chiamata. Liquidato dopo.

Ogni richiesta è una macchina a stati: un esito ambiguo non perde mai il blocco finché non c’è prova.

ReservedBlocco limitato, ID richiestae improntaDispatchedMarcata prima della chiamataupstreamSettledConsumo misurato dentro illimiteReleasedAnnullata, scaduta ofallimento definitivoUncertainEsito ambiguo: il blocco restaannulla / scadeincompletoriconciliazione con prove
  • Idempotente per ID richiesta
  • Decimal esatto
  • Scritture bilanciate + outbox
  • I budget delle chiavi contano i blocchi
Privacy

Il modello vede segnaposto. I tuoi utenti vedono i loro dati.

La mappa reversibile è cifrata (AES-GCM), legata a tenant, utente e contesto, e non lascia mai il cluster.

Testo in ingressoLimitato a tenante utenteDetectorModello approvato+ patternSegnaposto<NI_…> sostituisceogni spanProvider modelloNon riceve mai glioriginaliCasting dello streamRipristina iltesto, ID diprotocollo intattiClientOutput autorizzatocon valorioriginaliMappa cifrataValkey, TTL, legata alcontestomappa reversibile
  • Solo testo: immagini e audio non sono anonimizzati
  • Un controllo modello può rendere la PII obbligatoria
Ventic Agent

Le tue GPU servono le richieste. Il tuo firewall resta chiuso.

L’agente apre un canale WSS in uscita; le richieste tornano sullo stesso canale. Non è una shell remota.

GatewayRichiesta autorizzata eprezzata per una rottaremotaRelay di ControlFrame limitati sulcanale correntedell’agenteRust agentIdentità legataall’installazione,aggiornamenti firmatiRuntime localevLLM · llama.cpp ·Ollama · SGLang · StrataWSS in uscita dall’agentenessuna porta in ingresso
  1. 1Un operatore crea un invito dalla console
  2. 2L’agente si abbina; il fingerprint è approvato
  3. 3Scopre i runtime e pubblica l’inventario
  4. 4I modelli vanno live dopo pubblicazione e controlli
Architettura

Un’installazione, quattro namespace, un cluster tuo.

Il chart crea quattro namespace dedicati. Controller condivisi e storage restano prerequisiti installati separatamente.

ESTERNOinstallation-edgeinstallation-appinstallation-datainstallation-opsUtenti e client APIBrowser, SDK, CLIEsterni (in uscita)Modelli upstream,lease Licman, Stripe,SMTP, S3, agentiremotiTraefikIngress e TLSWAFNginx +ModSecurity CRSPortale · DocsSito marketingKeycloakOIDC · SSO · MFAControl APIPolicy, relay agentiGatewaySwitchyardBillingLedger DecimalConfine PIIMappe reversibiliOpen WebUI+ SearXNG (opzionali)ntfy · exporterPush, archivi chatPostgreSQLCloudNativePGValkeyRate limit, mappe PIIObject storageS3BackupBarman WALReconcilerLease, journalCronJobs + KEDACatalogo job fissoOpenTelemetryCoda persistenteGreptimeDBMetriche, log,tracePerses · PrometheusDashboardsOTLP
  • Prerequisiti installati a parte: Traefik, cert-manager, KEDA, CloudNativePG, CNI con NetworkPolicy, StorageClass
Inizia ora

Contattaci
per cominciare subito.

Ti aiutiamo a installare Ventic sulla tua infrastruttura e partiamo direttamente dal workload che vuoi portare in produzione.