Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Semantic Caching

Il caching semantico restituisce una risposta LLM memorizzata quando una nuova query ha lo stesso significato di una precedente, confrontando gli embedding per saltare le chiamate al modello e ridurre i costi.

La cache semantica archivia le risposte di un modello linguistico di grandi dimensioni (LLM) o di un altro modello generativo e le riutilizza per le nuove richieste che hanno lo stesso significato di una richiesta precedente, anche quando la formulazione è diversa. La cache converte ogni prompt in un embedding, trova il prompt archiviato più simile e restituisce la risposta salvata se la similarità supera una soglia. Un riscontro evita del tutto la chiamata al modello, riducendo la latenza a pochi millisecondi e azzerando il consumo di token della richiesta. Poiché la corrispondenza si basa sul significato, «Ho dimenticato la password» e «Come posso reimpostare la password?» condividono la stessa risposta archiviata, che una cache a corrispondenza esatta indicizzata sul testo del prompt avrebbe dovuto memorizzare due volte. Nel 2023 Zilliz ha pubblicato la libreria open source GPTCache per questo schema; oggi i database vettoriali e i gateway API lo offrono come funzionalità integrata.

Come funziona una cache semantica#

Un modello di embedding di frasi codifica il prompt in arrivo e una ricerca vettoriale lo confronta con gli embedding dei prompt a cui è già stata data risposta, di solito tramite la similarità coseno. Le cache piccole entrano in memoria, mentre quelle grandi risiedono in un database vettoriale con un indice approssimato dei vicini più prossimi. Se non trova una corrispondenza, il modello genera una nuova risposta e il nuovo embedding del prompt viene archiviato insieme alla risposta, solitamente con una scadenza.

La chiave della cache deve includere tutto il resto che può cambiare la risposta corretta. Le risposte generate con un prompt di sistema, una versione del modello, un livello di autorizzazione utente o un insieme di documenti recuperati diversi vengono archiviate in ambiti separati, così la risposta in cache di un cliente non viene mai fornita a un altro. Anche la freschezza richiede la stessa attenzione: quando cambiano un prezzo, una policy o un documento di origine, le voci basate sulla versione precedente continuano a corrispondere ai nuovi prompt; perciò ogni voce ha una durata di validità e l'ambito interessato viene svuotato quando cambiano i dati di origine.

Scegliere la soglia di similarità#

La soglia stabilisce quanto possono essere diversi due prompt perché condividano comunque una risposta. Questo esempio usa il modello all-MiniLM-L6-v2 di Sentence Transformers come codificatore per una cache con tre voci:

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("all-MiniLM-L6-v2")

# Earlier prompts whose answers are already stored in the cache
cached = ["How do I reset my password?", "What are your opening hours?", "How do I cancel my subscription?"]
cached_embeddings = model.encode(cached)

# Each new prompt reuses the closest cached answer if it clears the threshold
queries = ["I forgot my password, how can I change it?", "When does the store open?", "How do I cancel my order?"]
for query in queries:
    query_embedding = model.encode(query)
    scores = model.similarity(query_embedding, cached_embeddings)[0]
    best = scores.argmax().item()
    status = "hit" if scores[best] >= 0.7 else "miss"
    print(f"{query} -> {cached[best]} ({scores[best]:.2f}, {status})")

La parafrasi sulla password ottiene 0,89 ed è un riscontro corretto. La parafrasi sugli orari di apertura ottiene solo 0,61 e non trova corrispondenze. «Come annullo il mio ordine?» ottiene 0,71 rispetto a «Come annullo il mio abbonamento?» e restituirebbe istruzioni sbagliate. La similarità tra embedding misura la corrispondenza di formulazione e argomento, quindi nessuna singola soglia distingue questi tre casi. Le cache in produzione riducono il problema con il fine-tuning dell'encoder su coppie di parafrasi ricavate dal proprio traffico, soglie specifiche per categoria o l'invio di ogni possibile riscontro a un riordinatore, che valuta insieme i due prompt prima di restituire la risposta in cache.

Dove si inserisce la cache semantica#

La cache semantica è utile quando molti utenti fanno le stesse domande e le risposte cambiano lentamente: chatbot di supporto, help desk interni e assistenti di generazione aumentata dal recupero (RAG) basati su documentazione stabile. Le richieste personalizzate, sensibili al tempo o creative ne traggono pochi vantaggi, perché una risposta riutilizzata potrebbe essere sbagliata o ripetitiva.

Altre due cache usate nell'erogazione degli LLM operano a livelli diversi:

  • Cache dei prompt: il server del modello archivia gli stati calcolati di un prefisso di prompt ripetuto esattamente, riducendo la fase di prefill; il modello genera comunque una nuova risposta.
  • Cache KV: le chiavi e i valori dei token precedenti vengono conservati durante una singola generazione, così per ogni nuovo token non serve ricalcolarli.

La ricerca semantica usa la stessa ricerca tramite embedding per recuperare documenti in base a una query; una cache semantica la usa per recuperare risposte già generate, spesso all'interno di un gateway AI che si interpone tra le applicazioni e i fornitori di modelli.

Anche le immagini possono fungere da chiavi per una cache. embed() in Ultralytics YOLO restituisce un vettore di caratteristiche per ogni immagine, quindi un modello YOLO26 addestrato per la classificazione delle immagini può fornire la chiave di ricerca che consente a fotogrammi quasi duplicati ripresi da una videocamera di riutilizzare una descrizione precedente di un modello visione-linguaggio.

Explore solutions

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning