डिजिटल बँकेमध्ये खात्यातील शिल्लक (balance) सांगताना स्वतःच्या मनाने माहिती देणारा सपोर्ट बॉट केवळ निरुपयोगी नसून तो धोकादायक आहे. आर्थिक संभाषणांमध्ये अचूक आकडेवारी, पडताळणी केलेले पेयीज (payees) आणि प्रत्येक दाव्यासाठी ऑडिट ट्रेलची आवश्यकता असते. लार्ज लँग्वेज मॉडेल्स संभाषणात उत्कृष्ट असतात, परंतु ते 'हॅलुसिनेट' (hallucinate) करतात. जेव्हा एखादा वापरकर्ता “माझ्या खात्यात किती शिल्लक आहे?” असा प्रश्न विचारतो, तेव्हा मॉडेलने कल्पनेचा आधार न घेता डेटाबेसचा आधार घ्यायला हवा. 'फंक्शन कॉलिंग' (function calling) नेमके हेच सुनिश्चित करते आणि हेच या निर्मितीचे मुख्य केंद्र आहे.

Google चे Gemma 4 डेव्हलपर्सना ३१-बिलियन पॅरामीटर असलेले एक सक्षम मॉडेल देते, जे जटिल सूचनांचे पालन करू शकते आणि प्रादेशिक बोलीभाषांसह नैसर्गिक संवाद साधू शकते. Google AI Studio सोबत जोडल्यावर, ते एक जलद प्रोटोटाइपिंग वातावरण बनते जिथे तुम्ही टूल्स (tools) परिभाषित करू शकता, एज केसेस (edge cases) तपासू शकता आणि सर्व्हरवर काम करण्यापूर्वी कार्यरत JavaScript एक्सपोर्ट करू शकता. याचे उद्दिष्ट एक फिनटेक सपोर्ट एजंट तयार करणे आहे जो खात्यातील शिल्लक तपासतो, व्यवहाराची स्थिती (transaction status) ट्रॅक करतो आणि बिले भरतो. महत्त्वाचे म्हणजे, जेव्हा वापरकर्ता नायजेरियन पिडगिन (Nigerian Pidgin) मध्ये बोलतो, तेव्हा हे मॉडेल देखील त्याच भाषेत प्रतिसाद देते, ज्यामुळे आर्थिक तथ्ये बदलल्याशिवाय संभाषणाचा सूर (tone) कायम राखला जातो.

आर्थिक बॉट्ससाठी फंक्शन कॉलिंग का महत्त्वाचे आहे

फंक्शन कॉलिंगशिवाय, लँग्वेज मॉडेल प्रत्येक प्रश्नाला एक सर्जनशील लेखन (creative writing) समजते. जर तुम्ही त्याला शिल्लक रकमेबद्दल विचारले, तर ते त्याच्या ट्रेनिंग डेटातील पॅटर्नवरून एखादी पटण्यासारखी वाटणारी संख्या स्वतःहून तयार करू शकते. जेव्हा खऱ्या पैशांचा प्रश्न असतो, तेव्हा अशा प्रकारची चूक स्वीकारार्ह नाही.

फंक्शन कॉलिंग या प्रक्रियेचा प्रवाह उलट करते. मॉडेलचे काम शिल्लक रक्कम माहित असणे हे नाही. त्याचे काम वापरकर्त्याचा हेतू (intent) ओळखणे, योग्य टूल निवडणे आणि पॅरामीटर्स (parameters) काढणे हे आहे. जेव्हा वापरकर्ता “माझी शिल्लक तपासा” असे लिहितो, तेव्हा Gemma 4 एक स्ट्रक्चर्ड JSON विनंती पाठवते—जसे की account_id सह get_balance कॉल करणे. तुमचे बॅकएंड त्या कॉलद्वारे मुख्य बँकिंग सिस्टमकडून खरी माहिती मिळवते आणि ती पुन्हा संभाषणात समाविष्ट करते. त्यानंतरच मॉडेल मानवी भाषेत वाक्य तयार करते. प्रत्येक उत्तर हे बॅकएंडमधील टूल कॉलद्वारे येते. मॉडेल बाह्य लॉजिकद्वारे नियंत्रित असल्याने, हॅलुसिनेशन (hallucinations) API मर्यादेवरच थांबतात.

