Ewaluacje i uruchomienia CI
Zestawy testów i ewaluacje promptów wysyłają te same żądania przy każdym uruchomieniu. Za bramą kosztują tylko zmienione prompty.
Skieruj swoje SDK OpenAI lub Anthropic na jeden adres URL, a powtórzone żądania będą obsługiwane z HotKV zamiast być płacone ponownie. Bez zmian w kodzie.
Jeden plik binarny lub kontener przed dostawcą. Własny klucz API wywołującego jest przekazywany dalej, więc brama nie potrzebuje żadnego.
Animowany przegląd z prawdziwymi poleceniami HotKV i przykładowymi odpowiedziami. Kliknij dowolny krok, aby do niego przejść. Polecenia i odpowiedzi pozostają po angielsku, dokładnie tak, jak je wpisujesz i widzisz w HotKV.
Większość ruchu do LLM się powtarza. Ten sam prompt systemowy i pytanie przychodzą raz po raz od różnych użytkowników, z ponowień i uruchomień testów, a każde z nich jest rozliczane. Dodawanie cache w każdej usłudze, w każdym używanym języku, jest powolne i łatwo je zepsuć.
hotkv-gateway stoi między aplikacją a API LLM. Zmień bazowy adres URL SDK, a identyczne żądania są obsługiwane z HotKV, odpowiedzi strumieniowe są odtwarzane jako strumienie, inaczej sformułowane pytania mogą być obsłużone według znaczenia, a identyczne żądania w toku współdzielą jedno wywołanie do dostawcy. Jeśli HotKV jest wolny lub niedostępny, żądania idą prosto do dostawcy.
Jeden plik binarny lub kontener przed dostawcą. Własny klucz API wywołującego jest przekazywany dalej, więc brama nie potrzebuje żadnego.
hotkv-gateway --upstream https://api.openai.com --semantic --embedding-model text-embedding-3-smallNic jeszcze nie ma w cache. Żądanie idzie raz do dostawcy, a zakończona odpowiedź 200 jest zapisywana.
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-cacheIdentyczne żądanie, nawet z kluczami w innej kolejności, dostaje odpowiedź z HotKV i nigdy nie dociera do dostawcy.
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-cachePrzy włączonym cache semantycznym inaczej sformułowane pytanie jednoturowe może dostać odpowiedź na podobne.
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-cacheTrzy identyczne żądania przychodzą, gdy pierwsze jest jeszcze w toku. Współdzielą jedno wywołanie do dostawcy.
for i in 1 2 3; do curl -si localhost:8080/v1/chat/completions -H "Authorization: Bearer $OPENAI_API_KEY" -d @new.json & doneZestawy testów i ewaluacje promptów wysyłają te same żądania przy każdym uruchomieniu. Za bramą kosztują tylko zmienione prompty.
Backend w Pythonie, worker w Node.js i usługa w Go dostają ten sam cache po zmianie jednego bazowego adresu URL, bez biblioteki w każdym języku.
Przed vLLM lub Ollama brama oszczędza czas GPU zamiast opłat za API, ponieważ powtórzone prompty nigdy nie docierają do serwera modelu.
Identyczne żądania czatu, uzupełnień i embeddingów są buforowane, a jednoturowe pytania czatu mogą też być dopasowywane według znaczenia (--semantic).
Odpowiedzi strumieniowe są przechwytywane i odtwarzane jako strumień, więc klienci zachowują się dokładnie jak wcześniej.
Każdy klucz API ma własny cache. Błędy i odfiltrowane odpowiedzi nigdy nie są zapisywane, a żądania mogą pominąć cache za pomocą nagłówka.
Jeśli HotKV jest wolny lub niedostępny, żądania idą prosto do dostawcy. Brama raportuje też swoje liczby pod /_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")
Nie. Działa z dowolnym serwerem HotKV. Przy licencji obejmującej cache promptów wpisy żyją w przestrzeni nazw PCACHE, a HotKV śledzi zaoszczędzone tokeny. Cache semantyczny zawsze wymaga licencji.
Nie. Klucz cache zawiera dane uwierzytelniające wywołującego, więc każdy klucz API ma własny cache, chyba że trzymasz w bramie jeden klucz do dostawcy lub uruchomisz ją z --scope global.
OpenAI, Azure OpenAI, OpenRouter, vLLM, Ollama, LiteLLM i z wszystkim innym, co obsługuje API OpenAI, a także z API Messages od Anthropic z dokładnym cache.
HotKV mówi protokołem Redis, więc możesz skierować na niego istniejącego klienta i uruchomić te same polecenia.