Jungletech
/
Menu
Chiudi
Inizia un progetto
← Torna al blog

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.

di Redazione di Jungletech··
mlopsarchitetturallmAI ArchitectureLLMOpsCost OptimizationMachine Learning
LLM Gateway in Produzione: Architetture di Semantic Routing tra Modelli 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:

  1. 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.

  2. 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.

  3. 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:

  1. Vettorializza il prompt con un modello di embedding leggero (all-MiniLM-L6-v2, che pesa 22MB e gira in pochi millisecondi su CPU)
  2. Classifica usando cosine similarity contro centroidi predefiniti ("task semplice", "ragionamento", "PII/sensibile") oppure un classificatore addestrato (XGBoost, DistilBERT fine-tuned)
  3. 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

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.