AI और LLMएजेंटPerformance और Scale प्लान

एजेंट Tool Call Caching

एजेंट वही tool वही arguments के साथ बार-बार कॉल करते हैं। नतीजों को memoize कीजिए और एक ही API कॉल के लिए दो बार भुगतान करना बंद कीजिए।

हर tool कॉल से पहले lookup
1
हर namespace या entry के लिए
TTL
बचत, STATS से रिपोर्ट
$
कदम 1 में से 5
Namespace बनाएँ

मौसम धीरे बदलता है, इसलिए नतीजे 15 मिनट तक रहते हैं।

उदाहरण सेशनplaying
# Namespace बनाएँ
hotkv> TOOL.CACHE.CREATE tools MAX_ENTRIES 100000 TTL 900
OK

असली HotKV कमांड और उदाहरण रिस्पॉन्स के साथ एक एनिमेटेड वॉकथ्रू। किसी भी कदम पर क्लिक करके वहां पहुंचें। कमांड और रिस्पॉन्स अंग्रेज़ी में ही रहते हैं, ठीक वैसे जैसे आप HotKV में टाइप करते और देखते हैं।

समस्या

एजेंट लूप में चलते हैं। वे एक ही रन में वही मौसम, वही एक्सचेंज रेट, वही SQL नतीजा और वही वेब पेज कई बार देखते हैं, और अगले रन में फिर। हर कॉल में latency लगती है, rate limit खर्च होती है और अक्सर पैसे भी लगते हैं। धीमे tool हर एजेंट स्टेप को धीमा कर देते हैं।

HotKV इसे कैसे संभालता है

Tool cache deterministic tool कॉल को memoize करता है, ऐसी key के तहत जो tool के नाम और उसके arguments से बनती है। Tool कॉल करने से पहले एजेंट cache से पूछता है। Hit होने पर रखा हुआ नतीजा तुरंत मिल जाता है। Miss होने पर tool एक बार कॉल होता है और नतीजा ऐसे TTL के साथ रखा जाता है जो इस पर निर्भर है कि उसे कितना ताज़ा होना चाहिए।

कदम दर कदम

क्या होता है, कमांड दर कमांड

  1. 01

    Namespace बनाएँ

    मौसम धीरे बदलता है, इसलिए नतीजे 15 मिनट तक रहते हैं।

    TOOL.CACHE.CREATE tools MAX_ENTRIES 100000 TTL 900
  2. 02

    पहला कॉल, एक miss

    इन arguments के लिए अभी कुछ cache में नहीं है।

    TOOL.CACHE.GET tools "get_weather(city=Lisbon)"
  3. 03

    Tool को एक बार कॉल करें और रख लें

    असली API कॉल होती है, और नतीजा अगले 15 मिनट के लिए cache हो जाता है।

    TOOL.CACHE.SET tools "get_weather(city=Lisbon)" "{\"temp_c\":21,\"sky\":\"clear\"}" TTL 900
  4. 04

    हर दोहराव एक hit है

    एजेंट दूसरी दिन की ट्रिप प्लान करता है और फिर पूछता है। दूसरे यात्रियों के लिए दूसरे एजेंट भी यही करते हैं।

    TOOL.CACHE.GET tools "get_weather(city=Lisbon)"
  5. 05

    बचत गिनें

    Hits, misses और बचाया गया उपयोग हर namespace के हिसाब से रिपोर्ट होते हैं।

    TOOL.CACHE.STATS tools
कहां फ़िट बैठता है

असली परिदृश्य

ट्रैवल और बुकिंग एजेंट

मौसम, मुद्रा और उपलब्धता की जाँच यात्रियों और प्लानिंग स्टेप में दोहराई जाती है। हर नतीजा प्रति TTL एक बार ही लाया जाता है।

डेटा एजेंट

Read-only SQL query और डैशबोर्ड मेट्रिक्स memoize होते हैं, इसलिए डेटा खंगालता एजेंट warehouse पर बोझ नहीं डालता।

ब्राउज़िंग एजेंट

लाए गए और parse किए गए वेब पेज cache होते हैं, इसलिए हर रन में वही पेज दोबारा डाउनलोड नहीं होता।

अंतर्निहित

आपको क्या मिलता है

Arguments के आधार पर memoize

Keys tool के नाम और उसके arguments से बनती हैं, इसलिए हर अलग कॉल अलग से cache होता है।

TOOL.CACHE.GETTOOL.CACHE.SET

ताज़गी पर नियंत्रण

हर namespace के लिए डिफ़ॉल्ट TTL और हर entry के लिए वैकल्पिक TTL।

TTL

सीमित मेमोरी

हर namespace के लिए entry की सीमा, और भर जाने पर eviction।

MAX_ENTRIES

बचत रिपोर्ट

Hits, misses, evictions, मेमोरी और बचाया गया उपयोग।

TOOL.CACHE.STATS

आम सवाल

मुझे कौन से tool cache करने चाहिए?

Deterministic, read-only कॉल, जैसे lookup, search और ऐसे query जिनका नतीजा सिर्फ़ arguments पर निर्भर है। जो tool कुछ बदलते हैं, जैसे ईमेल भेजना, उन्हें कभी cache न करें।

क्या cache किया हुआ नतीजा समय से पहले हटाया जा सकता है?

हाँ। TOOL.CACHE.DEL एक entry हटाता है और TOOL.CACHE.FLUSH पूरा namespace खाली करता है।

कौन से प्लान में यह शामिल है?

Tool cache Performance और Scale प्लान का हिस्सा है।

संबंधित उपयोग के मामले

इसे अपने वर्कलोड पर आज़माएं

HotKV Redis प्रोटोकॉल बोलता है, इसलिए आप किसी मौजूदा क्लाइंट को इसकी ओर इंगित करके यही कमांड चला सकते हैं।