सिस्टम टूल्स
सिस्टम टूल्स
बाहरी रिक्वेस्ट के बिना बातचीत की आंतरिक स्थिति अपडेट करें।
सिस्टम टूल्स आपके असिस्टेंट को बातचीत की आंतरिक स्थिति अपडेट करने देते हैं। वेबहुक टूल्स या क्लाइंट टूल्स के विपरीत, सिस्टम टूल्स बाहरी API कॉल नहीं करते या क्लाइंट-साइड फ़ंक्शन ट्रिगर नहीं करते—वे बाहरी कॉल किए बिना बातचीत की आंतरिक स्थिति बदलते हैं।
ओवरव्यू
कुछ एप्लिकेशन में एजेंट को बातचीत का प्रवाह या स्थिति नियंत्रित करनी होती है। सिस्टम टूल्स असिस्टेंट को कॉल की स्थिति से जुड़े ऐसे काम करने देते हैं, जिनके लिए बाहरी सर्वर या क्लाइंट से संवाद करने की ज़रूरत नहीं होती।
उपलब्ध सिस्टम टूल्स
इम्प्लीमेंटेशन
API के ज़रिए एजेंट बनाते समय, आप अपने एजेंट कॉन्फ़िगरेशन में सिस्टम टूल्स जोड़ सकते हैं। एंड कॉल और भाषा पहचान, दोनों टूल्स को इम्प्लीमेंट करने का तरीका यहां दिया गया है:
कस्टम LLM इंटीग्रेशन
ElevenLabs एजेंट्स के साथ कस्टम LLM इस्तेमाल करने पर, सिस्टम टूल्स को ऐसे फ़ंक्शन डेफ़िनिशन के रूप में दिखाया जाता है जिन्हें आपका LLM कॉल कर सकता है। हर सिस्टम टूल के अपने पैरामीटर और ट्रिगर शर्तें होती हैं:
उपलब्ध सिस्टम टूल्स
कॉल समाप्त करें
उद्देश्य: उचित शर्तें पूरी होने पर बातचीत अपने-आप समाप्त करें।
ट्रिगर शर्तें: LLM को इस टूल को तब कॉल करना चाहिए, जब:
- मुख्य टास्क पूरा हो गया हो और यूज़र संतुष्ट हो
- आपसी सहमति के साथ बातचीत स्वाभाविक निष्कर्ष पर पहुंच गई हो
- यूज़र साफ़ तौर पर बातचीत खत्म करने की इच्छा जताए
पैरामीटर:
reason(string, आवश्यक): कॉल खत्म करने का कारणmessage(string, वैकल्पिक): कॉल खत्म करने से पहले यूज़र को भेजा जाने वाला विदाई मैसेज
फंक्शन कॉल फ़ॉर्मैट:
इम्प्लीमेंटेशन: अपनी एजेंट सेटिंग्स में इसे सिस्टम टूल के रूप में कॉन्फ़िगर करें। LLM को इस फंक्शन को कॉल करने के समय के बारे में विस्तृत निर्देश मिलेंगे।
और जानें: कॉल समाप्त करने का टूल
भाषा पहचान
उद्देश्य: बातचीत के दौरान यूज़र की पहचानी गई भाषा पर अपने-आप स्विच करना।
ट्रिगर की शर्तें: LLM को यह टूल तब कॉल करना चाहिए जब:
- यूज़र मौजूदा बातचीत की भाषा से अलग भाषा में बोलता है
- यूज़र साफ़ तौर पर भाषा बदलने का अनुरोध करता है
- बातचीत के लिए कई भाषाओं का सपोर्ट चाहिए
पैरामीटर्स:
reason(string, आवश्यक): भाषा बदलने का कारणlanguage(string, आवश्यक): जिस भाषा कोड पर स्विच करना है (सपोर्टेड भाषाओं की सूची में होना चाहिए)
फ़ंक्शन कॉल फ़ॉर्मैट:
इम्प्लीमेंटेशन: एजेंट सेटिंग्स में सपोर्टेड भाषाएं कॉन्फ़िगर करें और भाषा पहचान सिस्टम टूल जोड़ें। एजेंट पहचानी गई भाषाओं से मेल खाने के लिए अपने-आप वॉइस और जवाब बदल देगा।
और जानें: भाषा पहचान टूल
एजेंट ट्रांसफर
उद्देश्य: यूज़र की ज़रूरतों के आधार पर विशेष AI एजेंट्स के बीच बातचीत ट्रांसफ़र करें।
ट्रिगर स्थितियां: LLM को यह टूल तब कॉल करना चाहिए जब:
- यूज़र के अनुरोध के लिए विशेष जानकारी या अलग एजेंट क्षमताओं की ज़रूरत हो
- मौजूदा एजेंट क्वेरी को पर्याप्त रूप से संभाल न सके
- बातचीत का प्रवाह अलग एजेंट प्रकार की ज़रूरत दिखाए
पैरामीटर्स:
reason(string, वैकल्पिक): एजेंट ट्रांसफ़र का कारणagent_number(integer, आवश्यक): जिस एजेंट को ट्रांसफ़र करना है उसका शून्य-आधारित नंबर (कॉन्फ़िगर किए गए ट्रांसफ़र नियमों के आधार पर)
फ़ंक्शन कॉल फ़ॉर्मैट:
इम्प्लीमेंटेशन: स्थितियों को खास एजेंट IDs से मैप करने वाले ट्रांसफ़र नियम तय करें। कॉन्फ़िगर करें कि मौजूदा एजेंट किन एजेंट्स को ट्रांसफ़र कर सकता है। ट्रांसफ़र कॉन्फ़िगरेशन में एजेंट्स को शून्य-आधारित नंबरों से संदर्भित किया जाता है।
और जानें: एजेंट ट्रांसफर टूल
नंबर पर ट्रांसफर करें
उद्देश्य: AI सहायता अपर्याप्त होने पर बातचीत को सहज रूप से मानव ऑपरेटर को सौंपें।
ट्रिगर शर्तें: LLM को इस टूल को तब कॉल करना चाहिए, जब:
- जटिल समस्या के लिए मानवीय निर्णय की ज़रूरत हो
- यूज़र साफ़ तौर पर मानव सहायता मांगे
- खास अनुरोध के लिए AI अपनी क्षमता की सीमा तक पहुंच जाए
- एस्केलेशन प्रोटोकॉल ट्रिगर हो जाएं
पैरामीटर:
reason(string, वैकल्पिक): ट्रांसफ़र का कारणtransfer_number(string, आवश्यक): जिस फ़ोन नंबर पर ट्रांसफ़र करना है (कॉन्फ़िगर किए गए नंबरों से मेल खाना चाहिए)client_message(string, आवश्यक): ट्रांसफ़र का इंतज़ार करते समय क्लाइंट को सुनाया जाने वाला मैसेजagent_message(string, आवश्यक): कॉल पाने वाले मानव ऑपरेटर के लिए मैसेज
फंक्शन कॉल फ़ॉर्मैट:
इम्प्लीमेंटेशन: ट्रांसफ़र फ़ोन नंबर और शर्तें कॉन्फ़िगर करें। ग्राहक और कॉल पाने वाले मानव ऑपरेटर, दोनों के लिए मैसेज तय करें। यह Twilio और SIP ट्रंकिंग, दोनों के साथ काम करता है।
और जानें: नंबर पर ट्रांसफर करने का टूल
टर्न छोड़ें
उद्देश्य: एजेंट को बिना बोले रुकने और यूज़र के input का इंतज़ार करने दें।
ट्रिगर स्थितियां: LLM को इस tool को तब call करना चाहिए, जब:
- यूज़र बताए कि उसे एक पल चाहिए (“मुझे एक सेकंड दें”, “मुझे सोचने दें”)
- यूज़र बातचीत के flow में pause का अनुरोध करे
- एजेंट को लगे कि यूज़र को जानकारी समझने के लिए समय चाहिए
Parameters:
reason(string, वैकल्पिक): pause की ज़रूरत क्यों है, इसका free-form कारण
Function call format:
Implementation: किसी अतिरिक्त configuration की ज़रूरत नहीं है। यह tool बस एजेंट को यूज़र के फिर से बोलने तक चुप रहने का संकेत देता है।
और जानें: टर्न छोड़ने का टूल
कीपैड टच टोन चलाएं
पैरामीटर्स:
reason(string, वैकल्पिक): DTMF टोन चलाने का कारण (जैसे, “एक्सटेंशन पर जाना”, “PIN दर्ज करना”)dtmf_tones(string, आवश्यक): चलाने के लिए DTMF सीक्वेंस। मान्य कैरेक्टर: 0-9, *, #, w (0.5s का पॉज़), W (1s का पॉज़)
फ़ंक्शन कॉल फ़ॉर्मैट:
और जानें: कीपैड टच टोन चलाने का टूल
वॉइसमेल पहचान
Parameters:
reason(string, आवश्यक): voicemail detect होने का कारण (जैसे, “automated greeting detected”, “no human response”)
Function call format:
और जानें: वॉइसमेल पहचान टूल
स्थिति अपडेट करें
उद्देश्य: एजेंट को बातचीत के आधार पर एक या अधिक 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:
Implementation: एजेंट extracted parameters और बातचीत के मौजूदा dynamic variables के साथ हर configured expression को evaluate करता है, फिर नतीजों को संबंधित dynamic variables में assign करता है। कोई external request नहीं की जाती।
और जानें: स्थिति अपडेट करने का टूल
अक्सर पूछे जाने वाले सवाल
क्या सिस्टम टूल्स को दूसरे टूल प्रकारों के साथ इस्तेमाल किया जा सकता है?
हां, सिस्टम टूल्स को एक ही असिस्टेंट में वेबहुक टूल्स और क्लाइंट टूल्स के साथ इस्तेमाल किया जा सकता है। इससे आंतरिक स्थिति प्रबंधन और बाहरी इंटरैक्शन को मिलाकर व्यापक फ़ंक्शनैलिटी मिलती है।