הרצות הערכה ו-CI
חבילות בדיקות והערכות פרומפטים שולחות את אותן בקשות בכל הרצה. מאחורי השער, רק פרומפטים ששונו עולים כסף.
מפנים את ה-SDK של OpenAI או של Anthropic לכתובת אחת, ובקשות חוזרות נענות מ-HotKV במקום שישלמו עליהן שוב. בלי שינויי קוד.
קובץ בינארי או קונטיינר אחד לפני הספק. מפתח ה-API של הקורא מועבר הלאה, ולכן השער לא צריך מפתח משלו.
הדגמה מונפשת עם פקודות HotKV אמיתיות ותשובות לדוגמה. לחצו על כל שלב כדי לעבור אליו. הפקודות והתשובות נשארות באנגלית, בדיוק כפי שמקלידים ורואים ב-HotKV.
רוב תעבורת ה-LLM חוזרת על עצמה. אותה הנחיית מערכת ואותה שאלה מגיעות שוב ושוב ממשתמשים שונים, מניסיונות חוזרים ומהרצות בדיקה, וכל אחת מהן מחויבת. הוספת מטמון בתוך כל שירות, בכל שפה שאתם משתמשים בה, איטית וקל לטעות בה.
hotkv-gateway יושב בין האפליקציה ל-API של ה-LLM. משנים את כתובת הבסיס של ה-SDK ובקשות זהות מוגשות מ-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 מקבלים כולם את אותו מטמון בשינוי כתובת בסיס אחת, בלי ספרייה בכל שפה.
לפני vLLM או Ollama השער חוסך זמן GPU במקום עמלות API, כי פרומפטים חוזרים לעולם לא מגיעים לשרת המודל.
בקשות זהות של צ'אט, השלמה ו-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 וכל דבר אחר שמדבר את ה-API של OpenAI, וכן ה-Messages API של Anthropic עם המטמון המדויק.
HotKV מדבר את פרוטוקול Redis, ולכן אפשר להפנות אליו לקוח קיים ולהריץ את אותן פקודות.