ஒரு டிஜிட்டல் வங்கியில் கணக்கு இருப்புகளைத் (account balances) தவறாகக் கூறும் ஒரு சப்போர்ட் பாட் (support bot) பயனற்றது மட்டுமல்ல, அது ஆபத்தானது. நிதி சார்ந்த உரையாடல்களுக்குத் துல்லியமான எண்கள், சரிபார்க்கப்பட்ட பணம் பெறுபவர்கள் மற்றும் ஒவ்வொரு கோரிக்கைக்கும் ஒரு தணிக்கைப் பாதை (audit trail) தேவை. பெரிய மொழி மாதிரிகள் (Large language models) உரையாடலில் சிறந்து விளங்கினாலும், அவை கற்பனையான தகவல்களை உருவாக்குகின்றன (hallucinate). ஒரு பயனர், “எனது கணக்கில் எவ்வளவு மீதமுள்ளது?” என்று கேட்கும்போது, அந்த மாதிரி கற்பனையைப் பயன்படுத்தாமல், ஒரு தரவுத்தளத்தை (database) அணுக வேண்டும். 'Function calling' என்பது சரியாக இதையே உறுதி செய்கிறது, மேலும் இதுவே இந்த உருவாக்கத்தின் (build) மையக்கருவாகும்.

Google-இன் Gemma 4, சிக்கலான வழிமுறைகளைப் பின்பற்றவும், பிராந்திய மொழிகளிலும் இயல்பான உரையாடல்களைத் தொடரவும் கூடிய திறன்மிக்க 31-பில்லியன் அளவுருக்களைக் (parameter) கொண்ட ஒரு மாதிரியை டெவலப்பர்களுக்கு வழங்குகிறது. Google AI Studio உடன் இணைக்கப்படும்போது, இது ஒரு விரைவான முன்மாதிரி (prototyping) சூழலாக மாறுகிறது; அங்கு நீங்கள் கருவிகளை வரையறுக்கலாம், விளிம்புநிலை நிகழ்வுகளைச் (edge cases) சோதிக்கலாம் மற்றும் ஒரு சர்வரைத் தொடங்குவதற்கு முன்பே இயங்கக்கூடிய JavaScript-ஐ ஏற்றுமதி செய்யலாம். கணக்கு இருப்புகளைச் சரிபார்க்கவும், பரிவர்த்தனை நிலையைத் கண்காணிக்கவும் மற்றும் கட்டணங்களைச் செலுத்தவும் கூடிய ஒரு பின்டெக் (fintech) சப்போர்ட் ஏஜென்ட்டை உருவாக்குவதே இதன் இலக்காகும். முக்கியமாக, பயனர் நைஜீரியன் பிட்ஜின் (Nigerian Pidgin) மொழியில் பேசும்போது, அதுவும் அதே தொனியில் பதிலளிக்கும், ஆனால் நிதித் தகவல்களை ஒருபோதும் கற்பனையாகச் சொல்லாது.

நிதி சார்ந்த பாட்களுக்கு (Financial Bots) Function Calling ஏன் முக்கியமானது

Function calling இல்லையென்றால், ஒரு மொழி மாதிரி ஒவ்வொரு கேள்வியையும் ஒரு படைப்பாற்றல் எழுத்து பயிற்சியாகக் கருதும். அதன் இருப்பைக் கேட்டால், அதன் பயிற்சித் தரவுகளில் உள்ள முறைகளிலிருந்து (patterns) நம்பகமானதாகத் தோன்றும் ஒரு எண்ணை அது கற்பனையாக உருவாக்கலாம். உண்மையான பணம் சம்பந்தப்பட்டிருக்கும்போது இத்தகையத் தவறு ஏற்றுக்கொள்ள முடியாதது.

