किसी सामान्य एआई वर्कफ़्लो में, एक ही इनपुट टोकन को मॉडल पर बार-बार पास किया जा सकता है. Gemini API कॉन्टेक्स्ट कैशिंग की सुविधा का इस्तेमाल करके, कुछ कॉन्टेंट को मॉडल में एक बार पास किया जा सकता है. साथ ही, इनपुट टोकन को कैश किया जा सकता है और बाद के अनुरोधों के लिए कैश मेमोरी में सेव किए गए टोकन का इस्तेमाल किया जा सकता है. कुछ वॉल्यूम में, कैश मेमोरी में सेव किए गए टोकन का इस्तेमाल करने पर, ज़्यादा कीमत चुकानी पड़ती है. हालांकि, इसके लिए इंतज़ार का समय कम हो सकता है. ऐसा, टोकन के एक ही ग्रुप में बार-बार करने के मुकाबले कम होता है.
जब टोकन के किसी सेट को कैश मेमोरी में सेव किया जाता है, तो आपके पास यह चुनने का विकल्प होता है कि टोकन अपने-आप मिटने से पहले, उसे कितनी देर तक सेव रखना है. कैश मेमोरी में सेव होने की इस अवधि को टाइम टू लाइव (टीटीएल) कहा जाता है. कैश मेमोरी में सेव होने का खर्च, इनपुट टोकन के साइज़ पर निर्भर करता है. साथ ही, यह इस बात पर भी निर्भर करता है कि टोकन कब तक सेव रखने हैं.
कॉन्टेक्स्ट को कैश मेमोरी में सेव करने की सुविधा, Gemini 1.5 Pro और Gemini 1.5 Flash, दोनों वर्शन के साथ काम करती है.
कॉन्टेक्स्ट कैश मेमोरी का इस्तेमाल कब करना चाहिए
कॉन्टेक्स्ट को कैश मेमोरी में सेव करने की सुविधा, खास तौर पर उन स्थितियों के लिए बेहतर होती है जहां ज़रूरी शुरुआती संदर्भ को छोटे अनुरोधों में बार-बार रेफ़र किया जाता है. इन मामलों में, कॉन्टेक्स्ट कैश मेमोरी में सेव करने की सुविधा का इस्तेमाल करें:
- सिस्टम से जुड़े निर्देशों वाले चैटबॉट
- लंबी वीडियो फ़ाइलों का बार-बार विश्लेषण
- बड़े दस्तावेज़ सेट के लिए बार-बार होने वाली क्वेरी
- कोड को स्टोर करने की नियमित तौर पर जांच करना या गड़बड़ियां ठीक करना
कैश मेमोरी में सेव करने से लागत कैसे कम होती है
संदर्भ को कैश मेमोरी में सेव करने की सुविधा पैसे चुकाकर ली जाती है. इसे काम करने में लगने वाले कुल खर्च को कम करने के लिए डिज़ाइन किया गया है. बिलिंग इन बातों पर आधारित होती है:
- कैश टोकन की संख्या: कैश मेमोरी में सेव किए गए इनपुट टोकन की संख्या. इन टोकन को अगले प्रॉम्प्ट में शामिल करने पर, कम दर पर बिल भेजा जाता है.
- स्टोरेज की अवधि: कैश मेमोरी में सेव किए गए टोकन के सेव होने की अवधि (टीटीएल). इसे हर घंटे बिल किया जाता है. TTL पर कोई कम से कम या ज़्यादा से ज़्यादा सीमा नहीं होती है.
- अन्य बातें: अन्य शुल्क लागू होते हैं, जैसे कि कैश नहीं किए गए इनपुट टोकन और आउटपुट टोकन.
कीमतों की अप-टू-डेट जानकारी के लिए, Gemini API के कीमत वाला पेज देखें. टोकन की गिनती करने का तरीका जानने के लिए, टोकन गाइड देखें.
कॉन्टेक्स्ट कैशिंग की सुविधा इस्तेमाल करने का तरीका
इस सेक्शन में मान लिया गया है कि आपने Gemini SDK टूल इंस्टॉल किया है और एपीआई पासकोड कॉन्फ़िगर किया है, जैसा कि quickstart में दिखाया गया है.
अन्य जानकारी
कॉन्टेक्स्ट कैश मेमोरी का इस्तेमाल करते समय इन बातों का ध्यान रखें:
- कॉन्टेक्स्ट कैश मेमोरी के लिए कम से कम इनपुट टोकन की संख्या 32,768 है और ज़्यादा से ज़्यादा, दिए गए मॉडल की ज़्यादा से ज़्यादा संख्या के बराबर है. (टोकन की गिनती करने के बारे में ज़्यादा जानने के लिए, टोकन गाइड देखें).
- आपके पास कैश मेमोरी के लिए, लाइव होने का समय (टीटीएल) सेट करने का विकल्प है, जैसा कि उदाहरण कोड में दिखाया गया है. अगर इस नीति को सेट नहीं किया जाता है, तो डिफ़ॉल्ट रूप से TTL (टीटीएल) एक घंटे का होगा.
- यह मॉडल, कैश मेमोरी में सेव किए गए टोकन और सामान्य इनपुट टोकन में कोई अंतर नहीं करता. कैश मेमोरी में सेव किया गया कॉन्टेंट, प्रॉम्प्ट का एक प्रीफ़िक्स है.
- कैश मेमोरी में सेव करने वाली सेवा, कैश मेमोरी से कॉन्टेंट को मैन्युअल तरीके से हटाने की कार्रवाई करने की सुविधा देती है. ज़्यादा जानकारी के लिए, अपनी पसंद के SDK टूल से जुड़ा दस्तावेज़ देखें.
- पैसे चुकाकर लिए गए टीयर के लिए, कॉन्टेक्स्ट कैश मेमोरी में सेव करने के लिए कोई खास दर या इस्तेमाल करने की कोई सीमा नहीं है.
GenerateContent
के लिए सामान्य दर की सीमाएं लागू होती हैं और टोकन की सीमा में, कैश मेमोरी में सेव किए गए टोकन भी शामिल होते हैं. बिना किसी शुल्क वाले प्लान के लिए, Gemini 1.5 Flash के लिए स्टोरेज की सीमा 10 लाख टोकन है. Gemini 1.5 Pro के लिए कैश मेमोरी की सुविधा उपलब्ध नहीं है. - कैश मेमोरी में सेव किए गए कॉन्टेंट को वापस नहीं पाया जा सकता या देखा नहीं जा सकता. हालांकि, मेटाडेटा (
name
,display_name
,model
, बनाने, अपडेट करने, और उसकी समयसीमा खत्म होने की तारीख) को वापस लाया जा सकता है. - नया
ttl
याexpire_time
सेट किया जा सकता है. कैश मेमोरी में सेव किए गए कॉन्टेंट के बारे में कोई और बदलाव नहीं किया जा सकता. - कैश मेमोरी में सेव किए गए टोकन की संख्या
usage_metadata
में, कैश सेवा बनाने, पाने, और उसकी सूची बनाने से दिखती है. साथ ही, कैश मेमोरी का इस्तेमाल करते समयGenerateContent
में भी दिखता है.