AI és LLMLLM-alkalmazások

Gyorsítótárazó LLM-átjáró

Állítsa az OpenAI vagy az Anthropic SDK-ját egyetlen URL-re, és az ismételt kérésekre a HotKV válaszol, ahelyett hogy újra fizetne értük. Kódmódosítás nélkül.

kódsor módosítása
1
statikus bináris
~6 MB
nyílt forráskód
Apache-2.0
Lépés 1 / 5
Az átjáró indítása

Egyetlen bináris vagy konténer a szolgáltató előtt. A hívó saját API-kulcsa továbbítódik, így az átjárónak nincs szüksége sajátra.

Példa munkamenetplaying
# Az átjáró indítása
$ hotkv-gateway --upstream https://api.openai.com --semantic --embedding-model text-embedding-3-small
(gateway listening on 127.0.0.1:8080, cache in HotKV)

Animált bemutató valódi HotKV-parancsokkal és példa-válaszokkal. Kattintson bármelyik lépésre, hogy odaugorjon. A parancsok és a válaszok angolul maradnak, pontosan úgy, ahogy begépeli és látja őket a HotKV-ban.

A probléma

Az LLM-forgalom nagy része ismétlődik. Ugyanaz a rendszerprompt és kérdés újra és újra megérkezik különböző felhasználóktól, újrapróbálkozásokból és tesztfuttatásokból, és mindegyiket kiszámlázzák. Gyorsítótárat tenni minden szolgáltatásba, minden használt nyelven lassú, és könnyű elrontani.

Hogyan kezeli a HotKV

A hotkv-gateway az alkalmazása és az LLM API között áll. Cserélje ki az SDK alap-URL-jét, és az azonos kérések a HotKV-ból szolgálódnak ki, a streamelt válaszok streamként játszódnak vissza, az átfogalmazott kérdések jelentés alapján kiszolgálhatók, a folyamatban lévő azonos kérések pedig egyetlen upstream hívást osztanak meg. Ha a HotKV lassú vagy nem működik, a kérések közvetlenül a szolgáltatóhoz mennek.

Lépésről lépésre

Mi történik, parancsról parancsra

  1. 01

    Az átjáró indítása

    Egyetlen bináris vagy konténer a szolgáltató előtt. A hívó saját API-kulcsa továbbítódik, így az átjárónak nincs szüksége sajátra.

    hotkv-gateway --upstream https://api.openai.com --semantic --embedding-model text-embedding-3-small
  2. 02

    Az első kérés, tévesztés

    Még semmi sincs gyorsítótárazva. A kérés egyszer megy upstream, és a befejezett 200-as válasz eltárolódik.

    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
  3. 03

    Ugyanaz a kérés, találat

    Egy azonos kérésre, akár eltérő kulcssorrenddel is, a HotKV válaszol, és az soha nem jut el a szolgáltatóhoz.

    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
  4. 04

    Egy átfogalmazott kérdés

    Bekapcsolt szemantikus gyorsítótárral egy másként megfogalmazott, egyfordulós kérdést kiszolgálhat egy hasonló kérdés válasza.

    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
  5. 05

    Azonos kérések rohama

    Három azonos kérés érkezik, miközben az első még folyamatban van. Egyetlen upstream hívást osztanak meg.

    for i in 1 2 3; do curl -si localhost:8080/v1/chat/completions -H "Authorization: Bearer $OPENAI_API_KEY" -d @new.json & done
Hol használható

Valós helyzetek

Kiértékelési és CI-futtatások

A tesztkészletek és a prompt-kiértékelések minden futtatáskor ugyanazokat a kéréseket küldik. Az átjáró mögött csak a megváltozott promptok kerülnek bármibe.

Többnyelvű platformok

Egy Python-háttérrendszer, egy Node.js-munkavégző és egy Go-szolgáltatás mind ugyanazt a gyorsítótárat kapja egyetlen alap-URL cseréjével, nyelvenkénti könyvtár nélkül.

Saját üzemeltetésű modellek

A vLLM vagy az Ollama előtt az átjáró API-díjak helyett GPU-időt spórol, mert az ismétlődő promptok sosem érik el a modellszervert.

Beépítve

Amit kap

Pontos és szemantikus gyorsítótár

Az azonos csevegési, kiegészítési és embedding-kérések gyorsítótárazva vannak, az egyfordulós csevegőkérdések pedig jelentés alapján is párosíthatók (--semantic).

Stream-újrajátszás

A streamelt válaszok rögzítődnek és streamként játszódnak vissza, így a kliensek pontosan úgy viselkednek, mint korábban.

Alapból biztonságos

Minden API-kulcsnak saját gyorsítótára van. A hibák és a szűrt válaszok sosem kerülnek tárolásra, a kérések pedig egy fejléccel kihagyhatják a gyorsítótárat.

Soha nem akadály

Ha a HotKV lassú vagy nem elérhető, a kérések közvetlenül a szolgáltatóhoz mennek. Az átjáró a számait a /_hotkv/metrics címen is közli.

Az egyetlen változtatás a kódjában

python
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")

Gyakori kérdések

Szüksége van az átjárónak HotKV-licencre?

Nem. Bármelyik HotKV-szerveren működik. A prompt-gyorsítótárat tartalmazó licenccel a bejegyzések egy PCACHE névtérben élnek, és a HotKV követi a megtakarított tokeneket. A szemantikus gyorsítótárhoz mindig licenc kell.

Láthatja két ügyfél egymás válaszait?

Nem. A gyorsítótárkulcs tartalmazza a hívó hitelesítő adatait, így minden API-kulcsnak saját gyorsítótára van, hacsak nem tart egyetlen upstream kulcsot az átjáróban, vagy nem indítja a --scope global kapcsolóval.

Mely szolgáltatókkal működik?

Az OpenAI-val, az Azure OpenAI-jal, az OpenRouterrel, a vLLM-mel, az Ollamával, a LiteLLM-mel és mindennel, ami az OpenAI API-t beszéli, valamint az Anthropic Messages API-jával a pontos gyorsítótárral.

Kapcsolódó felhasználási esetek

Próbálja ki a saját munkaterhelésén

A HotKV a Redis protokollt beszéli, így egy meglévő klienst ráirányíthat, és lefuttathatja ugyanezeket a parancsokat.