Function calling இந்தச் செயல்பாட்டின் போக்கையே மாற்றுகிறது. மாதிரியின் வேலை இருப்பைத் தெரிந்து கொள்வதல்ல. அதன் வேலை நோக்கத்தை (intent) அடையாளம் காணுதல், சரியான கருவியைத் தேர்ந்தெடுத்தல் மற்றும் அளவுருக்களை (parameters) பிரித்தெடுத்தல் ஆகும். ஒரு பயனர் “Check my balance” என்று எழுதும்போது, Gemma 4 ஒரு கட்டமைக்கப்பட்ட JSON கோரிக்கையை வெளியிடுகிறது—உதாரணமாக, account_id-உடன் கூடிய get_balance அழைப்பு போன்றது. உங்கள் பேக்எண்ட் (backend) அந்த அழைப்பை மைய வங்கி அமைப்பிற்கு (core banking system) அனுப்பி, உண்மையானத் தொகையைப் பெற்று, அதை உரையாடலில் மீண்டும் இணைக்கிறது. அதன் பின்னரே மாதிரி மனிதர்களுக்குப் புரியும் வாக்கியத்தை உருவாக்குகிறது. ஒவ்வொரு பதிலும் பேக்எண்டிற்கான ஒரு கருவி அழைப்பிலிருந்து (tool call) வருகிறது. மாதிரி வெளிப்புறத் தர்க்கத்தால் (external logic) கட்டுப்படுத்தப்படுவதால், கற்பனையான தகவல்கள் (hallucinations) API எல்லையிலேயே நின்றுவிடுகின்றன.

இந்த முறை தெளிவான தணிக்கைப் பாதைகளையும் (audit trails) உருவாக்குகிறது. ஒவ்வொரு கருவி கோரிக்கையும் அதன் தொடர்புடைய முடிவும் செய்தி வரலாற்றில் (message history) பதிவு செய்யப்படுகின்றன. ஒரு கணக்கு இருப்பு எப்போது சரிபார்க்கப்பட்டது மற்றும் பயனர் எந்த எண்ணைப் பெற்றார் என்பதை ஒழுங்குமுறை அமைப்புகளும் (regulators) இடர் மேலாண்மை குழுக்களும் (risk teams) துல்லியமாக ஆய்வு செய்ய முடியும்.

Google AI Studio-வில் ஏஜென்ட்டை வடிவமைத்தல்

இந்த பணிப்பாய்வு (workflow) Google AI Studio-விற்குள் தொடங்குகிறது. உரையாடல் மற்றும் வழிமுறைகளைப் பின்பற்றுவதற்கு உகந்த gemma-4-31b-it என்ற instruct-tuned மாதிரியைத் தேர்ந்தெடுக்கவும்.

அடுத்து, கடுமையான எல்லைகளை நிர்ணயிக்கும் சிஸ்டம் வழிமுறைகளை (system instructions) எழுதவும். ஒரு டிஜிட்டல் வங்கிக்கு, தொனி தொழில்முறை ரீதியாகவும், நேரடியானதாகவும் மற்றும் நிதானமாகவும் இருக்க வேண்டும். ஆனால் வழிமுறைகள் அதையும் தாண்டிச் செல்ல வேண்டும். கணக்குத் தரவுகளை ஒருபோதும் யூகிக்க வேண்டாம் என்றும், பரிவர்த்தனை நிலையைத் தானாகவே தீர்மானிக்க வேண்டாம் என்றும், கருவி முடிவை உறுதிப்படுத்தாமல் ஒருபோதும் கட்டணத்தைச் செலுத்த வேண்டாம் என்றும் மாதிரிக்குத் தெளிவாகக் கூறவும். பயனர் நைஜீரியன் பிட்ஜின் மொழியில் எழுதினால், மாதிரி நைஜீரியன் பிட்ஜின் மொழியிலேயே பதிலளிக்க வேண்டும். பயனர் ஆங்கிலத்திற்கு மாறினால், மாதிரியும் அதைப் பின்பற்ற வேண்டும். சிஸ்டம் பிராம்ட் (system prompt) என்பது நீங்கள் நம்பிக்கை மற்றும் பாதுகாப்பு கொள்கைகளை எளிய மொழியில் குறியீடாக்கும் இடமாகும்.

