Yapay zeka ve LLMLLM uygulamaları

Önbellekleyen LLM Ağ Geçidi

OpenAI veya Anthropic SDK'nızı tek bir URL'ye yönlendirin; tekrarlanan istekler yeniden ödenmek yerine HotKV'den yanıtlanır. Kod değişikliği yok.

değiştirilecek kod satırı
1
statik ikili dosya
~6 MB
açık kaynak
Apache-2.0
Adım 1 / 5
Ağ geçidini başlatın

Sağlayıcının önünde tek bir ikili dosya veya konteyner. Çağıranın kendi API anahtarı iletilir; bu yüzden ağ geçidinin hiçbirine ihtiyacı yoktur.

Örnek oturumplaying
# Ağ geçidini başlatın
$ 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)

Gerçek HotKV komutları ve örnek yanıtlarla animasyonlu bir anlatım. Herhangi bir adıma atlamak için üzerine tıklayın. Komutlar ve yanıtlar, HotKV'de yazdığınız ve gördüğünüz haliyle İngilizce kalır.

Sorun

LLM trafiğinin çoğu kendini tekrarlar. Aynı sistem prompt'u ve soru, farklı kullanıcılardan, yeniden denemelerden ve test çalıştırmalarından tekrar tekrar gelir ve her biri faturalandırılır. Kullandığınız her dilde, her servisin içine bir önbellek eklemek yavaştır ve yanlış yapması kolaydır.

HotKV bunu nasıl ele alır

hotkv-gateway, uygulamanız ile LLM API'si arasında durur. SDK'nın temel URL'sini değiştirin; aynı istekler HotKV'den sunulur, akış yanıtları akış olarak yeniden oynatılır, yeniden ifade edilen sorular anlamlarıyla sunulabilir ve yürütülmekte olan aynı istekler tek bir yukarı akış çağrısını paylaşır. HotKV yavaşsa veya kapalıysa, istekler doğrudan sağlayıcıya gider.

Adım adım

Ne olur, komut komut

  1. 01

    Ağ geçidini başlatın

    Sağlayıcının önünde tek bir ikili dosya veya konteyner. Çağıranın kendi API anahtarı iletilir; bu yüzden ağ geçidinin hiçbirine ihtiyacı yoktur.

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

    İlk istek, bir ıskalama

    Henüz önbellekte bir şey yok. İstek bir kez yukarı akışa gider ve tamamlanan 200 yanıtı saklanır.

    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

    Aynı istek, bir isabet

    Anahtarları farklı sırada olsa bile aynı bir istek HotKV'den yanıtlanır ve sağlayıcıya hiç ulaşmaz.

    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

    Yeniden ifade edilen bir soru

    Anlamsal önbellek açıkken, farklı sözcüklerle sorulmuş tek turlu bir soru, benzer bir sorunun yanıtıyla sunulabilir.

    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

    Bir yığın aynı istek

    İlki hâlâ yürütülürken üç aynı istek gelir. Tek bir yukarı akış çağrısını paylaşırlar.

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

Gerçek dünya senaryoları

Değerlendirme ve CI çalıştırmaları

Test paketleri ve prompt değerlendirmeleri her çalıştırmada aynı istekleri gönderir. Ağ geçidinin arkasında yalnızca değişen prompt'lar maliyet çıkarır.

Çok dilli platformlar

Bir Python arka ucu, bir Node.js çalışanı ve bir Go servisi, tek bir temel URL'yi değiştirerek aynı önbelleği alır; her dilde bir kitaplık gerekmez.

Kendi barındırdığınız modeller

vLLM veya Ollama'nın önünde ağ geçidi API ücretleri yerine GPU zamanından tasarruf ettirir, çünkü tekrarlanan prompt'lar model sunucusuna hiç ulaşmaz.

Yerleşik

Neler elde edersiniz

Birebir ve anlamsal önbellek

Aynı sohbet, tamamlama ve embedding istekleri önbelleğe alınır; tek turlu sohbet soruları anlamlarıyla da eşleşebilir (--semantic).

Akış yeniden oynatma

Akış yanıtları yakalanır ve akış olarak yeniden oynatılır; böylece istemciler tıpkı eskisi gibi davranır.

Varsayılan olarak güvenli

Her API anahtarının kendi önbelleği vardır. Hatalar ve filtrelenmiş yanıtlar asla saklanmaz ve istekler bir başlıkla önbelleği atlayabilir.

Asla yolda değil

HotKV yavaşsa veya kullanılamıyorsa, istekler doğrudan sağlayıcıya gider. Ağ geçidi ayrıca sayılarını /_hotkv/metrics adresinde bildirir.

Kodunuzdaki tek değişiklik

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

Sık sorulan sorular

Ağ geçidi bir HotKV lisansı gerektirir mi?

Hayır. Herhangi bir HotKV sunucusunda çalışır. Prompt önbelleğini içeren bir lisansla, girdiler bir PCACHE ad alanında yaşar ve HotKV tasarruf edilen tokenları izler. Anlamsal önbellek her zaman bir lisans gerektirir.

İki müşteri birbirinin yanıtlarını görebilir mi?

Hayır. Önbellek anahtarı çağıranın kimlik bilgilerini içerir; bu yüzden ağ geçidinde tek bir yukarı akış anahtarı tutmadığınız veya onu --scope global ile başlatmadığınız sürece her API anahtarının kendi önbelleği vardır.

Hangi sağlayıcılarla çalışır?

OpenAI, Azure OpenAI, OpenRouter, vLLM, Ollama, LiteLLM ve OpenAI API'sini konuşan her şey; ayrıca birebir önbellekle Anthropic'in Messages API'si.

İlgili kullanım senaryoları

Kendi iş yükünüzde deneyin

HotKV, Redis protokolünü konuşur; bu yüzden mevcut bir istemciyi ona yönlendirip aynı komutları çalıştırabilirsiniz.