नेविगेशन पर जाएँ

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

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

परिचय

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

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

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

कार्यप्रणाली

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

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

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

variable_name = expression

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

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

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

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

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

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

1

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

अपने एजेंट के कॉन्फ़िगरेशन पेज पर जाएं। टूल्स सेक्शन में टूल जोड़ें पर क्लिक करें और स्टेट अपडेट करें चुनें।

2

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

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

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

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

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 नहीं की जाती।

अक्सर पूछे जाने वाले सवाल

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

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

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

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