Evaluierungs- und CI-Läufe
Testsuites und Prompt-Evaluierungen senden bei jedem Lauf dieselben Anfragen. Hinter dem Gateway kosten nur geänderte Prompts etwas.
Richten Sie Ihr OpenAI- oder Anthropic-SDK auf eine URL, und wiederholte Anfragen werden aus HotKV beantwortet, statt erneut bezahlt zu werden. Ohne Codeänderungen.
Ein Binary oder Container vor dem Anbieter. Der eigene API-Schlüssel des Aufrufers wird weitergereicht, daher braucht das Gateway keinen.
Ein animierter Durchlauf mit echten HotKV-Befehlen und Beispielantworten. Klicken Sie auf einen Schritt, um direkt dorthin zu springen. Befehle und Antworten bleiben auf Englisch, genau so, wie Sie sie in HotKV eingeben und sehen.
Der meiste LLM-Traffic wiederholt sich. Derselbe System-Prompt und dieselbe Frage kommen immer wieder von verschiedenen Benutzern, Wiederholungsversuchen und Testläufen, und jede davon wird abgerechnet. Einen Cache in jeden Dienst einzubauen, in jeder Sprache, die Sie verwenden, ist langsam und fehleranfällig.
hotkv-gateway sitzt zwischen Ihrer Anwendung und der LLM-API. Ändern Sie die Basis-URL des SDK, und identische Anfragen werden aus HotKV bedient, Streaming-Antworten werden als Streams wiedergegeben, umformulierte Fragen lassen sich über ihre Bedeutung beantworten, und identische Anfragen, die gleichzeitig laufen, teilen sich einen Upstream-Aufruf. Ist HotKV langsam oder nicht erreichbar, gehen Anfragen direkt an den Anbieter.
Ein Binary oder Container vor dem Anbieter. Der eigene API-Schlüssel des Aufrufers wird weitergereicht, daher braucht das Gateway keinen.
hotkv-gateway --upstream https://api.openai.com --semantic --embedding-model text-embedding-3-smallNoch ist nichts gecacht. Die Anfrage geht einmal upstream, und die vollständige 200-Antwort wird gespeichert.
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-cacheEine identische Anfrage, auch mit Schlüsseln in anderer Reihenfolge, wird aus HotKV beantwortet und erreicht den Anbieter nie.
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-cacheMit aktiviertem semantischem Cache kann eine anders formulierte Frage mit einem einzigen Gesprächsschritt mit der Antwort auf eine ähnliche Frage bedient werden.
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-cacheDrei identische Anfragen treffen ein, während die erste noch läuft. Sie teilen sich einen Upstream-Aufruf.
for i in 1 2 3; do curl -si localhost:8080/v1/chat/completions -H "Authorization: Bearer $OPENAI_API_KEY" -d @new.json & doneTestsuites und Prompt-Evaluierungen senden bei jedem Lauf dieselben Anfragen. Hinter dem Gateway kosten nur geänderte Prompts etwas.
Ein Python-Backend, ein Node.js-Worker und ein Go-Dienst bekommen alle denselben Cache, indem eine Basis-URL geändert wird, ohne Bibliothek in jeder Sprache.
Vor vLLM oder Ollama spart das Gateway GPU-Zeit statt API-Gebühren, weil wiederholte Prompts den Modellserver nie erreichen.
Identische Chat-, Completion- und Embedding-Anfragen werden gecacht, und Chatfragen mit einem einzigen Gesprächsschritt können auch über ihre Bedeutung getroffen werden (--semantic).
Gestreamte Antworten werden aufgezeichnet und als Stream wiedergegeben, sodass sich Clients genau wie vorher verhalten.
Jeder API-Schlüssel hat seinen eigenen Cache. Fehler und gefilterte Antworten werden nie gespeichert, und Anfragen können den Cache per Header umgehen.
Ist HotKV langsam oder nicht verfügbar, gehen Anfragen direkt an den Anbieter. Das Gateway meldet seine Kennzahlen außerdem unter /_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")
Nein. Es funktioniert mit jedem HotKV-Server. Mit einer Lizenz, die den Prompt-Cache enthält, liegen die Einträge in einem PCACHE-Namespace, und HotKV erfasst die eingesparten Tokens. Der semantische Cache braucht immer eine Lizenz.
Nein. Der Cache-Schlüssel enthält die Zugangsdaten des Aufrufers, sodass jeder API-Schlüssel seinen eigenen Cache hat, es sei denn, Sie hinterlegen einen einzigen Upstream-Schlüssel im Gateway oder starten es mit --scope global.
OpenAI, Azure OpenAI, OpenRouter, vLLM, Ollama, LiteLLM und alles andere, was die OpenAI-API spricht, dazu die Messages-API von Anthropic mit dem exakten Cache.
HotKV spricht das Redis-Protokoll, sodass Sie einen bestehenden Client darauf richten und genau diese Befehle ausführen können.