Evaluace a běhy CI
Testovací sady a evaluace promptů posílají při každém běhu stejné požadavky. Za gateway stojí něco jen změněné prompty.
Nasměrujte své SDK OpenAI nebo Anthropic na jedno URL a opakované požadavky se obslouží z HotKV místo toho, abyste za ně platili znovu. Bez změn v kódu.
Jeden binární soubor nebo kontejner před poskytovatelem. Přeposílá se vlastní API klíč volajícího, takže gateway žádný nepotřebuje.
Animovaný průvodce se skutečnými příkazy HotKV a ukázkovými odpověďmi. Kliknutím na kterýkoli krok na něj přeskočíte. Příkazy a odpovědi zůstávají anglicky, přesně tak, jak je v HotKV zadáváte a vidíte.
Většina provozu LLM se opakuje. Stejný systémový prompt a stejná otázka přicházejí znovu a znovu od různých uživatelů, z opakování a z testovacích běhů a každé z nich se účtuje. Přidávat cache dovnitř každé služby, v každém jazyce, který používáte, je pomalé a snadno se v tom udělá chyba.
hotkv-gateway stojí mezi vaší aplikací a API LLM. Změňte základní URL v SDK a identické požadavky se obslouží z HotKV, streamované odpovědi se přehrají jako streamy, přeformulované otázky lze obsloužit podle významu a identické požadavky v běhu sdílejí jedno volání upstreamu. Pokud je HotKV pomalé nebo nedostupné, požadavky jdou rovnou k poskytovateli.
Jeden binární soubor nebo kontejner před poskytovatelem. Přeposílá se vlastní API klíč volajícího, takže gateway žádný nepotřebuje.
hotkv-gateway --upstream https://api.openai.com --semantic --embedding-model text-embedding-3-smallZatím nic v cache. Požadavek jde jednou k upstreamu a dokončená odpověď 200 se uloží.
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-cacheIdentický požadavek, i s klíči v jiném pořadí, se obslouží z HotKV a k poskytovateli se vůbec nedostane.
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-cacheSe zapnutou sémantickou cache lze jinak formulovanou otázku o jedné replice obsloužit odpovědí na podobnou.
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-cacheTři identické požadavky přijdou, zatímco první je ještě v běhu. Sdílejí jedno volání upstreamu.
for i in 1 2 3; do curl -si localhost:8080/v1/chat/completions -H "Authorization: Bearer $OPENAI_API_KEY" -d @new.json & doneTestovací sady a evaluace promptů posílají při každém běhu stejné požadavky. Za gateway stojí něco jen změněné prompty.
Backend v Pythonu, worker v Node.js a služba v Go dostanou stejnou cache změnou jednoho základního URL, bez knihovny v každém jazyce.
Před vLLM nebo Ollama ušetří gateway místo poplatků za API čas GPU, protože se opakované prompty k serveru modelu nikdy nedostanou.
Identické požadavky chat, completion a embeddings se cachují a jednorepliková chatová otázka může odpovídat i podle významu (--semantic).
Streamované odpovědi se zachytí a přehrají jako stream, takže se klienti chovají přesně jako dřív.
Každý API klíč má vlastní cache. Chyby a filtrované odpovědi se nikdy neukládají a požadavky mohou cache přeskočit pomocí hlavičky.
Pokud je HotKV pomalé nebo nedostupné, požadavky jdou rovnou k poskytovateli. Gateway také hlásí svá čísla na /_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")
Ne. Funguje s libovolným serverem HotKV. S licencí, která zahrnuje cache promptů, žijí položky ve jmenném prostoru PCACHE a HotKV sleduje ušetřené tokeny. Sémantická cache licenci potřebuje vždy.
Ne. Klíč cache zahrnuje přihlašovací údaje volajícího, takže každý API klíč má vlastní cache, pokud v gateway nemáte jediný upstream klíč nebo ji nespustíte s --scope global.
S OpenAI, Azure OpenAI, OpenRouter, vLLM, Ollama, LiteLLM a čímkoli dalším, co mluví API OpenAI, plus s API Messages od Anthropic s cache s přesnou shodou.
HotKV mluví protokolem Redisu, takže na něj můžete nasměrovat stávajícího klienta a spustit tytéž příkazy.