Il laboratorio di intelligenza artificiale della Tsinghua University ha pubblicato il codice sorgente di AKV, un server di cache specializzato per agenti basati su grandi modelli linguistici (LLM) che operano su SGLang, il nuovo framework di esecuzione parallela per LLM. AKV è progettato per ridurre la latenza delle chiamate di modello, migliorare l'efficienza della memoria e consentire una gestione più flessibile delle sessioni degli agenti.

Caratteristiche principali di AKV

AKV combina tre funzionalità chiave:

    • Cache distribuita: i risultati delle inferenze vengono memorizzati e condivisi tra più agenti, evitando richieste duplicate al modello.
    • Gestione delle dipendenze: il server traccia le dipendenze tra chiamate di modello, garantendo che le versioni corrette dei parametri vengano utilizzate.
    • Integrazione nativa con SGLang: il protocollo di comunicazione è ottimizzato per sfruttare le capacità di parallelismo di SGLang, riducendo overhead di rete.

Il progetto è rilasciato sotto licenza Apache 2.0 e include una documentazione completa, esempi di deploy su Kubernetes e script per il benchmarking.

Architettura tecnica

L'architettura di AKV si basa su un modello client‑server. I client, ovvero gli agenti LLM, inviano richieste di inferenza al server AKV, che verifica la presenza di una risposta nella cache. Se la risposta è presente, il server la restituisce immediatamente; altrimenti, inoltra la richiesta al modello sottostante, memorizza il risultato e lo restituisce al client.

Il server utilizza Redis come backend di memorizzazione in‑memory, garantendo tempi di accesso nell’ordine dei microsecondi. Inoltre, AKV supporta meccanismi di eviction basati su LRU (Least Recently Used) e politiche di scadenza configurabili per ogni chiave.

Implementazione e utilizzo pratico

Per avviare AKV, è sufficiente eseguire il container Docker fornito:

docker run -p 6379:6379 -e REDIS_PASSWORD=secret akv:latest

Gli agenti LLM si connettono tramite l'endpoint gRPC esposto dal server. Un esempio di codice Python è il seguente:

import akv_client

client = akv_client.connect('localhost:6379', password='secret')

response = client.query(prompt='Qual è la capitale della Francia?')

print(response)

Questo flusso consente di integrare facilmente AKV in pipeline esistenti basate su SGLang, migliorando le prestazioni senza richiedere modifiche al modello.

Esempi di casi d'uso

Tra gli scenari più comuni troviamo:

    • Assistenti virtuali che rispondono a domande ricorrenti.
    • Chatbot per supporto clienti che devono mantenere coerenza contestuale.
    • Applicazioni di generazione di testo in tempo reale dove la latenza è critica.

In tutti questi casi, la cache di AKV riduce le chiamate al modello di almeno il 30 % rispetto a un'architettura senza cache, come dimostrato nei benchmark pubblicati.

Gestione dei cookie sul sito di riferimento

Il sito che ospita la documentazione di AKV utilizza una politica di cookie dettagliata, suddivisa in tre categorie: Necessari, Funzionali e Analitici. Di seguito è riportata la lista completa dei cookie, con durata e descrizione.

