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

प्रक्रियाएं

काम के अनुसार निर्देश, जिन्हें आपका एजेंट ज़रूरत पड़ने पर लोड करता है

परिचय

प्रक्रिया में किसी एक खास काम के निर्देश होते हैं। हर प्रक्रिया का एक ट्रिगर होता है, जो बताता है कि वह कब लागू होती है, और उसका कॉन्टेंट बताता है कि क्या करना है। जब कोई बातचीत ट्रिगर से मेल खाती है, तो एजेंट प्रक्रिया लोड करता है।

जब आपके एजेंट को कई अलग-अलग काम संभालने हों, तब प्रक्रियाओं का इस्तेमाल करें। उदाहरण के लिए, कस्टमर सपोर्ट एजेंट में हर प्रक्रिया एक तरह के अनुरोध को कवर कर सकती है: रिफंड, पहचान की पुष्टि, अकाउंट रिकवरी या कनेक्शन की समस्या का समाधान।

एजेंट डैशबोर्ड में प्रक्रियाएं टैब

प्रक्रिया के प्रकार

प्रक्रियाएं दो तरह की होती हैं:

आप एक ही एजेंट पर दोनों तरह की प्रक्रियाओं का इस्तेमाल कर सकते हैं। एजेंट प्रकार की परवाह किए बिना, ट्रिगर के आधार पर सही प्रक्रिया चुनता है।

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

किसी एजेंट में प्रक्रियाएं, वर्कफ़्लो, या दोनों हो सकते हैं। जब दोनों मौजूद हों, तो हर प्रक्रिया वर्कफ़्लो के हर बिंदु से उपलब्ध होती है; किसी प्रक्रिया को सिर्फ खास वर्कफ़्लो नोड तक सीमित नहीं किया जा सकता। ज़्यादातर एजेंट इनमें से किसी एक तरीके पर बनाए जाते हैं, लेकिन दोनों को साथ इस्तेमाल किया जा सकता है।

प्रक्रियाओं का इस्तेमाल कब करें

हर एजेंट में एक सिस्टम प्रॉम्प्ट होता है। प्रक्रियाएं और वर्कफ़्लो इसके ऊपर स्ट्रक्चर जोड़ने के दो तरीके हैं, और एजेंट दोनों का इस्तेमाल कर सकता है। बातचीत में कितनी विविधता हो सकती है, इसके आधार पर शुरुआत चुनें।

ज़रूरतइस्तेमाल करेंक्यों
सरल प्रूफ़-ऑफ़-कॉन्सेप्ट एजेंटसिर्फ सिस्टम प्रॉम्प्टसेट अप करना और बदलाव करना सबसे तेज़ है, लेकिन एजेंट का दायरा बढ़ने पर एक ही प्रॉम्प्ट संभालना मुश्किल हो जाता है।
ऐसा काम जिसमें एजेंट शब्दों और क्रम को बदल सकेफ़्री-फ़ॉर्म प्रक्रियापूरी बातचीत एक LLM के कॉन्टेक्स्ट में रहती है, इसलिए एजेंट शब्दों और क्रम को बदल सकता है और अनपेक्षित मोड़ों को संभाल सकता है। इसमें कॉन्टेक्स्ट विंडो का ज़्यादा इस्तेमाल होता है।
ऐसा काम जिसके चरण हर बार एक ही तरह चलेंस्ट्रक्चर्ड प्रक्रियाहर चरण आपके तय किए क्रम में, हर बार एक ही तरीके से चलता है और आप इसे चरणों की छोटी सूची के रूप में लिखते हैं।
जटिल ब्रांचिंग और एज केस पर पूरा नियंत्रणवर्कफ़्लोयह आपके डिज़ाइन और कनेक्ट किए गए सबएजेंट्स के ग्राफ़ की तरह चलता है, जिसमें ब्रांचिंग और हर चरण के मॉडल पर आपका पूरा नियंत्रण होता है।

फ़्री-फ़ॉर्म प्रक्रियाएं डिफ़ॉल्ट विकल्प हैं। इन्हें लिखना सबसे तेज़ है, ये दस्तावेज़ जैसी पढ़ी जाती हैं, इसलिए गैर-तकनीकी टीमें भी इन्हें संभाल सकती हैं, और बातचीत स्क्रिप्ट से हटने पर एजेंट वापस संभल सकता है। जब कोई चरण छूटने या क्रम बदलने की लागत ज़्यादा हो, जैसे ऑथेंटिकेशन, एस्केलेशन या वित्तीय लेन-देन में, तब स्ट्रक्चर्ड प्रक्रिया चुनें। जब आपको रूटिंग लॉजिक या हर चरण के मॉडल पर ऐसा नियंत्रण चाहिए जो दोनों प्रक्रिया प्रकारों में न हो, तब वर्कफ़्लो चुनें।

प्रक्रियाएं मैनेज करें

प्रक्रियाएं लिखने के लिए डैशबोर्ड सुझाया गया तरीका है। प्रक्रियाओं को प्रोग्राम के ज़रिए मैनेज करने या उन्हें डिप्लॉयमेंट टूलिंग में जोड़ने के लिए CLI या API इस्तेमाल करें।

डैशबोर्ड में अपना एजेंट खोलें, फिर प्रक्रियाएं चुनें। फ़्री-फ़ॉर्म या स्ट्रक्चर्ड प्रक्रिया बनाने के लिए + इस्तेमाल करें। इसी मेन्यू से प्रक्रियाओं को फ़ोल्डर में भी समूहित किया जा सकता है। लिखने के निर्देशों के लिए फ़्री-फ़ॉर्म प्रक्रियाएं और स्ट्रक्चर्ड प्रक्रियाएं देखें।

हर बातचीत के लिए प्रक्रियाएं चुनें

