कॉन्टेक्स्ट कैश मेमोरी

आम तौर पर, एआई वर्कफ़्लो में किसी मॉडल को एक ही इनपुट टोकन बार-बार पास किया जा सकता है. Gemini API के कॉन्टेक्स्ट को कैश मेमोरी में सेव करने की सुविधा का इस्तेमाल करके, मॉडल को कुछ कॉन्टेंट एक बार पास किया जा सकता है. इसके बाद, इनपुट टोकन को कैश मेमोरी में सेव किया जा सकता है. इसके बाद, अगले अनुरोधों के लिए कैश मेमोरी में सेव किए गए टोकन का रेफ़रंस दिया जा सकता है. कुछ मामलों में, कैश मेमोरी में सेव किए गए टोकन का इस्तेमाल करना, टोकन के एक ही कॉर्पस को बार-बार पास करने की तुलना में कम लागत का होता है.

टोकन का कोई सेट कैश मेमोरी में सेव करने पर, यह चुना जा सकता है कि टोकन अपने-आप मिटने से पहले, कैश मेमोरी में कितने समय तक सेव रहे. कैश मेमोरी में सेव किए जाने की इस अवधि को टाइम टू लिव (टीटीएल) कहा जाता है. अगर टीटीएल सेट नहीं किया जाता है, तो यह डिफ़ॉल्ट रूप से एक घंटे पर सेट हो जाता है. कैश मेमोरी में सेव करने की लागत, इनपुट टोकन के साइज़ और टोकन को सेव रखने की अवधि पर निर्भर करती है.

कॉन्टेक्स्ट कैश मेमोरी, Gemini 1.5 Pro और Gemini 1.5 Flash, दोनों के साथ काम करती है.

कॉन्टेक्स्ट कैश मेमोरी का इस्तेमाल कब करना चाहिए

कॉन्टेक्स्ट कैश मेमोरी का इस्तेमाल उन मामलों में खास तौर पर किया जाता है जहां छोटे अनुरोधों के ज़रिए, शुरुआती कॉन्टेक्स्ट का बार-बार रेफ़रंस दिया जाता है. इस्तेमाल के उदाहरणों के लिए, कॉन्टेक्स्ट कैश मेमोरी का इस्तेमाल करें. जैसे:

  • सिस्टम के बारे में ज़्यादा निर्देश देने वाले चैटबॉट
  • लंबी वीडियो फ़ाइलों का बार-बार विश्लेषण करना
  • बड़े दस्तावेज़ सेट के लिए बार-बार की जाने वाली क्वेरी
  • कोड रिपॉज़िटरी का बार-बार विश्लेषण करना या गड़बड़ी ठीक करना

कैश मेमोरी से लागत में कैसे कमी आती है

कॉन्टेक्स्ट कैश मेमोरी, पैसे चुकाकर ली जाने वाली एक सुविधा है. इसे ऑपरेशन से जुड़ी कुल लागत को कम करने के लिए डिज़ाइन किया गया है. बिलिंग इन बातों पर आधारित होती है:

  1. कैश मेमोरी में सेव किए गए टोकन की संख्या: कैश मेमोरी में सेव किए गए इनपुट टोकन की संख्या. इन्हें बाद के प्रॉम्प्ट में शामिल करने पर, कम दर पर बिलिंग की जाती है.
  2. स्टोरेज की अवधि: कैश मेमोरी में सेव किए गए टोकन को सेव रखने का समय (टीटीएल). कैश मेमोरी में सेव किए गए टोकन की संख्या के टीटीएल के आधार पर शुल्क लिया जाता है. टीटीएल के लिए, कम से कम या ज़्यादा से ज़्यादा सीमा तय नहीं की गई है.
  3. अन्य फ़ैक्टर: अन्य शुल्क भी लागू होते हैं. जैसे, कैश मेमोरी में सेव नहीं किए गए इनपुट टोकन और आउटपुट टोकन के लिए.

कीमत की अप-टू-डेट जानकारी के लिए, Gemini API के कीमत वाले पेज पर जाएं. टोकन की गिनती करने का तरीका जानने के लिए, टोकन के बारे में गाइड देखें.

कॉन्टेक्स्ट कैश मेमोरी का इस्तेमाल करने का तरीका

इस सेक्शन में यह माना गया है कि आपने Gemini SDK (या curl) इंस्टॉल किया है और आपने क्विकस्टार्ट में दिखाए गए तरीके से, एपीआई पासकोड कॉन्फ़िगर किया है.

ज़रूरी बातें

कॉन्टेक्स्ट कैश मेमोरी का इस्तेमाल करते समय, इन बातों का ध्यान रखें:

  • कॉन्टेक्स्ट कैश मेमोरी के लिए, इनपुट टोकन की संख्या कम से कम 32,768 होनी चाहिए. साथ ही, ज़्यादा से ज़्यादा संख्या, दिए गए मॉडल के लिए तय की गई संख्या के बराबर होनी चाहिए. (टोकन की गिनती करने के बारे में ज़्यादा जानने के लिए, टोकन गाइड देखें).
  • यह मॉडल, कैश मेमोरी में सेव किए गए टोकन और सामान्य इनपुट टोकन के बीच कोई फ़र्क़ नहीं करता. कैश मेमोरी में सेव किया गया कॉन्टेंट, प्रॉम्प्ट का सिर्फ़ प्रीफ़िक्स होता है.
  • कॉन्टेक्स्ट कैश मेमोरी पर, दर या इस्तेमाल की कोई खास सीमा नहीं होती. GenerateContent के लिए, स्टैंडर्ड दर की सीमाएं लागू होती हैं. साथ ही, टोकन की सीमाओं में कैश मेमोरी में सेव किए गए टोकन भी शामिल होते हैं.
  • कैश मेमोरी में सेव किए गए टोकन की संख्या, कैश मेमोरी सेवा के बनाएं, पाएं, और सूची बनाएं ऑपरेशन से usage_metadata में दिखती है. साथ ही, कैश मेमोरी का इस्तेमाल करने पर भी GenerateContent में दिखती है.