एआई सर्वर ऐक्शन¶
AI सर्वर ऐक्शन Odoo के ऑटोमेशन फ्रेमवर्क को विस्तारित करते हैं जिससे आर्टिफ़िशियल इंटेलिजेंस वर्कफ़्लो के दौरान निर्णय ले सकती है।
ये उन मामलों के लिए डिज़ाइन किए गए हैं जहां लॉजिक को पूरी तरह से निश्चित शर्तों के माध्यम से व्यक्त नहीं किया जा सकता, लेकिन फिर भी स्टैंडर्ड सर्वर ऐक्शन के माध्यम से नियंत्रित निष्पादन की आवश्यकता होती है।
एआई सर्वर ऐक्शन कैसे काम करते हैं¶
Odoo में एआई-संचालित वर्कफ़्लो AI सर्वर ऐक्शन, या मैनेजर, और टूल, या वर्कर के बीच जिम्मेदारियों के स्पष्ट विभाजन के आसपास बनाए जाते हैं।
एआई सर्वर ऐक्शन: मैनेजर¶
एक AI सर्वर ऐक्शन निर्णय निर्माता, या मैनेजर के रूप में कार्य करता है। यह रिकॉर्ड और उसके संदर्भ को पढ़ता है। यह AI प्रॉम्प्ट की व्याख्या करता है। और यह निर्णय लेता है कि कौन सा टूल कॉल करना है, और किन तर्कों का इस्तेमाल करना है।
सर्वर ऐक्शन बिज़नेस नियमों को लागू नहीं करता, रिकॉर्ड को सीधे संशोधित नहीं करता, या ऑपरेशन की शुद्धता की गारंटी नहीं देता। इसकी भूमिका केवल निर्णय लेने तक सीमित है।
एआई टूल: वर्कर¶
एक टूल एक स्टैंडर्ड सर्वर ऐक्शन है जिसके उपयोग टैब में एआई में इस्तेमाल करें विकल्प सक्षम होता है। टूल में सभी निष्पादन लॉजिक होती है और यह रिकॉर्ड अपडेट, मूव या राइट करता है। टूल को अवश्य Python कोड में स्पष्ट रूप से बिज़नेस नियमों को लागू करना चाहिए।
अगर किसी टूल को AI सर्वर ऐक्शन द्वारा कॉल किया जाता है, तो यह बिना शर्त निष्पादित होगा, जब तक कि कोड स्वयं इसे रोकता न हो।
एआई सर्वर ऐक्शन वर्कफ़्लो¶
AI सर्वर ऐक्शन वर्कफ़्लो इस सीक्वेंस को फ़ॉलो करता है:
एक रिकॉर्ड AI सर्वर ऐक्शन को ट्रिगर करता है।
AI प्रॉम्प्ट का इवैल्यूएशन किया जाता है, रिकॉर्ड को कॉन्टेक्स्ट के रूप में इस्तेमाल करते हुए।
AI उपलब्ध टूल्स में से एक को सेलेक्ट करता है।
AI टूल द्वारा एक्सपेक्ट किए गए आर्ग्युमेंट्स प्रदान करता है।
सेलेक्ट किया गया टूल अपना Python कोड एक्ज़ीक्यूट करता है।
महत्त्वपूर्ण
AI सर्वर ऐक्शन कस्टम लॉजिक के बिना सिर्फ़ तभी काम करते हैं जब अंडरलाइंग बिहेवियर Odoo में पहले से मौजूद हो, जैसे कि किसी दस्तावेज़ को फ़ोल्डर में मूव करना। इन केसेस में, AI पैरामीटर सेलेक्ट करता है, और Odoo ऐक्शन को एक्ज़ीक्यूट करता है।
यूज़ केस वॉकथ्रू¶
Auto-sort documents in Inbox उदाहरण पूरे AI Server Action पैटर्न को डेमॉन्स्ट्रेट करता है। Server Actions मेन्यू पर नेविगेट करें पर जाकर।
टिप्पणी
यह सर्वर ऐक्शन दस्तावेज़ों की कॉन्टेंट के लिए उनकी समीक्षा करने और टैग ऐड करने के लिए डिज़ाइन किया गया है। ऐक्शन खुद दस्तावेज़ों को मूव नहीं करता या टैग ऐड नहीं करता, यह सिर्फ़ यह तय करता है कि दस्तावेज़ों की कॉन्टेंट के आधार पर किस टूल का इस्तेमाल किया जाना चाहिए।
ऐक्शन के लिए Model को Document के रूप में लिस्ट किया गया है, और Type AI है।
इस ऐक्शन के लिए प्रॉम्प्ट दस्तावेज़ के बारे में कॉन्टेक्स्ट के साथ-साथ ऐक्शन का इंटेंट भी प्रदान करता है।
Tool फ़ील्ड में कई ऐक्शन शामिल हैं जो इस प्रॉम्प्ट के आधार पर लिए जा सकते हैं, जिसमें दस्तावेज़ को मूव करना, टैग ऐड करना, या इनवॉइस या बिल बनाना शामिल है।
टिप्पणी
AI: Add Tags, AI: Move to Folder, और AI: Rename Document सभी Execute Code सर्वर ऐक्शन हैं, मतलब वे python कोड को ट्रिगर करते हैं।
उदाहरण के लिए, अगर ऐक्शन दस्तावेज़ की कॉन्टेंट के आधार पर निर्धारित करता है कि सबसे उपयुक्त टूल AI: Move to Folder है, तो Python कोड निम्नलिखित ऑपरेशन परफ़ॉर्म करता है:
ai['result'] = record._ai_action_move_in_folder(folder_id)
यह कोड, कॉल किए जाने पर बिना शर्त एक्ज़ीक्यूट होता है और मौजूदा मेथड का इस्तेमाल करके मूव परफ़ॉर्म करता है।
टिप्पणी
AI Python कोड से या मेथड सिग्नेचर से आर्ग्युमेंट्स का अनुमान नहीं लगाता। इसके बजाय, टूल को पास किए गए आर्ग्युमेंट्स पूरी तरह से टूल की कॉन्फ़िगरेशन द्वारा निर्धारित होते हैं।
AI: Move to Folder टूल के लिए, Python कोड folder_id नाम की एक वेरिएबल की उम्मीद करता है। AI को folder_id प्रदान करना पता है क्योंकि यह स्पष्ट रूप से कॉन्फ़िगरेशन में एक आर्ग्युमेंट के रूप में डिक्लेयर किया गया है। यह सर्वर ऐक्शन के Usage टैब पर, AI Schema फ़ील्ड में मिल सकता है। AI Schema के अंतर्गत Name कॉलम को Python कोड में इस्तेमाल की गई वेरिएबल नेम से बिल्कुल मैच करना चाहिए।
AI आर्गुमेंट विवरण का उपयोग यह समझने के लिए करता है कि पैरामीटर क्या दर्शाता है, किस टाइप की वैल्यू अपेक्षित है, और इसे कब प्रदान करना उपयुक्त है।
अगर Usage टैब में कोई आर्गुमेंट परिभाषित नहीं है, तो एआई इसे प्रदान नहीं कर सकता, भले ही Python कोड इसे संदर्भित करता हो।
कस्टम AI टूल बनाना¶
ऊपर दिए गए Auto-sort documents in Inbox उदाहरण में समान पैटर्न को स्टैंडर्ड Odoo लॉजिक का उपयोग करके लागू किया जा सकता है। उदाहरण के लिए, एक ऐसा ऐक्शन बनाने के लिए जो टास्क विवरण को अपडेट कर सके, निम्नलिखित कोड के साथ एक Execute Code ऐक्शन बनाया जा सकता है:
record.write({'description': content})
सही ढंग से काम करने के लिए, content को टूल के Usage टैब में आर्गुमेंट के रूप में परिभाषित करना आवश्यक है।
यह भी देखें
सामान्य समस्याएं¶
Tools फ़ील्ड खाली क्यों है?¶
पुष्टि करें कि कम से कम एक सर्वर ऐक्शन में एआई में इस्तेमाल करें सक्षम है।
पुष्टि करें कि कम से कम एक टूल उसी मॉडल मॉडल को असाइन किया गया है जो सर्वर ऐक्शन के समान है।
टूल चला लेकिन कुछ नहीं हुआ क्यों?¶
Python कोड बिना किसी बदलाव के बाहर निकल गया।
आवश्यक आर्गुमेंट गायब थे या खाली थे।
बिज़नेस कंडीशन टूल लॉजिक में लागू नहीं की गई थीं।
AI ने अप्रत्याशित टूल क्यों चुना?¶
प्रॉम्प्ट में पर्याप्त संदर्भ की कमी थी।
कई टूल समान इंटेंट से मेल खाते थे।
टूल लेवल पर कोई बाधा लागू नहीं की गई थी।