பின்னர் கருவி ஸ்கீமாக்களை (tool schemas) வரையறுக்கவும். இவற்றை மாதிரிக்கும் உங்கள் பேக்எண்டிற்கும் இடையிலான ஒப்பந்தங்களாகக் கருதலாம். உங்களுக்குக் குறைந்தபட்சம் மூன்று தேவைப்படுகின்றன:

  1. get_balance
    அளவுருக்கள் (Parameters): account_id (string, கட்டாயம்)
    திரும்பப் பெறுவது (Returns): தற்போதைய இருப்பு மற்றும் நாணயம்.

  2. get_transaction_status
    அளவுருக்கள் (Parameters): transaction_reference (string, கட்டாயம்)
    திரும்பப் பெறுவது (Returns): நிலுவையில் உள்ளது (pending), முடிந்தது (completed) அல்லது தோல்வியடைந்தது (failed) போன்ற நிலை மற்றும் நேர முத்திரை (timestamp).

  3. pay_bill
    அளவுருக்கள் (Parameters): biller_code (string, கட்டாயம்), amount (number, கட்டாயம்), account_pin (string, உங்கள் பணிப்பாய்வைப் பொறுத்து விருப்பத்தேர்வு)
    திரும்பப் பெறுவது (Returns): உறுதிப்படுத்தல் குறிப்பு (confirmation reference) அல்லது பிழைச் செய்தி.

ஒவ்வொரு ஸ்கீமாவும் செயல்பாட்டின் பெயர், விளக்கம் மற்றும் அளவுருப் பண்புகளை விவரிக்கும் ஒரு நிலையான JSON வடிவமைப்பைப் பயன்படுத்துகிறது. விளக்கக் புலங்கள் (description fields) மிகவும் முக்கியமானவை. ஒவ்வொரு கருவியையும் எப்போது பயன்படுத்த வேண்டும் என்பதை மாதிரி புரிந்துகொள்ளும் வகையில் அவற்றை எழுதவும். தெளிவற்ற விளக்கங்கள் தவறான கருவித் தேர்வுக்கு வழிவகுக்கும், எனவே துல்லியமாக இருக்கவும்: “பயனர் தனது தற்போதைய கணக்கு இருப்பைத் தெரிந்துகொள்ள விரும்பும்போது get_balance-ஐப் பயன்படுத்தவும். பரிவர்த்தனை வரலாற்றிற்கு இதைப் பயன்படுத்த வேண்டாம்.”

உலாவியில் (Browser) முன்மாதிரி உருவாக்குதல்

நீங்கள் ஒரு Express ரூட்டை (route) எழுதுவதற்கு முன்பே, AI Studio-வின் சாட் பேனலில் முழு உரையாடல் ஓட்டத்தையும் சோதித்துப் பார்க்கவும். இது பேக்எண்ட் மறுவேலைக்கான பல நாட்களைச் சேமிக்கும். நைஜீரியன் பிட்ஜின் மொழியில் ஒரு கேள்வியைத் தட்டச்சு செய்யவும்: “Wetin remain inside my account?” Gemma 4 சரியாக get_balance அழைப்பை வெளியிடுகிறதா அல்லது அதன் பயிற்சித் தரவிலிருந்து பதிலளிக்க முயற்சிக்கிறதா என்பதைக் கவனிக்கவும். அது அளவுருக்களைத் தவறாகக் கொடுத்தால்—உதாரணமாக, account_id-க்கு பதிலாக account_number-ஐப் பயன்படுத்தினால்—அங்கேயே ஸ்கீமா விளக்கத்தைச் சரிசெய்யலாம்.

தோல்வி முறைகளையும் (failure modes) சோதிக்கவும். ஒரு குறிப்பு எண்ணை (reference number) வழங்காமல் பரிவர்த்தனை நிலவரத்தைக் கேட்கவும். சரியாக அறிவுறுத்தப்பட்ட ஒரு மாடல், விடுபட்ட அளவுருவை (parameter) பயனரிடம் கேட்க வேண்டும் அல்லது தன்னிடம் உள்ளதைக் கொண்டு கருவியைத் (tool) தூண்டி, பின்னணி அமைப்பிலிருந்து (backend) சரிபார்ப்பு பிழையை (validation error) வரவழைக்க வேண்டும். இத்தகைய செயல்பாடுகளை நீங்கள் சாண்ட்பாக்ஸில் (sandbox) பார்க்க விரும்புகிறீர்கள், தயாரிப்புச் சூழலில் (production) அல்ல.