Cookie necessari

    • Cookie _cfbm – Durata: 1 ora – Supporta Cloudflare Bot Management.
    • Cookie _pxvid – Durata: 1 anno – Rileva frodi e attività di bot (PerimeterX).
    • Cookie _px3 – Durata: 6 minuti – Protegge il sito da attacchi BOT (Bloomberg).
    • Cookie CookieLawInfoConsent – Durata: 1 anno – Registra lo stato dei pulsanti di consenso CCPA.
    • Cookie cookielawinfo-checkbox-necessary – Durata: 11 mesi – Memorizza il consenso per i cookie necessari.
    • Cookie cookielawinfo-checkbox-others – Durata: 1 anno – Memorizza il consenso per i cookie “Altri”.
    • Cookie cookielawinfo-checkbox-non-necessary – Durata: 11 mesi – Memorizza il consenso per i cookie “Non necessari”.
    • Cookie cookielawinfo-checkbox-analytics – Durata: 1 anno – Memorizza il consenso per i cookie analitici.
    • Cookie cookielawinfo-checkbox-performance – Durata: 1 anno – Memorizza il consenso per i cookie di performance.
    • Cookie cookielawinfo-checkbox-uncategorized – Durata: 1 anno – Memorizza il consenso per i cookie non categorizzati.
    • Cookie cookielawinfo-checkbox-functional – Durata: 1 anno – Memorizza il consenso per i cookie funzionali.
    • Cookie cookielawinfo-checkbox-advertisement – Durata: 1 anno – Memorizza il consenso per i cookie pubblicitari.
    • Cookie wpEmojiSettingsSupports – Durata: sessione – Determina la compatibilità del browser con gli emoji.
    • Cookie VISITORPRIVACYMETADATA – Durata: 6 mesi – Registra lo stato del consenso per YouTube.
    • Cookie viewedcookiepolicy – Durata: 11 mesi – Indica se l'utente ha accettato la politica dei cookie.
    • Cookie PHPSESSID – Durata: sessione – Identifica la sessione dell'utente PHP.
    • Cookie __cfduid – Durata: 4 settimane – Identifica client dietro IP condiviso (Cloudflare).

Cookie funzionali

    • Cookie yt-remote-connected-devices – Durata: permanente – Memorizza le preferenze video di YouTube.
    • Cookie ytidb::LASTRESULTENTRY_KEY – Durata: permanente – Salva l'ultimo risultato di ricerca YouTube.
    • Cookie yt-remote-device-id – Durata: permanente – Identifica il dispositivo per video YouTube.
    • Cookie yt-remote-session-name – Durata: sessione – Salva le preferenze del lettore video.
    • Cookie yt-remote-fast-check-period – Durata: sessione – Gestisce il controllo rapido del lettore.
    • Cookie yt-remote-session-app – Durata: sessione – Memorizza le impostazioni dell'interfaccia video.
    • Cookie yt-remote-cast-available – Durata: sessione – Indica la disponibilità del casting.
    • Cookie yt-remote-cast-installed – Durata: sessione – Segna se il casting è installato.
    • Cookie na_id – Durata: 1 anno – Abilita la condivisione su social (AddThis).
    • Cookie vc – Durata: 1 anno – Supporta la condivisione su social (AddThis).
    • Cookie __atuvc – Durata: 1 anno – Aggiorna il conteggio di condivisione.
    • Cookie __atuvs – Durata: 30 minuti – Aggiorna il conteggio di condivisione temporaneo.
    • Cookie ouid – Durata: 1 anno – Consente la condivisione cross‑network.

Cookie analitici

    • Cookie ga* – Durata: 1 anno, 1 mese, 4 giorni – Conta le visualizzazioni di pagina (Google Analytics).
    • Cookie _ga – Durata: 2 anni – Calcola dati di visitatori, sessioni e campagne in modo anonimo.
    • Cookie sbjs_migrations – Durata: sessione – Identifica la sorgente del visitatore (Sourcebuster).

Impatto sullo sviluppo di agenti LLM

L'introduzione di AKV rappresenta un passo significativo verso la scalabilità delle applicazioni basate su LLM. La cache distribuita permette a più agenti di condividere risultati, riducendo il carico computazionale e i costi operativi. Inoltre, l'integrazione con SGLang consente di sfruttare l'esecuzione parallela, fondamentale per gestire richieste in tempo reale su grandi volumi di traffico.

Gli sviluppatori possono ora concentrarsi sulla logica di business degli agenti, delegando a AKV la gestione della cache e della coerenza dei dati. Questo approccio modulare facilita anche la manutenzione e l'aggiornamento dei modelli, poiché le versioni precedenti dei risultati possono essere conservate e riutilizzate finché non si rende necessaria una rigenerazione.

Prospettive future

Il team di Tsinghua prevede di estendere AKV con funzionalità avanzate, tra cui:

    • Supporto per policy di cache basate su contenuto semantico.
    • Integrazione con sistemi di monitoraggio per analizzare l'efficacia della cache in tempo reale.
    • Interfacce di amministrazione web per configurare parametri di eviction e monitorare lo stato del cluster.

Queste evoluzioni renderanno AKV ancora più adatto a scenari enterprise, dove la gestione della latenza e della consistenza è cruciale.