Valutazioni ed esecuzioni CI
Le suite di test e le valutazioni dei prompt inviano le stesse richieste a ogni esecuzione. Dietro il gateway, costano qualcosa solo i prompt modificati.
Punta il tuo SDK OpenAI o Anthropic a un solo URL e le richieste ripetute ricevono risposta da HotKV invece di essere pagate di nuovo. Nessuna modifica al codice.
Un solo binario o container davanti al provider. Viene inoltrata la chiave API del chiamante, quindi il gateway non ne ha bisogno.
Una dimostrazione animata con comandi HotKV reali e risposte di esempio. Clicca su un passo qualsiasi per andarci. Comandi e risposte restano in inglese, esattamente come li digiti e li vedi in HotKV.
La maggior parte del traffico LLM si ripete. Lo stesso prompt di sistema e la stessa domanda arrivano ancora e ancora da utenti diversi, retry ed esecuzioni di test, e ognuno viene fatturato. Aggiungere una cache dentro ogni servizio, in ogni linguaggio che usi, è lento e facile da sbagliare.
hotkv-gateway si colloca tra la tua applicazione e l'API LLM. Cambia il base URL dell'SDK e le richieste identiche vengono servite da HotKV, le risposte in streaming vengono riprodotte come stream, le domande riformulate possono essere servite per significato e le richieste identiche in corso condividono una sola chiamata upstream. Se HotKV è lento o non disponibile, le richieste vanno direttamente al provider.
Un solo binario o container davanti al provider. Viene inoltrata la chiave API del chiamante, quindi il gateway non ne ha bisogno.
hotkv-gateway --upstream https://api.openai.com --semantic --embedding-model text-embedding-3-smallAncora niente in cache. La richiesta va upstream una volta e la risposta 200 completa viene salvata.
curl -si localhost:8080/v1/chat/completions -H "Authorization: Bearer $OPENAI_API_KEY" -H "Content-Type: application/json" -d @question.json | grep -i x-hotkv-cacheUna richiesta identica, anche con le chiavi in un ordine diverso, riceve risposta da HotKV e non arriva mai al provider.
curl -si localhost:8080/v1/chat/completions -H "Authorization: Bearer $OPENAI_API_KEY" -H "Content-Type: application/json" -d @question.json | grep -i x-hotkv-cacheCon la cache semantica attiva, una domanda a turno singolo formulata in modo diverso può essere servita con la risposta a una domanda simile.
curl -si localhost:8080/v1/chat/completions -H "Authorization: Bearer $OPENAI_API_KEY" -H "Content-Type: application/json" -d @rephrased.json | grep -i x-hotkv-cacheTre richieste identiche arrivano mentre la prima è ancora in corso. Condividono una sola chiamata upstream.
for i in 1 2 3; do curl -si localhost:8080/v1/chat/completions -H "Authorization: Bearer $OPENAI_API_KEY" -d @new.json & doneLe suite di test e le valutazioni dei prompt inviano le stesse richieste a ogni esecuzione. Dietro il gateway, costano qualcosa solo i prompt modificati.
Un backend Python, un worker Node.js e un servizio Go ottengono tutti la stessa cache cambiando un solo base URL, senza una libreria per ogni linguaggio.
Davanti a vLLM o Ollama il gateway fa risparmiare tempo di GPU invece di costi API, perché i prompt ripetuti non arrivano mai al server del modello.
Le richieste identiche di chat, completion ed embedding vengono messe in cache, e le domande di chat a turno singolo possono anche corrispondere per significato (--semantic).
Le risposte in streaming vengono catturate e riprodotte come stream, così i client si comportano esattamente come prima.
Ogni chiave API ha la propria cache. Errori e risposte filtrate non vengono mai salvati, e le richieste possono saltare la cache con un header.
Se HotKV è lento o non disponibile, le richieste vanno direttamente al provider. Il gateway espone anche i suoi numeri su /_hotkv/metrics.
from openai import OpenAI client = OpenAI(base_url="http://localhost:8080/v1") # the only change # For Anthropic: start the gateway with --upstream https://api.anthropic.com import anthropic client = anthropic.Anthropic(base_url="http://localhost:8080")
No. Funziona con qualsiasi server HotKV. Con una licenza che include la cache dei prompt, le voci vivono in un namespace PCACHE e HotKV tiene traccia dei token risparmiati. La cache semantica richiede sempre una licenza.
No. La chiave di cache include le credenziali del chiamante, quindi ogni chiave API ha la propria cache, a meno che tu non tenga una sola chiave upstream nel gateway o lo avvii con --scope global.
OpenAI, Azure OpenAI, OpenRouter, vLLM, Ollama, LiteLLM e qualsiasi altro servizio che parli l'API OpenAI, più la Messages API di Anthropic con la cache esatta.
HotKV parla il protocollo Redis, quindi puoi puntarci un client esistente ed eseguire questi stessi comandi.