Engineering · 6 min
LLM Gateway in Produzione: Architetture di Semantic Routing tra Modelli Cloud e SLM On-Premise
Scopri come ridurre i costi di inferenza e tutelare la privacy nel B2B implementando un LLM Gateway con Semantic Routing tra Cloud e SLM On-Premise.
Il problema che stai affrontando è semplice: gli LLM cloud costano troppo quando li usi in produzione su volumi alti, ma i modelli locali non sanno ragionare come GPT-4. La soluzione non è scegliere uno dei due, ma far conversare entrambi attraverso un LLM Gateway con Semantic Routing. Un gateway intelligente esamina ogni richiesta, capisce se richiede ragionamento complesso o solo estrazione strutturata, e instrada il prompt verso il modello giusto — cloud oppure on-premise. In questo modo tagli i costi dell'80% senza perdere capacità, e tieni i dati sensibili dentro il perimetro aziendale.
Perché l'Hybrid AI è la vera soluzione ai costi di inferenza e alla data privacy
Il mercato sta cambiando. OpenAI ha appena introdotto spend controls per le enterprise — limiti massimi di spesa mensile per contenere i costi fuori controllo. Nel frattempo, HPE e altri player infrastrutturale stanno investendo pesantemente nel ritorno al data center on-premise, perché per molti B2B il cloud non è più l'opzione di default per l'AI.
Il dilemma che le aziende affrontano oggi è questo: i modelli proprietari come GPT-4 o Claude 3.5 costano fra 0.03$ e 0.20$ per 1K token in input — cifre insostenibili se moltiplicate per milioni di richieste annue. I modelli open-source e local-first come Llama 3 8B o Mistral 7B girano gratis su hardware tuo, ma non reggono task di ragionamento complesso o planning multi-step.
L'Hybrid AI risolve questo conflitto. Non è una strategia nuova, ma è diventata ineludibile in produzione:
- Riduzione dei costi: instrada il 70-80% del traffico verso SLM (Small Language Model) locali, il resto verso cloud
- Conformità e privacy: i dati con PII (Personally Identifiable Information) restano on-premise
- Resilienza: se l'API cloud è down o raggiunge il rate limit, il sistema fallback automaticamente al modello locale
Cos'è un LLM Gateway e perché serve un AI Middleware aziendale
Un LLM Gateway è uno strato di middleware che si posiziona tra le tue applicazioni e i modelli di linguaggio. Non è un proxy stupido che smista richieste; è un orchestrator intelligente che controlla la logica di routing, aggrega risposte, gestisce i token budget, e applica policy di sicurezza centralizzate.
Perché serve? Tre ragioni:
-
Disaccoppiamento: le tue app non parlano mai direttamente a OpenAI, Anthropic o al modello locale. Cambi fornitore o architettura senza toccare il codice applicativo. Eviti il vendor lock-in, che è il vero costo nascosto del cloud LLM.
-
Token budget management: ogni richiesta passa per il gateway, che traccia quanti token hai usato, da chi, su quale tenant o team. OpenAI ora offre spend controls nativi, ma solo nel loro pannello — un gateway unificato è più potente: puoi settare limiti per utente, per operazione, per modello, e monitorare tutto in una dashboard.
-
Compliance tracking: query sensitive, dati PII, accessi a modelli particolari — il gateway è il punto di audit centralizzato. Essenziale per il B2B, soprattutto in settori regolati (finanza, sanità, legal).
L'architettura base di un gateway aziendale assomiglia a questo:
Applicazione → [Gateway LLM] → Decisione routing
↓ ↓
Token counting Semantic embedding
Rate limiting Classification
Caching logic Policy checking
↓
┌─────────────────────┐
↓ ↓
[Cloud LLM] [SLM On-Premise]
(GPT-4, Claude) (Llama 3 8B)
Il gateway non somma latenza significativa se è ben fatto: con embedding models leggeri e classificatori veloci (fastText, XGBoost), il routing aggiunge meno di 10ms.
Come implementare il Semantic Routing tra Cloud LLM e SLM On-Premise
Il Semantic Routing non è un termine standard, ma descrive un'idea concreta: usare embeddings e semplici classificatori per decidere quale modello usare, invece di hardcodare regole su keyword o lunghezza del prompt.
Il flusso:
- Vettorializza il prompt con un modello di embedding leggero (
all-MiniLM-L6-v2, che pesa 22MB e gira in pochi millisecondi su CPU) - Classifica usando cosine similarity contro centroidi predefiniti ("task semplice", "ragionamento", "PII/sensibile") oppure un classificatore addestrato (XGBoost, DistilBERT fine-tuned)
- Instrada il prompt verso il modello appropriato
Pseudo-codice:
def route_prompt(prompt: str, user_id: str) -> str:
# 1. Embed the prompt
embedding = lightweight_embed_model.encode(prompt)
# 2. Classify
task_complexity = classifier.predict_proba(embedding)
has_pii = pii_detector.scan(prompt)
# 3. Route
if has_pii or user_id in ["finance_team", "hr_team"]:
# Stay on-premise, never send to cloud
response = local_slm.generate(prompt)
elif task_complexity["reasoning"] > 0.7:
# Complex reasoning → cloud LLM
response = openai.ChatCompletion.create(prompt)
else:
# Simple extraction, summarization → local SLM
response = local_slm.generate(prompt)
return response