ही पद्धत स्पष्ट ऑडिट ट्रेल देखील तयार करते. प्रत्येक टूल विनंती आणि त्याचा संबंधित निकाल मेसेज हिस्ट्रीमध्ये नोंदवला जातो. नियामक (regulators) आणि रिस्क टीम्स नेमकी कधी शिल्लक तपासली गेली आणि वापरकर्त्याला कोणता आकडा मिळाला, याचे निरीक्षण करू शकतात.

Google AI Studio मध्ये एजंट डिझाइन करणे

ही कार्यप्रक्रिया Google AI Studio मध्ये सुरू होते. संवाद आणि सूचनांचे पालन करण्यासाठी ऑप्टिमाइझ केलेले gemma-4-31b-it हे instruct-tuned व्हेरिएंट निवडा.

त्यानंतर, कडक मर्यादा ठरवणारे सिस्टम इन्स्ट्रक्शन्स (system instructions) लिहा. डिजिटल बँकेसाठी, संभाषणाचा सूर व्यावसायिक, थेट आणि शांत असावा. परंतु सूचना केवळ इतक्यापुरत्या मर्यादित नसाव्यात. मॉडेलला स्पष्टपणे सांगा की त्याने खात्याच्या डेटाचा कधीही अंदाज लावू नये, व्यवहाराची स्थिती स्वतःहून गृहीत धरू नये आणि टूलचा निकाल निश्चित झाल्याशिवाय बिल पेमेंट पूर्ण करू नये. जर वापरकर्त्याने नायजेरियन पिडगिनमध्ये लिहिले, तर मॉडेलने नायजेरियन पिडगिनमध्येच उत्तर दिले पाहिजे. जर वापरकर्त्याने इंग्रजी वापरली, तर मॉडेलने त्याचे अनुसरण केले पाहिजे. सिस्टम प्रॉम्प्टमध्येच तुम्ही विश्वास आणि सुरक्षा धोरण साध्या भाषेत समाविष्ट करता.

त्यानंतर टूल स्कीमा (tool schemas) परिभाषित करा. हे मॉडेल आणि तुमचे बॅकएंड यांच्यातील करारासारखे आहेत असे समजा. तुम्हाला किमान तीन स्कीमांची आवश्यकता आहे:

  1. get_balance
    पॅरामीटर्स: account_id (string, आवश्यक)
    परत करते (Returns): सध्याची शिल्लक आणि चलन (currency).

  2. get_transaction_status
    पॅरामीटर्स: transaction_reference (string, आवश्यक)
    परत करते (Returns): पेन्डिंग (pending), पूर्ण (completed) किंवा अयशस्वी (failed) अशी स्थिती आणि टाइमस्टॅम्प.

  3. pay_bill
    पॅरामीटर्स: biller_code (string, आवश्यक), amount (number, आवश्यक), account_pin (string, तुमच्या फ्लोनुसार ऐच्छिक)
    परत करते (Returns): कन्फर्मेशन रेफरन्स किंवा एरर मेसेज.

प्रत्येक स्कीमा फंक्शनचे नाव, वर्णन आणि पॅरामीटर गुणधर्म दर्शवण्यासाठी मानक JSON फॉरमॅट वापरतो. वर्णन (description) फील्ड अत्यंत महत्त्वाचे आहे. मॉडेलला प्रत्येक टूल कधी वापरावे हे समजेल अशा पद्धतीने ते लिहा. संदिग्ध वर्णनामुळे चुकीच्या टूलची निवड होऊ शकते, म्हणून स्पष्ट लिहा: “जेव्हा वापरकर्त्याला त्यांच्या खात्यातील सध्याची शिल्लक जाणून घ्यायची असेल तेव्हा get_balance वापरा. व्यवहाराच्या इतिहासासाठी (transaction history) याचा वापर करू नका.”

ब्राउझरमध्ये प्रोटोटाइपिंग करणे