ப்ராம்ப்ட்கள் (prompts) மற்றும் ஸ்கீமாக்கள் (schemas) சரியாகச் செயல்பட்டவுடன், JavaScript குறியீட்டை ஏற்றுமதி (export) செய்யவும். AI Studio உங்கள் சிஸ்டம் ப்ராம்ப்ட், பயனர் செய்தி மற்றும் கருவி வரையறைகளுடன் (tool definitions) API கோரிக்கையை கட்டமைக்கும் ஒரு சுத்தமான ஸ்னிப்பட்டை (snippet) உருவாக்கும். இது உங்கள் backend தர்க்கத்தின் (logic) அடிப்படையாக அமையும்.

Express Backend-ஐ இணைத்தல்

ஏற்றுமதி செய்யப்பட்ட குறியீட்டை எடுத்து ஒரு Express பயன்பாட்டிற்குள் (application) சேர்க்கவும். இதன் கட்டமைப்பு எளிமையானது, ஆனால் செயல்பாட்டுச் சுழற்சி (execution loop) தான் மிக முக்கியமான பகுதி.

பயனரின் செய்தி மற்றும் எந்தவொரு அமர்வு வரலாற்றையும் (session history) ஏற்கும் ஒரு POST endpoint-ஐ—ஒருவேளை /chat-ஐ—அமைக்கவும். உங்கள் ஹோஸ்டிங் தேர்வைப் பொறுத்து, ஒரு OpenAI-இணக்கமான API அல்லது Google-இன் சொந்த inference endpoint மூலம் நீங்கள் அணுகக்கூடிய Gemma 4 endpoint-க்கு இவற்றை அனுப்பவும்.

மாடலில் இருந்து வரும் பதில் இரண்டு வகைகளில் ஒன்றில் இருக்கும். அது ஒரு இறுதி உரைச் செய்தியாக இருக்கலாம் அல்லது தரவைக் கோரும் tool_call-ஐக் கொண்டிருக்கலாம். ஒரு tool call-ஐப் பெறும்போது, உங்கள் backend-இல் அதற்குரிய செயல்பாட்டை (function) இயக்கவும். இருப்புத் தொகையை அறிய தரவுத்தளத்தைக் (database) கண்டறியவும். பில் நிலவரத்தைக் கண்டறிய கட்டணச் செயலாக்கியைத் (payment processor) தொடர்பு கொள்ளவும். கருவி முடிவை (tool result) tool என்ற பாத்திரத்துடன் (role) உரையாடல் வரலாற்றின் புதிய செய்தியாகச் சேர்த்து, முழுமையான புதுப்பிக்கப்பட்ட வரிசையை (array) மீண்டும் Gemma 4-க்கு அனுப்பவும்.

மாடல் ஒரு இறுதி உரைப் பதிலைத் தரும் வரை இந்தச் சுழற்சியைத் தொடரவும். அந்தப் பதில் நீங்கள் வழங்கிய உண்மையான தரவுகளின் அடிப்படையில் அமையும். ஒவ்வொரு சுழற்சியும் மற்றொரு HTTP கோரிக்கை என்பதால், Express இதை ஒருங்கிணைப்பதை எளிதாக்குகிறது, மேலும் நீங்கள் கருவிச் செயல்பாட்டை (tool execution) async/await மூலம் சுத்தமாகச் செய்யலாம்.

ஆரம்பக்கட்ட வளர்ச்சியின் போது, இந்த tool calls-களுக்குப் பதிலாக மாதிரித் தரவை (mock data) பயன்படுத்தவும். மாதிரி கணக்கு ஐடிகளை (account IDs) இருப்புத் தொகைகளுடன் இணைக்கும் ஒரு எளிய JavaScript object, இந்தச் சுழற்சி வேலை செய்வதை நிரூபிக்க போதுமானது. நிலையற்ற மூன்றாம் தரப்பு வங்கி API-களுடன் இணைப்பதற்கு முன், இந்தத் தொடர்பு முறையைச் சரிபார்ப்பதே இதன் நோக்கமாகும்.

முன்மாதிரியில் (Prototype) இருந்து தயாரிப்புக்கு (Production)

ஒரு செயல்படும் முன்மாதிரி என்பது தயாரிப்பு வங்கி உள்கட்டமைப்பு அல்ல, ஆனால் ஒன்றிலிருந்து மற்றொன்றுக்குச் செல்லும் பாதை தெளிவானது.

