שמירת הקשר במטמון

בתהליך עבודה טיפוסי של AI, יכול להיות שתעבירו את אותם אסימוני קלט שוב ושוב למודל. ‫Gemini API מציע שני מנגנוני שמירת נתונים במטמון:

  • שמירה במטמון באופן מרומז (מופעלת אוטומטית במודלים של Gemini 2.5, אין הבטחה לחיסכון בעלויות)
  • שמירה במטמון באופן מפורש (אפשר להפעיל ידנית ברוב המודלים, מובטח חיסכון בעלויות)

שמירת נתונים במטמון באופן מפורש שימושית במקרים שבהם רוצים להבטיח חיסכון בעלויות, אבל צריך להשקיע קצת יותר עבודה בפיתוח.

שמירה מרומזת במטמון

שמירת מטמון משתמעת מופעלת כברירת מחדל בכל מודלי Gemini 2.5. אם הבקשה שלכם מגיעה למטמון, אנחנו מעבירים לכם באופן אוטומטי את החיסכון בעלויות. לא צריך לעשות שום דבר כדי להפעיל את התכונה הזו. היא תיכנס לתוקף ב-8 במאי 2025. מספר הטוקנים המינימלי של הקלט לשימוש במטמון ההקשר הוא 1,024 ל-2.5 Flash ו-4,096 ל-2.5 Pro.

כדי להגדיל את הסיכוי לפגיעה במטמון משתמע:

  • כדאי לנסות להוסיף תוכן גדול ונפוץ בתחילת הפרומפט
  • ניסיון לשלוח בקשות עם קידומת דומה בפרק זמן קצר

אפשר לראות את מספר הטוקנים שהיו פגיעות במטמון בשדה usage_metadata של אובייקט התגובה.

שמירה מפורשת במטמון

באמצעות התכונה של Gemini API לשמירה במטמון, אתם יכולים להעביר תוכן מסוים למודל פעם אחת, לשמור במטמון את טוקני הקלט ואז להפנות לטוקנים שנשמרו במטמון בבקשות הבאות. בנפחים מסוימים, העלות של שימוש בטוקנים ששמורים במטמון נמוכה יותר מהעלות של העברה חוזרת של אותה קבוצת טוקנים.

כשמטמנים במטמון קבוצה של טוקנים, אפשר לבחור את משך הזמן שבו המטמון יתקיים לפני שהטוקנים יימחקו אוטומטית. משך השמירה במטמון נקרא אורך חיים (TTL). אם לא מגדירים את ה-TTL, ברירת המחדל היא שעה אחת. העלות של שמירת נתונים במטמון תלויה בגודל של טוקן הקלט ובמשך הזמן שבו רוצים שהטוקנים יישמרו.

בקטע הזה מניחים שהתקנתם Gemini SDK (או שהתקנתם curl) והגדרתם מפתח API, כמו שמוסבר במדריך לתחילת העבודה.

שמירת נתונים במטמון באופן מפורש באמצעות ספריית OpenAI

אם אתם משתמשים בספרייה של OpenAI, אתם יכולים להפעיל שמירה במטמון באופן מפורש באמצעות המאפיין cached_content ב-extra_body.

מתי כדאי להשתמש בשמירת נתונים במטמון באופן מפורש

שמירת ההקשר במטמון מתאימה במיוחד לתרחישים שבהם בקשות קצרות יותר מפנות שוב ושוב להקשר ראשוני משמעותי. כדאי להשתמש בשמירה במטמון של ההקשר בתרחישים כמו:

  • צ'אט בוטים עם הוראות מערכת מפורטות
  • ניתוח חוזר של קובצי וידאו ארוכים
  • שאילתות חוזרות על קבוצות גדולות של מסמכים
  • ניתוח תכוף של מאגר קוד או תיקון באגים

איך שמירת נתונים במטמון מפחיתה עלויות

שמירת נתונים במטמון של הקשר היא תכונה בתשלום שנועדה להקטין את העלויות התפעוליות הכוללות. החיוב מבוסס על הגורמים הבאים:

  1. מספר הטוקנים במטמון: מספר הטוקנים של הקלט שנשמרו במטמון. אם הם נכללים בהנחיות הבאות, הם מחויבים במחיר מופחת.
  2. משך האחסון: משך הזמן שבו טוקנים במטמון מאוחסנים (TTL), החיוב מבוסס על משך ה-TTL של ספירת הטוקנים במטמון. אין גבולות מינימליים או מקסימליים ל-TTL.
  3. גורמים אחרים: חלים חיובים אחרים, למשל על טוקנים של קלט ופלט שלא נשמרו במטמון.

פרטים עדכניים על התמחור זמינים בדף התמחור של Gemini API. במדריך לאסימונים מוסבר איך לספור אסימונים.

שיקולים נוספים

כשמשתמשים בשמירת מטמון של הקשר, חשוב לזכור את הנקודות הבאות:

  • מספר הטוקנים המינימלי של הקלט לזיכרון מטמון של ההקשר הוא 1,024 עבור 2.5 Flash ו-2,048 עבור 2.5 Pro. הערך המקסימלי זהה לערך המקסימלי של המודל הנתון. (מידע נוסף על ספירת טוקנים זמין במדריך הטוקנים).
  • המודל לא מבחין בין טוקנים במטמון לבין טוקנים רגילים של קלט. תוכן שמור במטמון הוא קידומת להנחיה.
  • אין מגבלות מיוחדות על שיעור השימוש או על שיעור הבקשות בזיכרון מטמון של הקשר. חלות מגבלות השיעור הרגילות של GenerateContent, ומגבלות האסימונים כוללות אסימונים שנשמרו במטמון.
  • מספר האסימונים שנשמרו במטמון מוחזר ב-usage_metadata מפעולות היצירה, האחזור והרשימה של שירות המטמון, וגם ב-GenerateContent כשמשתמשים במטמון.