स्टेट अपडेट करें

एक्सप्रेशन का इस्तेमाल करके अपने एजेंट को बातचीत के दौरान डायनामिक वेरिएबल्स अपडेट करने दें।

खास जानकारी

Update state टूल आपके एजेंट को बातचीत जारी रहने के दौरान एक या अधिक डायनामिक वेरिएबल सेट करने देता है। दूसरे सिस्टम टूल्स की तरह, यह सिर्फ़ बातचीत की आंतरिक स्थिति बदलता है — यह कभी किसी बाहरी API या क्लाइंट-साइड फ़ंक्शन को कॉल नहीं करता।

कॉल के दौरान जानकारी रिकॉर्ड करने के लिए इसका इस्तेमाल करें, जैसे यह फ़्लैग करना कि बातचीत को एस्केलेट किया जाना चाहिए, यूज़र द्वारा दी गई वैल्यू सेव करना, या दूसरे डायनामिक वेरिएबल से निकली वैल्यू की गणना करना।

सुविधाएं

  • हर कॉल में कई अपडेट: एक टूल कॉल एक साथ अधिकतम 10 डायनामिक वेरिएबल असाइन कर सकती है।
  • एक्सप्रेशन-आधारित वैल्यू: हर वैल्यू किसी एक्सप्रेशन का नतीजा होती है, जो कॉन्स्टेंट, मौजूदा डायनामिक वेरिएबल, बातचीत से LLM द्वारा निकाली गई वैल्यू और ऑपरेटर को मिला सकती है।
  • LLM एक्सट्रैक्शन सिर्फ़ ज़रूरत पड़ने पर: टूल सिर्फ़ उन अपडेट के लिए LLM से पैरामीटर निकालने को कहता है, जिनमें इसकी ज़रूरत होती है। सिर्फ़ कॉन्स्टेंट और/या मौजूदा डायनामिक वेरिएबल से बने अपडेट, फ़ंक्शन कॉल में कोई पैरामीटर नहीं जोड़ते।
  • तुरंत उपलब्धता: टूल चलने के बाद, अपडेट किए गए डायनामिक वेरिएबल बाकी बातचीत में उपलब्ध होते हैं — बाद के प्रॉम्प्ट, दूसरे टूल कॉल और ओवरराइड, सभी इन्हें किसी भी दूसरे डायनामिक वेरिएबल की तरह रेफ़र कर सकते हैं।

यह कैसे काम करता है

हर स्टेट अपडेट, किसी एक्सप्रेशन का नतीजा एक डायनामिक वेरिएबल को असाइन करता है:

variable_name = expression

एक एक्सप्रेशन इनमें से किसी एक टाइप का होता है, और अधिक जटिल लॉजिक बनाने के लिए एक्सप्रेशन को एक-दूसरे के अंदर नेस्ट किया जा सकता है:

टाइपविवरण
कॉन्स्टेंटएक तय स्ट्रिंग, नंबर, बूलियन या null वैल्यू।
डायनामिक वेरिएबलकिसी दूसरे डायनामिक वेरिएबल की मौजूदा वैल्यू।
LLM-एक्सट्रैक्टेड वैल्यूबातचीत से LLM द्वारा अनुमानित वैल्यू, जो आपके तय किए टाइप (स्ट्रिंग, नंबर या बूलियन) से मेल खाती है।
लॉजिकल ऑपरेटरand, or, या दूसरे एक्सप्रेशन को मिलाने वाला कंडीशनल (if / then / else) एक्सप्रेशन।
कंपैरिज़न ऑपरेटरदो एक्सप्रेशन की तुलना करने वाले =, ≠, >, <, ≥, ≤।
अरिथमेटिक ऑपरेटरदो न्यूमेरिक एक्सप्रेशन (या + के लिए स्ट्रिंग एक्सप्रेशन) को मिलाने वाले +, -, ×, ÷।

उदाहरण के लिए, अगर LLM यह तय करता है कि यूज़र बातचीत से परेशान है, या retry_count डायनामिक वेरिएबल पहले से 3 से ज़्यादा है, तो नीचे दिया गया स्टेट अपडेट should_escalate को true पर सेट करता है:

should_escalate = (llm: "User sounds frustrated with the conversation") OR (retry_count > 3)

अगर किसी स्टेट अपडेट का मूल्यांकन नहीं हो पाता — उदाहरण के लिए, शून्य से भाग देने पर — टूल कॉल एक एरर लौटाती है और उस कॉल के कोई भी अपडेट लागू नहीं होते।

कॉन्फ़िगरेशन

1

चरण 1: टूल जोड़ें