Diagramma astratto sul flusso di Semantic Routing
I migliori modelli open-source da usare on-premise in questa categoria:
- Meta Llama 3 8B: 8B parametri, gira bene su singola GPU L4 o H100, capacità di ragionamento decente per task standard
- Microsoft Phi-3 3.8B: ancora più leggero, performance sorprendentemente buona per la dimensione
- Mistral 7B: buon equilibrio tra velocità e qualità, comunità attiva
Addestra il classificatore su 200-300 esempi reali dal tuo caso d'uso (real prompt dalla produzione), e raggiungerai 85-90% accuracy. Il miglioramento sui falsi positivi (inviare al cloud task semplici) compensa il costo di training in poche settimane.
Cost Optimization in produzione: Semantic Caching e Fallback Pattern
Anche con il routing ottimizzato, puoi ridurre i costi di un ulteriore 30-50% con due pattern:
Semantic Caching: molte aziende ricevono prompt molto simili ripetutamente (customer support, FAQ, onboarding). Invece di affidarsi al caching esatto della stringa, usa un vector database in-memory (Redis con RedisSearch, Qdrant, o Milvus) per salvare embedding di prompt precedenti e rispettive risposte. Se un nuovo prompt ha cosine similarity > 0.95 con uno in cache, restituisci la risposta memorizzata senza chiamare nessun LLM.
def semantic_cache_lookup(prompt: str, threshold: float = 0.95):
new_embedding = embed_model.encode(prompt)
cached = vector_db.search(new_embedding, top_k=1)
if cached and cached[0]["score"] > threshold:
return cached[0]["response"] # Cache hit!
# Cache miss → proceed with routing
return None
In ambienti SaaS con multi-tenant, il semantic caching taglia il 40-60% delle API calls cloud, a fronte di pochi MB di VRAM in Redis.
Fallback Pattern: se l'API del cloud LLM va in timeout, raggiunge il rate limit, o restituisce un errore, il gateway non fallisce — degrada gracefully al modello locale. La risposta sarà meno performante, ma il servizio rimane su.
def robust_generate(prompt: str):
try:
return openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}],
timeout=2.0 # Timeout aggressivo
)
except (Timeout, RateLimitError, APIError):
# Fallback to local SLM
return local_slm.generate(prompt)
Le metriche che devi tracciare:
- Cost-per-query: somma di token cost cloud + amortized VRAM/GPU on-premise
- Latency aggiunto dal gateway: target < 50ms per il routing + lookup cache
- Semantic cache hit rate: % di query servite dalla cache — se > 20%, hai ottimizzato bene
- Fallback rate: % di richieste that triggered fallback — se > 5%, hai un problema di SLA cloud
Sviluppare un'infrastruttura AI resiliente con Jungletech
Un LLM Gateway ben architettato non è un optional. In produzione, è il confine tra un prototipo che brucia budget e un sistema che scala. I vantaggi sono concreti:
- Risparmi del 70-80% sui token cost attraverso routing intelligente e caching semantico
- Conformità normativa garantita: i dati sensibili non escono mai dal perimetro aziendale
- Resilienza operativa: il fallback automatico al modello locale elimina le dipendenze critiche da fornitori cloud
- Flessibilità: cambi modello, provider, o configurazione senza refactor applicativo
Se stai progettando da zero un'architettura AI ibrida, oppure stai auditing un'infrastruttura existente che sta consumando troppi token, questo è il momento giusto per guardare oltre il prototipo.
Jungletech sviluppa sistemi ML e NLP per aziende B2B che affrontano esattamente questi problemi: costi, privacy, resilienza. La nostra piattaforma di integrazione semantica dei dati è stata costruita con questi pattern — semantic routing, caching, fallback — integrati nativamente.
Se il vostro caso d'uso involve LLM in produzione, possiamo confrontarci sulla vostra architettura specifica. Scriveteci con i dettagli del vostro stack e del vostro carico di query — sarà una conversazione tecnica diretta.