மாதிரித் தரவை உண்மையான core banking API-களால் மாற்றவும். உங்கள் get_balance கருவியை REST அல்லது gRPC மூலம் லெட்ஜர் (ledger) அமைப்புடன் இணைக்கவும். pay_bill-ஐ உங்கள் உண்மையான கட்டண ஸ்விட்ச் (payment switch)-உடன் இணைக்கவும். நீங்கள் இதைச் செய்யும்போது, மாடல் அல்லது உரையாடல் தர்க்கத்தை மாற்ற வேண்டிய அவசியமில்லை; கருவி கையாளுபவர்களின் (tool handlers) செயல்பாட்டை மட்டும் நீங்கள் மாற்றினால் போதும்.

அமர்வு மேலாண்மைக்காக (session management) Redis-ஐச் சேர்க்கவும். வங்கித் துறையில் உரையாடல் நிலை (conversational state) மிகவும் உணர்திறன் வாய்ந்தது மற்றும் ஒழுங்குபடுத்தப்பட்டது. செய்தி வரலாற்றைத் பாதுகாப்பாகச் சேமிக்க வேண்டும், ஒரு குறிப்பிட்ட காலத்திற்குப் பிறகு அவற்றை காலாவதியாக்க வேண்டும் மற்றும் பயனரின் அமர்வு கோரிக்கைகளுக்கு இடையே கசியாமல் இருப்பதை உறுதி செய்ய வேண்டும். Redis இதை TTL கொள்கைகள் மற்றும் வேகமான கீ லுக்அப்கள் (key lookups) மூலம் கையாள்கிறது.

போக்குவரத்து (traffic) அதிகரிக்கும் போது, Inference-ஐ vLLM-க்கு மாற்றவும். AI Studio முன்மாதிரிகளை உருவாக்கச் சிறந்தது, ஆனால் GPU கிளஸ்டர்களில் vLLM மூலம் சுய-ஹோஸ்ட் செய்யப்பட்ட inference, தாமதம் (latency), தொகுத்தல் (batching) மற்றும் செலவு ஆகியவற்றைக் கட்டுப்படுத்த உங்களுக்கு அதிகாரம் அளிக்கிறது. Gemma 4, vLLM-இன் கீழ் திறம்பட இயங்குகிறது, மேலும் கருவி அழைப்பு (tool-calling) நடத்தை அப்படியே இருக்கும்.

உண்மையான கருத்து (The Real Takeaway)

நம்பகமான ஒரு fintech ஏஜென்ட்டை உருவாக்குவது என்பது மாடலின் அளவைப் பற்றியது அல்ல, மாறாகக் கட்டடக்கலைக் கட்டுப்பாடுகளைப் (architectural constraints) பற்றியது. Gemma 4, குறியீடு மாற்றப்பட்ட (code-switched) நைஜீரியன் பிஜின் மொழியைப் பகுப்பாய்வு செய்யவும் மற்றும் சிக்கலான நோக்கங்களை (intents) வழிநடத்தவும் போதுமான பகுத்தறிவுத் திறனை வழங்குகிறது, ஆனால் பாதுகாப்பு என்பது கருவிச் சுழற்சியில் (tool loop) இருந்து வருகிறது. ஒவ்வொரு இருப்புத் தொகையும் நேரலையில் (live) பெறப்படுகிறது. ஒவ்வொரு பில் கட்டணமும் ஒரு வெளிப்புற அமைப்பால் உறுதி செய்யப்படுகிறது. எதுவும் கற்பிக்கப்படுவதில்லை.

உலாவியில் (browser) AI Studio மூலம் தொடங்கவும், Express சுழற்சியில் தர்க்கத்தை வலுப்படுத்தவும், உரையாடல் ஓட்டங்கள் (conversation flows) மிகவும் உறுதியானதும் உண்மையான வங்கி உள்கட்டமைப்பை மாற்றவும். மக்கள் தங்கள் பணத்தை உண்மையில் நம்பி ஒப்படைக்கக்கூடிய ஒரு பாட்டை (bot) நீங்கள் அவ்வாறுதான் உருவாக்க முடியும்.

Source: Building a Full Gemma 4 Google AI Studio Project: A Fintech Support Agent

Optional learning community: GyaanSetu AI on Telegram