एकही Express राऊट लिहिण्यापूर्वी, AI Studio च्या चॅट पॅनेलमध्ये संपूर्ण संभाषणाचा प्रवाह तपासा. यामुळे बॅकएंडवरील कामाचा बराच वेळ वाचतो. नायजेरियन पिडगिनमध्ये एक क्वेरी टाईप करा: “Wetin remain inside my account?” Gemma 4 योग्यरित्या get_balance कॉल करते की तिच्या ट्रेनिंग डेटावरून उत्तर देण्याचा प्रयत्न करते, हे पहा. जर तिने पॅरामीटर्स चुकीचे दिले—उदा. account_id ऐवजी account_number वापरले—तर तुम्ही तिथेच स्कीमा वर्णन दुरुस्त करू शकता.

अपयशाच्या पद्धतींची (failure modes) देखील चाचणी घ्या. संदर्भ क्रमांक (reference number) न देता व्यवहाराची स्थिती (transaction status) विचारा. चांगल्या प्रकारे सूचना दिलेल्या मॉडेलने एकतर वापरकर्त्याला गहाळ पॅरामीटरबद्दल विचारावे किंवा त्याच्याकडे जे आहे त्यासह टूल कॉल करावे आणि बॅकएंडला व्हॅलिडेशन एरर (validation error) परत मिळू द्यावे. तुम्हाला हे वर्तन सँडबॉक्समध्ये (sandbox) पाहायचे आहे, प्रोडक्शनमध्ये (production) नाही.

एकदा प्रॉम्प्ट्स आणि स्कीमा (schemas) योग्यरित्या काम करू लागले की, JavaScript कोड एक्सपोर्ट करा. AI Studio एक स्वच्छ स्निपेट (snippet) तयार करते जे तुमच्या सिस्टम प्रॉम्प्ट, युजर मेसेज आणि टूल डेफिनिशन्ससह API विनंतीची रचना करते. हे तुमच्या बॅकएंड लॉजिकचा पाया बनेल.

Express बॅकएंड जोडणे

एक्सपोर्ट केलेला कोड घ्या आणि तो Express ॲप्लिकेशनमध्ये वापरा. आर्किटेक्चर सोपे आहे, परंतु एक्झिक्यूशन लूप (execution loop) हा सर्वात महत्त्वाचा भाग आहे.

एक POST एंडपॉइंट—कदाचित /chat—सेट करा जो वापरकर्त्याचा मेसेज आणि कोणताही सेशन हिस्ट्री स्वीकारेल. हे Gemma 4 एंडपॉइंटला फॉरवर्ड करा, जे तुम्ही तुमच्या होस्टिंग निवडीनुसार OpenAI-सुसंगत API किंवा Google च्या स्वतःच्या इन्फरन्स एंडपॉइंटद्वारे (inference endpoint) कॉल करू शकता.

मॉडेलकडून येणारा प्रतिसाद दोनपैकी एका श्रेणीत येतो. एकतर तो अंतिम मजकूर संदेश (text message) असतो, किंवा त्यात डेटाची विनंती करणारा tool_call असतो. जेव्हा तुम्हाला टूल कॉल प्राप्त होतो, तेव्हा तुमच्या बॅकएंडवर संबंधित फंक्शन कार्यान्वित करा. बॅलन्ससाठी डेटाबेसमध्ये क्वेरी करा. बिल स्टेटससाठी पेमेंट प्रोसेसरला कॉल करा. टूलचा निकाल संभाषणाच्या इतिहासात (conversation history) tool रोलसह नवीन मेसेज म्हणून जोडा आणि संपूर्ण अपडेटेड ॲरे (array) पुन्हा Gemma 4 कडे पाठवा.

जोपर्यंत मॉडेल अंतिम मजकूर उत्तर देत नाही, तोपर्यंत ही लूप प्रक्रिया पुन्हा करा. ते उत्तर तुम्ही पुरवलेल्या वास्तविक डेटावर आधारित असेल. Express मुळे हे समन्वय साधणे सोपे होते कारण लूपमधील प्रत्येक फेरी म्हणजे केवळ आणखी एक HTTP विनंती असते आणि तुम्ही टूल एक्झिक्यूशन async/await द्वारे स्वच्छपणे हाताळू शकता.

