평가 및 CI 실행
테스트 스위트와 프롬프트 평가는 실행할 때마다 같은 요청을 보냅니다. 게이트웨이 뒤에서는 변경된 프롬프트만 비용이 듭니다.
OpenAI 또는 Anthropic SDK를 하나의 URL로 지정하면 반복 요청은 다시 비용을 내지 않고 HotKV에서 응답합니다. 코드 변경은 필요 없습니다.
공급자 앞에 바이너리 또는 컨테이너 하나를 둡니다. 호출자의 API 키가 그대로 전달되므로 게이트웨이에는 키가 필요 없습니다.
실제 HotKV 명령과 예시 응답으로 구성된 애니메이션 안내입니다. 원하는 단계를 클릭하면 해당 단계로 이동합니다. 명령과 응답은 HotKV에서 입력하고 보는 그대로 영어로 표시됩니다.
LLM 트래픽의 대부분은 반복됩니다. 같은 시스템 프롬프트와 질문이 여러 사용자, 재시도, 테스트 실행에서 계속 들어오고, 그 하나하나에 비용이 청구됩니다. 사용하는 모든 언어로 모든 서비스에 캐시를 넣는 일은 느리고 실수하기 쉽습니다.
hotkv-gateway는 애플리케이션과 LLM API 사이에 위치합니다. SDK의 base URL만 바꾸면 동일한 요청은 HotKV에서 제공되고, 스트리밍 응답은 스트림으로 재생되며, 바꿔 말한 질문은 의미로 응답할 수 있고, 처리 중인 동일한 요청은 업스트림 호출 하나를 공유합니다. HotKV가 느리거나 다운되면 요청은 곧바로 공급자로 전달됩니다.
공급자 앞에 바이너리 또는 컨테이너 하나를 둡니다. 호출자의 API 키가 그대로 전달되므로 게이트웨이에는 키가 필요 없습니다.
hotkv-gateway --upstream https://api.openai.com --semantic --embedding-model text-embedding-3-small아직 캐시된 것이 없습니다. 요청은 업스트림으로 한 번 전달되고, 완료된 200 응답이 저장됩니다.
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-cache동일한 요청은 키 순서가 달라도 HotKV에서 응답하며 공급자에 도달하지 않습니다.
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-cache시맨틱 캐시를 켜면 표현이 다른 단일 턴 질문도 비슷한 질문의 답변으로 응답할 수 있습니다.
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-cache첫 요청이 아직 처리 중일 때 동일한 요청 세 개가 도착합니다. 이들은 업스트림 호출 하나를 공유합니다.
for i in 1 2 3; do curl -si localhost:8080/v1/chat/completions -H "Authorization: Bearer $OPENAI_API_KEY" -d @new.json & done테스트 스위트와 프롬프트 평가는 실행할 때마다 같은 요청을 보냅니다. 게이트웨이 뒤에서는 변경된 프롬프트만 비용이 듭니다.
Python 백엔드, Node.js 워커, Go 서비스가 base URL 하나만 바꿔 같은 캐시를 사용합니다. 언어마다 라이브러리를 둘 필요가 없습니다.
vLLM이나 Ollama 앞에 두면 반복 프롬프트가 모델 서버에 도달하지 않으므로 게이트웨이가 API 요금 대신 GPU 시간을 절약합니다.
동일한 chat, completion, embeddings 요청을 캐시하며, 단일 턴 채팅 질문은 의미로도 매칭할 수 있습니다(--semantic).
스트리밍 응답을 캡처해 스트림으로 재생하므로 클라이언트는 이전과 똑같이 동작합니다.
API 키마다 자체 캐시를 가집니다. 오류와 필터링된 답변은 절대 저장되지 않으며, 헤더로 요청이 캐시를 건너뛰게 할 수 있습니다.
HotKV가 느리거나 사용할 수 없으면 요청은 곧바로 공급자로 전달됩니다. 게이트웨이는 /_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")
아닙니다. 어떤 HotKV 서버에서도 동작합니다. 프롬프트 캐시가 포함된 라이선스가 있으면 항목이 PCACHE 네임스페이스에 저장되고 HotKV가 절약한 토큰을 추적합니다. 시맨틱 캐시는 항상 라이선스가 필요합니다.
아닙니다. 캐시 키에 호출자의 자격 증명이 포함되므로 API 키마다 자체 캐시를 가집니다. 단, 게이트웨이에 업스트림 키 하나만 두거나 --scope global로 시작한 경우는 예외입니다.
OpenAI, Azure OpenAI, OpenRouter, vLLM, Ollama, LiteLLM 등 OpenAI API를 지원하는 모든 것과 동작하며, Anthropic의 Messages API는 정확 일치 캐시로 지원합니다.