Avaliações e execuções de CI
Suítes de teste e avaliações de prompts enviam as mesmas requisições a cada execução. Atrás do gateway, só os prompts alterados custam alguma coisa.
Aponte seu SDK da OpenAI ou da Anthropic para uma URL e as requisições repetidas são respondidas pelo HotKV, em vez de serem pagas de novo. Sem mudanças no código.
Um binário ou contêiner na frente do provedor. A própria chave de API de quem chama é repassada, então o gateway não precisa de nenhuma.
Uma demonstração animada com comandos reais do HotKV e respostas de exemplo. Clique em qualquer etapa para ir direto a ela. Os comandos e as respostas ficam em inglês, exatamente como você os digita e vê no HotKV.
A maior parte do tráfego de LLM se repete. O mesmo prompt de sistema e a mesma pergunta chegam várias vezes, de usuários diferentes, de novas tentativas e de execuções de teste, e cada uma delas é cobrada. Adicionar um cache dentro de cada serviço, em cada linguagem que você usa, é lento e fácil de errar.
O hotkv-gateway fica entre a sua aplicação e a API do LLM. Mude a URL base do SDK e as requisições idênticas são servidas pelo HotKV, as respostas em streaming são reproduzidas como streams, perguntas reformuladas podem ser atendidas pelo significado e requisições idênticas em andamento compartilham uma única chamada ao provedor. Se o HotKV estiver lento ou fora do ar, as requisições vão direto para o provedor.
Um binário ou contêiner na frente do provedor. A própria chave de API de quem chama é repassada, então o gateway não precisa de nenhuma.
hotkv-gateway --upstream https://api.openai.com --semantic --embedding-model text-embedding-3-smallNada em cache ainda. A requisição vai ao provedor uma vez, e a resposta 200 completa é armazenada.
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-cacheUma requisição idêntica, mesmo com as chaves em outra ordem, é respondida pelo HotKV e nunca chega ao provedor.
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-cacheCom o cache semântico ativado, uma pergunta de turno único escrita de outro jeito pode ser atendida pela resposta a uma pergunta parecida.
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-cacheTrês requisições idênticas chegam enquanto a primeira ainda está em andamento. Elas compartilham uma única chamada ao provedor.
for i in 1 2 3; do curl -si localhost:8080/v1/chat/completions -H "Authorization: Bearer $OPENAI_API_KEY" -d @new.json & doneSuítes de teste e avaliações de prompts enviam as mesmas requisições a cada execução. Atrás do gateway, só os prompts alterados custam alguma coisa.
Um backend em Python, um worker em Node.js e um serviço em Go recebem o mesmo cache mudando uma URL base, sem uma biblioteca em cada linguagem.
Na frente do vLLM ou do Ollama, o gateway economiza tempo de GPU em vez de tarifas de API, porque os prompts repetidos nunca chegam ao servidor do modelo.
Requisições idênticas de chat, completion e embeddings ficam em cache, e perguntas de chat de turno único também podem ser reconhecidas pelo significado (--semantic).
As respostas em streaming são capturadas e reproduzidas como stream, então os clientes se comportam exatamente como antes.
Cada chave de API tem o próprio cache. Erros e respostas filtradas nunca são armazenados, e as requisições podem ignorar o cache com um header.
Se o HotKV estiver lento ou indisponível, as requisições vão direto para o provedor. O gateway também publica os seus números em /_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")
Não. Ele funciona com qualquer servidor HotKV. Com uma licença que inclua o cache de prompts, as entradas ficam em um namespace PCACHE e o HotKV registra os tokens economizados. O cache semântico sempre exige uma licença.
Não. A chave do cache inclui as credenciais de quem chama, então cada chave de API tem o próprio cache, a menos que você mantenha uma única chave do provedor no gateway ou o inicie com --scope global.
OpenAI, Azure OpenAI, OpenRouter, vLLM, Ollama, LiteLLM e qualquer outro que fale a API da OpenAI, além da Messages API da Anthropic com o cache exato.
O HotKV fala o protocolo Redis, então você pode apontar um cliente existente para ele e executar estes mesmos comandos.