Rulări de evaluare și CI
Suitele de teste și evaluările de prompturi trimit aceleași cereri la fiecare rulare. În spatele gateway-ului, costă ceva doar prompturile schimbate.
Îndreptați SDK-ul OpenAI sau Anthropic spre un singur URL, iar cererile repetate primesc răspuns de la HotKV în loc să fie plătite din nou. Fără modificări de cod.
Un binar sau un container în fața furnizorului. Cheia API a apelantului este transmisă mai departe, deci gateway-ul nu are nevoie de niciuna.
O demonstrație animată cu comenzi HotKV reale și răspunsuri de exemplu. Faceți clic pe orice pas pentru a sări la el. Comenzile și răspunsurile rămân în engleză, exact așa cum le tastați și le vedeți în HotKV.
Cea mai mare parte a traficului LLM se repetă. Același prompt de sistem și aceeași întrebare sosesc iar și iar de la utilizatori diferiți, din reîncercări și din rulări de test, iar fiecare este facturată. Să adăugați un cache în interiorul fiecărui serviciu, în fiecare limbaj pe care îl folosiți, este lent și ușor de greșit.
hotkv-gateway stă între aplicația dvs. și API-ul LLM. Schimbați base URL-ul SDK-ului, iar cererile identice sunt servite de HotKV, răspunsurile în streaming sunt reluate ca streamuri, întrebările reformulate pot fi servite după sens, iar cererile identice aflate în desfășurare împart un singur apel către upstream. Dacă HotKV este lent sau căzut, cererile merg direct la furnizor.
Un binar sau un container în fața furnizorului. Cheia API a apelantului este transmisă mai departe, deci gateway-ul nu are nevoie de niciuna.
hotkv-gateway --upstream https://api.openai.com --semantic --embedding-model text-embedding-3-smallNimic în cache încă. Cererea merge o dată la upstream, iar răspunsul 200 finalizat este stocat.
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-cacheO cerere identică, chiar și cu chei în altă ordine, primește răspuns de la HotKV și nu ajunge niciodată la furnizor.
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-cacheCu cache-ul semantic activat, o întrebare dintr-un singur tur, formulată diferit, poate fi servită cu răspunsul la una similară.
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-cacheTrei cereri identice sosesc cât timp prima este încă în desfășurare. Ele împart un singur apel către upstream.
for i in 1 2 3; do curl -si localhost:8080/v1/chat/completions -H "Authorization: Bearer $OPENAI_API_KEY" -d @new.json & doneSuitele de teste și evaluările de prompturi trimit aceleași cereri la fiecare rulare. În spatele gateway-ului, costă ceva doar prompturile schimbate.
Un backend Python, un worker Node.js și un serviciu Go primesc același cache schimbând un singur base URL, fără o bibliotecă în fiecare limbaj.
În fața vLLM sau Ollama, gateway-ul economisește timp de GPU în loc de taxe API, pentru că prompturile repetate nu ajung niciodată la serverul de modele.
Cererile identice de chat, completion și embeddings sunt puse în cache, iar întrebările de chat dintr-un singur tur se pot potrivi și după sens (--semantic).
Răspunsurile în streaming sunt capturate și reluate ca stream, deci clienții se comportă exact ca înainte.
Fiecare cheie API are propriul cache. Erorile și răspunsurile filtrate nu sunt niciodată stocate, iar cererile pot ocoli cache-ul printr-un header.
Dacă HotKV este lent sau indisponibil, cererile merg direct la furnizor. Gateway-ul își raportează cifrele și la /_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")
Nu. Funcționează cu orice server HotKV. Cu o licență care include cache-ul de prompturi, intrările stau într-un spațiu de nume PCACHE, iar HotKV urmărește tokenii economisiți. Cache-ul semantic are mereu nevoie de licență.
Nu. Cheia de cache include credențialele apelantului, deci fiecare cheie API are propriul cache, cu excepția cazului în care păstrați o singură cheie upstream în gateway sau îl porniți cu --scope global.
OpenAI, Azure OpenAI, OpenRouter, vLLM, Ollama, LiteLLM și orice altceva care vorbește API-ul OpenAI, plus Messages API de la Anthropic cu cache-ul exact.
HotKV vorbește protocolul Redis, așa că puteți îndrepta spre el un client existent și rula aceleași comenzi.