בתהליך עבודה טיפוסי של AI, יכול להיות שתעבירו שוב ושוב את אותם אסימוני קלט למודל. ב-Gemini API יש שני מנגנוני מטמון שונים:
- אחסון במטמון סמוי (אוטומטי, ללא התחייבות לחיסכון בעלויות)
- אחסון במטמון באופן מפורש (ידני, עם התחייבות לחיסכון בעלויות)
שמירת נתונים במטמון משתמעת מופעלת כברירת מחדל במודלים של Gemini 2.5. אם בקשה מכילה תוכן שנמצא במטמון, אנחנו מעבירים לכם באופן אוטומטי את החיסכון בעלויות.
שמירת נתונים במטמון מפורשת שימושית במקרים שבהם רוצים להבטיח חיסכון בעלויות, אבל עם קצת עבודה נוספת של המפתחים.
יש שתי שכבות של מטמון ב-Gemini:
- מטמון של מילוי מראש: מטמון למודלים שמוכנים ליצור את האסימון הראשון. אי אפשר לשתף אותו בין מודלים.
- מטמון לעיבוד מקדים: מטמון לעיצוב וליצירת אסימונים של קלט רב-מודלי כמו סרטונים וקובצי PDF. אפשר לעשות בו שימוש חוזר במודלים שונים
שמירה במטמון מרומזת
שמירת נתונים במטמון משתמעת מופעלת כברירת מחדל בכל המודלים של Gemini 2.5. אנחנו מעבירים באופן אוטומטי את החיסכון בעלויות אם הבקשה שלכם נמצאת במטמון. לא צריך לעשות שום דבר כדי להפעיל את התכונה הזו. המדיניות תיכנס לתוקף ב-8 במאי 2025. מספר האסימונים המינימלי להזנת מטמון ההקשר הוא 1,024 בגרסה 2.5 Flash ו-2,048 בגרסה 2.5 Pro.
כדי להגדיל את הסיכוי להיט מטמון סמוי:
- כדאי להציב תוכן גדול ונפוץ בתחילת ההנחיה
- ניסיון לשלוח בקשות עם קידומת דומה בפרק זמן קצר
אפשר לראות את מספר האסימונים שהיו היטים במטמון בשדה usage_metadata
של אובייקט התגובה.
החיסכון בעלויות נמדד לפי היטים במטמון שמולאו מראש. רק מטמון מלא מראש ומטמון לעיבוד מראש של סרטונים ב-YouTube מופעלים לשמירת נתונים במטמון באופן משתמע. כדי להפחית את זמן האחזור של קריאות Gemini לקלט רב-מודלי אחר, מומלץ להשתמש במטמון מפורש.
שמירה מפורשת במטמון
באמצעות התכונה של Gemini API לשמירת נתונים במטמון באופן מפורש, אפשר להעביר תוכן מסוים למודל פעם אחת, לשמור במטמון את אסימוני הקלט ואז להפנות לאסימונים ששמורים במטמון בבקשות הבאות. בנפח מסוים, השימוש באסימונים ששמורים במטמון זול יותר מהעברה חוזרת של אותו גוף של אסימונים.
כששומרים במטמון קבוצה של אסימונים, אפשר לבחור את משך הזמן שבו המטמון יהיה קיים לפני שהאסימונים יימחקו באופן אוטומטי. משך הזמן הזה ששמור במטמון נקרא אורך החיים (TTL). אם לא מגדירים את ערך ה-TTL, ברירת המחדל היא שעה אחת. העלות של שמירת מטמון תלויה בגודל אסימון הקלט ובמשך הזמן שבו רוצים לשמור את האסימונים.
בסעיף הזה נניח שכבר התקנתם את Gemini SDK (או ש-curl מותקן אצלכם) ושהגדרתם מפתח API, כפי שמתואר במדריך למתחילים.
אחסון במטמון מפורש באמצעות ספריית OpenAI
אם אתם משתמשים בספריית OpenAI, תוכלו להפעיל אחסון במטמון מפורש באמצעות הנכס cached_content
ב-extra_body
.
מתי כדאי להשתמש בשמירת נתונים במטמון באופן מפורש
שמירת הקשר במטמון מתאימה במיוחד לתרחישים שבהם הקשר ראשוני משמעותי מופיע שוב ושוב בבקשות קצרות יותר. כדאי להשתמש בשמירה במטמון לפי הקשר בתרחישים לדוגמה כמו:
- צ'אט בוטים עם הוראות מערכת מפורטות
- ניתוח חוזר של קובצי וידאו ארוכים
- שאילתות חוזרות על קבוצות גדולות של מסמכים
- ניתוח תדיר של מאגר הקוד או תיקון באגים
איך אחסון במטמון מפורש מפחית עלויות
שמירת הקשר במטמון היא תכונה בתשלום שנועדה להפחית את העלויות הכוללות של התפעול. החיוב מבוסס על הגורמים הבאים:
- מספר האסימונים ששמורים במטמון: מספר האסימונים להזנת נתונים ששמורים במטמון, שעבורם מתבצעת חיוב במחיר מוזל כשהם נכללים בהנחיות הבאות.
- משך האחסון: משך הזמן שבו טוקנים נשמרים במטמון (TTL). החיוב מתבצע על סמך משך ה-TTL של מספר הטוקנים שנשמרים במטמון. אין גבולות מינימום או מקסימום ל-TTL.
- גורמים אחרים: חלים חיובים אחרים, כמו על אסימוני קלט ואסימוני פלט שלא שמורים במטמון.
לפרטים עדכניים על התמחור, אפשר לעיין בדף התמחור של Gemini API. במאמר מדריך אסימונים מוסבר איך ספקים יכולים לספור אסימונים.
שיקולים נוספים
כשמשתמשים במטמון הקשר, חשוב לזכור את הנקודות הבאות:
- המספר המינימלי של אסימוני הקלט לשמירת הקשר במטמון הוא 1,024 בגרסה 2.5 Flash ו-2,048 בגרסה 2.5 Pro. הערך של maximum זהה לערך המקסימלי של המודל הנתון. (מידע נוסף על ספירת אסימונים זמין במדריך האסימונים).
- המודל לא מבדיל בין אסימונים שנשמרו במטמון לבין אסימוני קלט רגילים. תוכן ששמור במטמון הוא קידומת להנחיה.
- אין מגבלות מיוחדות על קצב או על שימוש בשמירת הקשר במטמון. מגבלות הקצב הרגילות של
GenerateContent
חלות, ומגבלות האסימונים כוללות אסימונים שנשמרו במטמון. - מספר האסימונים שנשמרו במטמון מוחזר ב-
usage_metadata
מהפעולות create, get ו-list של שירות המטמון, וגם ב-GenerateContent
כשמשתמשים במטמון.