सुरुवातीच्या विकासादरम्यान, या टूल कॉल्ससाठी मॉक डेटा (mock data) वापरा. सॅम्पल अकाउंट आयडी (account IDs) आणि बॅलन्स मॅपिंग करणारा एक साधा JavaScript ऑब्जेक्ट हे सिद्ध करण्यासाठी पुरेसा आहे की लूप काम करत आहे. मुख्य उद्देश म्हणजे नाजूक (brittle) थर्ड-पार्टी बँकिंग API सोबत इंटिग्रेट करण्यापूर्वी इंटरअॅक्शन पॅटर्नची पडताळणी करणे हा आहे.

प्रोटोटाइपपासून प्रोडक्शनपर्यंत

कार्यरत प्रोटोटाइप म्हणजे प्रोडक्शन बँकिंग इन्फ्रास्ट्रक्चर नाही, परंतु एकाकडून दुसऱ्याकडे जाण्याचा मार्ग स्पष्ट आहे.

मॉक डेटाच्या जागी वास्तविक कोअर बँकिंग API वापरा. तुमचे get_balance टूल REST किंवा gRPC द्वारे लेजर सिस्टमला जोडा. pay_bill तुमच्या प्रत्यक्ष पेमेंट स्विचला जोडा. जेव्हा तुम्ही हे कराल, तेव्हा तुम्हाला मॉडेल किंवा संभाषणाचे लॉजिक बदलण्याची गरज नाही; तुम्ही फक्त टूल हँडलर्सची अंमलबजावणी (implementation) बदलता.

सेशन मॅनेजमेंटसाठी Redis जोडा. बँकिंगमधील संभाषणाचे स्टेट (conversational state) संवेदनशील आणि नियमन केलेले असते. तुम्हाला मेसेज हिस्ट्री सुरक्षितपणे साठवणे, ठराविक वेळेनंतर ती संपवणे (expire) आणि वापरकर्त्याचे सेशन विनंत्यांमधून लीक होणार नाही याची खात्री करणे आवश्यक आहे. Redis हे TTL पॉलिसी आणि जलद की लूकअप्सद्वारे (key lookups) हाताळते.

जेव्हा ट्रॅफिक वाढते, तेव्हा इन्फरन्स (inference) vLLM वर हलवा. प्रोटोटाइपिंगसाठी AI Studio उत्कृष्ट आहे, परंतु GPU क्लस्टर्सवर vLLM सह सेल्फ-होस्टेड इन्फरन्स तुम्हाला लेटन्सी (latency), बॅचिंग आणि मोठ्या प्रमाणावरील खर्चावर नियंत्रण देते. Gemma 4 vLLM अंतर्गत कार्यक्षमतेने चालते आणि टूल-कॉलिंग वर्तन तसेच राहते.

मुख्य निष्कर्ष

विश्वासार्ह फिनटेक एजंट तयार करणे हे मॉडेलच्या आकारापेक्षा आर्किटेक्चरल मर्यादांवर (architectural constraints) अधिक अवलंबून असते. Gemma 4 मध्ये कोड-स्विच्ड नायजेरियन पिजिन (Nigerian Pidgin) समजून घेण्यासाठी आणि जटिल हेतूंना (intents) दिशा देण्यासाठी पुरेशी तर्कशक्ती (reasoning power) आहे, परंतु सुरक्षितता ही टूल लूपमधून येते. प्रत्येक बॅलन्स थेट (live) मिळवला जातो. प्रत्येक बिल पेमेंट बाह्य प्रणालीद्वारे (external system) कन्फर्म केले जाते. काहीही काल्पनिक नसते.

AI Studio सह ब्राउझरमध्ये सुरुवात करा, Express लूपमध्ये लॉजिक मजबूत करा आणि एकदा का संभाषणाचे प्रवाह (conversation flows) अत्यंत सुरक्षित (bulletproof) झाले की वास्तविक बँकिंग इन्फ्रास्ट्रक्चर वापरा. अशा प्रकारे तुम्ही असा बॉट तयार करू शकता ज्यावर लोक खरोखर त्यांच्या पैशांसाठी विश्वास ठेवू शकतील.

स्रोत: Building a Full Gemma 4 Google AI Studio Project: A Fintech Support Agent

ऐच्छिक लर्निंग कम्युनिटी: GyaanSetu AI on Telegram