डिफ़ॉल्ट रूप से, हर बातचीत एजेंट की सभी प्रक्रियाओं का इस्तेमाल कर सकती है और एजेंट किसी प्रक्रिया को तभी लोड करता है जब बातचीत उसके ट्रिगर से मेल खाती है। बातचीत शुरू होने से पहले आपके एप्लिकेशन को अक्सर ज़्यादा जानकारी होती है: यूज़र कौन है, वह किस क्षेत्र में है या उसने किस बारे में कॉल की है। इस जानकारी का इस्तेमाल करने के लिए बातचीत शुरू करने वाले क्लाइंट डेटा में प्रक्रिया IDs पास करें। आप तय करते हैं कि एजेंट कौन-सी प्रक्रियाएं इस्तेमाल कर सकता है और पहली बारी से किनका पालन करता है।

फ़ील्डयह क्या करता हैइसका इस्तेमाल क्यों करें
procedure_idsबातचीत को इन प्रक्रियाओं तक सीमित करता है। खाली ऐरे एजेंट की सभी प्रक्रियाओं को बंद कर देता है।हर यूज़र को सिर्फ वही प्रक्रियाएं दें जो उस पर लागू होती हैं, जैसे साइन इन न किए हुए यूज़र से अकाउंट प्रक्रियाएं छिपाएं। इसका इस्तेमाल तब भी करें जब ऐसी मिलती-जुलती प्रक्रियाओं के ट्रिगर हों जिनसे बचा नहीं जा सकता, जैसे हर क्षेत्र के लिए अलग रिफंड प्रक्रिया। सिर्फ यूज़र का क्षेत्र पास करें, ताकि एजेंट किसी दूसरे क्षेत्र की प्रक्रिया का पालन न कर सके।
start_procedure_idsबातचीत के साथ इन फ़्री-फ़ॉर्म प्रक्रियाओं को शुरू करता है, ताकि एजेंट पहली बारी से उनका पालन करे। अधिकतम पांच IDs स्वीकार करता है।जब आपको यूज़र का काम पहले से पता हो, जैसे IVR मेन्यू विकल्प, विजेट होस्ट करने वाले पेज या CRM डेटा से, तो तेज़ जवाब दें।

start_procedure_ids में मौजूद प्रक्रिया यूज़र के पहली बार बोलने पर पहले से लोड होती है, इसलिए एजेंट उसे लोड करने वाली LLM कॉल छोड़ देता है। कोई भी सक्रिय प्रक्रिया हर बारी प्रॉम्प्ट में रहती है, चाहे उसे एजेंट ने शुरू किया हो या आपके एप्लिकेशन ने। जो शुरू की गई प्रक्रिया बातचीत में कभी ज़रूरी न पड़े, वह भी हर बारी अपना कॉन्टेंट जोड़ती है, इसलिए केवल वही प्रक्रियाएं शुरू करें जिनका बातचीत में इस्तेमाल होने की संभावना हो।

1

प्रक्रिया चयन की अनुमति दें

प्रक्रियाएं ओवरराइड डिफ़ॉल्ट रूप से बंद है। हर उस एजेंट पर इसे चालू करें जिसे क्लाइंट से प्रक्रिया IDs स्वीकार करनी चाहिए।

डैशबोर्ड में अपना एजेंट खोलें, सुरक्षा टैब चुनें और प्रक्रियाएं ओवरराइड चालू करें।

2

बातचीत शुरू होने पर IDs पास करें

अगर एजेंट में प्रक्रियाएं ओवरराइड चालू नहीं है या कोई ID अमान्य है, तो बातचीत शुरू नहीं हो पाएगी।

प्रक्रियाओं की सूची से प्रक्रिया IDs लें। बातचीत शुरू करने वाले क्लाइंट डेटा में procedure_ids, start_procedure_ids, या दोनों जोड़ें:

बातचीत शुरू करने का पेलोड
{
"type": "conversation_initiation_client_data",
"procedure_ids": [
"agtprc_4101k8f3w2pqv6xs9mhdr0tz7n3b",
"agtprc_2301k8f3xq9zfa7tkrqs6m4bdn5e",
"agtprc_7801k8f3yt4mfzh2xbq9d0vcpw1r"
],
"start_procedure_ids": ["agtprc_4101k8f3w2pqv6xs9mhdr0tz7n3b"]
}

एजेंट पहली प्रक्रिया के पहले से चलने के साथ बातचीत शुरू करता है। बातचीत के ट्रिगर से मेल खाने पर भी वह बाकी दो को शुरू कर सकता है।

Python और JavaScript बातचीत SDKs procedure_ids या start_procedure_ids नहीं भेजते। इन फ़ील्ड्स का इस्तेमाल करने के लिए, शुरुआत का संदेश WebSocket पर खुद भेजें।

दोनों फ़ील्ड इन नियमों का पालन करते हैं:

  • procedure_ids में हर ID एजेंट की होनी चाहिए। अगर चुनी गई प्रक्रिया सब-प्रक्रियाओं को कॉल करती है, तो उन्हें भी शामिल करें।
  • start_procedure_ids में हर ID फ़्री-फ़ॉर्म प्रक्रिया की होनी चाहिए। जब आप procedure_ids भी पास करते हैं, तो हर ID उस सूची में भी होनी चाहिए।
  • procedure_ids सिर्फ उस एजेंट पर लागू होता है जिससे बातचीत शुरू होती है। एजेंट ट्रांसफ़र के बाद यह लागू नहीं होता।
  • शुरू की गई प्रक्रियाएं सीमाएं में पांच सक्रिय प्रक्रियाओं की सीमा में गिनी जाती हैं। बातचीत इतिहास हर एक को start_procedure टूल कॉल के रूप में रिकॉर्ड करता है।

सीमाएं

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