अपने एजेंट के कॉन्फ़िगरेशन पेज पर जाएं। Tools सेक्शन में Add tool पर क्लिक करें और Update state चुनें।

2

चरण 2: स्टेट अपडेट तय करें

हर स्टेट अपडेट के लिए, ये दें:

  • वेरिएबल नाम: असाइन किया जाने वाला डायनामिक वेरिएबल।
  • एक्सप्रेशन: असाइन की जाने वाली वैल्यू, जिसे ऊपर बताए गए वैल्यू और ऑपरेटर टाइप से बनाया गया हो। ज़्यादा जटिल एक्सप्रेशन बनाने के लिए वैल्यू को नेस्ट किया जा सकता है।

एक टूल के लिए आप अधिकतम 10 स्टेट अपडेट तय कर सकते हैं।

3

चरण 3: विवरण कॉन्फ़िगर करें (वैकल्पिक)

टूल को कब कॉल करना है, इसके बारे में LLM को गाइड करने के लिए आप कस्टम विवरण दे सकते हैं। खाली छोड़ने पर, इस टूल के लिए ऑप्टिमाइज़ किया गया डिफ़ॉल्ट विवरण इस्तेमाल होगा।

इस्तेमाल के मामले

  • एस्केलेशन फ़्लैग्स: कोई डायनामिक वेरिएबल (जैसे should_escalate) सेट करें, जिसे डाउनस्ट्रीम सिस्टम या बिज़नेस रूल जाँचता है, जैसा कि Genesys इंटीग्रेशन गाइड में दिखाया गया है।
  • निकाली गई जानकारी रिकॉर्ड करना: यूज़र की दी हुई वैल्यू (ऑर्डर नंबर, प्राथमिकता या चुना गया विभाग) को बातचीत में बाद में इस्तेमाल करने के लिए डायनामिक वेरिएबल के रूप में स्टोर करें।
  • डिराइव्ड वैल्यू: दूसरे डायनामिक वेरिएबल से कोई वैल्यू कैलकुलेट करें, जैसे काउंटर बढ़ाना या दो वेरिएबल को एक में मिलाना।

उद्देश्य: एजेंट को बातचीत के आधार पर एक या अधिक dynamic variables update करने दें, बिना किसी external API को call किए।

ट्रिगर स्थितियां: LLM को इस tool को तब call करना चाहिए, जब:

  • बातचीत में ऐसी जानकारी मिले जिसे record किया जाना चाहिए (जैसे escalation flag, चुना गया option या यूज़र द्वारा दी गई value)
  • configured state update किसी ऐसी value पर निर्भर हो जिसे LLM को बातचीत से तय या extract करना हो

Parameters:

Function के parameters इस बात पर निर्भर करते हैं कि tool कैसे configured है। LLM-extracted value इस्तेमाल करने वाला हर configured state update schema में एक property जोड़ता है, जिसका नाम उस update के dynamic variable पर होता है और जिसका type string, number या boolean होता है। केवल constants या दूसरे dynamic variables से बने state updates कोई parameters नहीं जोड़ते।

Function call format:

{
"type": "function",
"function": {
"name": "update_state",
"arguments": "{\"should_escalate\": true}"
}
}

Implementation: एजेंट extracted parameters और बातचीत के मौजूदा dynamic variables के साथ हर configured expression को evaluate करता है, फिर नतीजों को संबंधित dynamic variables में assign करता है। कोई external request नहीं की जाती।

FAQ

नहीं। सभी सिस्टम टूल्स की तरह, Update state सिर्फ़ बातचीत की आंतरिक स्थिति बदलता है। यह किसी बाहरी API या क्लाइंट-साइड फ़ंक्शन को कॉल नहीं करता।

नहीं। टूल सिर्फ़ उन स्टेट अपडेट के लिए LLM से पैरामीटर एक्सट्रैक्ट करने को कहता है, जिनके एक्सप्रेशन में LLM-एक्सट्रैक्टेड वैल्यू शामिल होती है। अगर हर कॉन्फ़िगर किया गया अपडेट कॉन्स्टेंट और/या मौजूदा डायनामिक वेरिएबल से बना है, तो फ़ंक्शन कॉल कोई पैरामीटर नहीं लेती।

जहां भी आप डायनामिक वेरिएबल का इस्तेमाल कर सकते हैं: सिस्टम प्रॉम्प्ट, पहले मैसेज, टूल पैरामीटर और हेडर, और ओवरराइड। जानकारी के लिए डायनामिक वेरिएबल देखें।

Update state को फ़िलहाल एजेंट डैशबोर्ड के ज़रिए कॉन्फ़िगर किया जा सकता है। API और SDK सपोर्ट अभी उपलब्ध नहीं है।