Evaluaciones y ejecuciones de CI
Las suites de pruebas y las evaluaciones de prompts envían las mismas solicitudes en cada ejecución. Detrás del gateway, solo cuestan los prompts que cambian.
Apunta tu SDK de OpenAI o Anthropic a una URL y HotKV responde las solicitudes repetidas en lugar de que las pagues otra vez. Sin cambios de código.
Un binario o contenedor delante del proveedor. Se reenvía la propia clave de API de quien llama, así que el gateway no necesita ninguna.
Un recorrido animado con comandos reales de HotKV y respuestas de ejemplo. Haz clic en cualquier paso para saltar a él. Los comandos y las respuestas se quedan en inglés, tal como los escribes y los ves en HotKV.
La mayor parte del tráfico de LLM se repite. El mismo prompt de sistema y la misma pregunta llegan una y otra vez desde distintos usuarios, reintentos y ejecuciones de pruebas, y cada una se factura. Añadir una caché dentro de cada servicio, en cada lenguaje que usas, es lento y fácil de hacer mal.
hotkv-gateway se sitúa entre tu aplicación y la API del LLM. Cambia la URL base del SDK y las solicitudes idénticas se sirven desde HotKV, las respuestas en streaming se reproducen como streams, las preguntas reformuladas pueden servirse por su significado y las solicitudes idénticas en curso comparten una sola llamada al proveedor. Si HotKV va lento o está caído, las solicitudes van directamente al proveedor.
Un binario o contenedor delante del proveedor. Se reenvía la propia clave de API de quien llama, así que el gateway no necesita ninguna.
hotkv-gateway --upstream https://api.openai.com --semantic --embedding-model text-embedding-3-smallTodavía no hay nada en caché. La solicitud va al proveedor una vez y se guarda la respuesta 200 completa.
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 solicitud idéntica, incluso con las claves en otro orden, se responde desde HotKV y nunca llega al proveedor.
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 caché semántica activada, una pregunta de un solo turno redactada de otra forma puede servirse con la respuesta a 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-cacheLlegan tres solicitudes idénticas mientras la primera sigue en curso. Comparten una sola llamada al proveedor.
for i in 1 2 3; do curl -si localhost:8080/v1/chat/completions -H "Authorization: Bearer $OPENAI_API_KEY" -d @new.json & doneLas suites de pruebas y las evaluaciones de prompts envían las mismas solicitudes en cada ejecución. Detrás del gateway, solo cuestan los prompts que cambian.
Un backend en Python, un worker en Node.js y un servicio en Go obtienen la misma caché cambiando una URL base, sin una librería en cada lenguaje.
Delante de vLLM u Ollama, el gateway ahorra tiempo de GPU en lugar de tarifas de API, porque los prompts repetidos nunca llegan al servidor del modelo.
Las solicitudes idénticas de chat, completion y embeddings se guardan en caché, y las preguntas de chat de un solo turno también pueden coincidir por significado (--semantic).
Las respuestas en streaming se capturan y se reproducen como stream, así que los clientes se comportan exactamente igual que antes.
Cada clave de API tiene su propia caché. Los errores y las respuestas filtradas nunca se guardan, y las solicitudes pueden saltarse la caché con una cabecera.
Si HotKV va lento o no está disponible, las solicitudes van directamente al proveedor. El gateway también publica sus métricas en /_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. Funciona con cualquier servidor HotKV. Con una licencia que incluya la caché de prompts, las entradas viven en un namespace PCACHE y HotKV contabiliza los tokens ahorrados. La caché semántica siempre necesita licencia.
No. La clave de caché incluye las credenciales de quien llama, así que cada clave de API tiene su propia caché, salvo que mantengas una sola clave del proveedor en el gateway o lo arranques con --scope global.
OpenAI, Azure OpenAI, OpenRouter, vLLM, Ollama, LiteLLM y cualquier otro que hable la API de OpenAI, además de la Messages API de Anthropic con la caché exacta.
HotKV habla el protocolo de Redis, así que puedes apuntar un cliente que ya usas hacia él y ejecutar estos mismos comandos.