ડિજિટલ બેંકમાં ખાતાનું બેલેન્સ (balance) બનાવતા સપોર્ટ બોટ માત્ર નકામો જ નથી, પણ તે જોખમી પણ છે. નાણાકીય વાતચીતમાં ચોક્કસ આંકડાઓ, ચકાસાયેલ પેયીઝ (payees) અને દરેક દાવા માટે ઓડિટ ટ્રેલની જરૂર હોય છે. લાર્જ લેંગ્વેજ મોડલ્સ વાતચીતમાં નિપુણ હોય છે, પરંતુ તેઓ 'હેલ્યુસિનેટ' (hallucinate) કરે છે. જ્યારે કોઈ વપરાશકર્તા પૂછે છે, “મારા ખાતામાં કેટલા બાકી છે?”, ત્યારે મોડલે કલ્પના કરવાને બદલે ડેટાબેઝનો ઉપયોગ કરવો જોઈએ. ફંક્શન કોલિંગ (function calling) બરાબર આ જ બાબતને લાગુ કરે છે, અને તે આ નિર્માણનો મુખ્ય આધાર છે.
Google નું Gemma 4 ડેવલપર્સને એક સક્ષમ 31-બિલિયન પેરામીટર મોડલ આપે છે જે જટિલ સૂચનાઓનું પાલન કરી શકે છે અને પ્રાદેશિક બોલીઓ સહિત કુદરતી સંવાદ કરી શકે છે. Google AI Studio સાથે જોડાઈને, તે એક ઝડપી પ્રોટોટાઇપિંગ એન્વાયરમેન્ટ બની જાય છે જ્યાં તમે સર્વરને અડ્યા વગર ટૂલ્સ વ્યાખ્યાયિત કરી શકો છો, એજ કેસ (edge cases) ટેસ્ટ કરી શકો છો અને કાર્યરત JavaScript એક્સપોર્ટ કરી શકો છો. અહીં ધ્યેય એક ફિનટેક સપોર્ટ એજન્ટ બનાવવાનો છે જે ખાતાનું બેલેન્સ તપાસે, ટ્રાન્ઝેક્શન સ્ટેટસ ટ્રેક કરે અને બિલ ચૂકવે. મહત્વનું એ છે કે, જ્યારે વપરાશકર્તા નાઇજીરિયન પિડજિન (Nigerian Pidgin) માં વાત કરે ત્યારે તે પણ તેમાં જ જવાબ આપે છે, નાણાકીય તથ્યોમાં ક્યારેય ફેરફાર કર્યા વિના ટોન (tone) ને અનુસરે છે.
નાણાકીય બોટ્સ માટે ફંક્શન કોલિંગ શા માટે મહત્વનું છે
ફંક્શન કોલિંગ વગર, લેંગ્વેજ મોડલ દરેક પ્રશ્નને સર્જનાત્મક લેખન કવાયત તરીકે ગણે છે. જો તમે તેને બેલેન્સ પૂછશો, તો તે તેના ટ્રેનિંગ ડેટાના પેટર્ન પરથી એક વ્યાજબી લાગતા આંકડાની કલ્પના કરી શકે છે. જ્યારે વાસ્તવિક નાણાંનો પ્રશ્ન હોય ત્યારે આ પ્રકારની ભૂલ અસ્વીકાર્ય છે.
ફંક્શન કોલિંગ આ પ્રક્રિયાને ઉલટાવી દે છે. મોડલનું કામ બેલેન્સ જાણવાનું નથી. તેનું કામ ઈન્ટેન્ટ (intent) ઓળખવાનું, સાચું ટૂલ પસંદ કરવાનું અને પેરામીટર્સ કાઢવાનું છે. જ્યારે વપરાશકર્તા “Check my balance” લખે છે, ત્યારે Gemma 4 એક સ્ટ્રક્ચર્ડ JSON રિક્વેસ્ટ મોકલે છે—જેમ કે account_id સાથે get_balance માટેનો કોલ. તમારું બેકએન્ડ કોર બેંકિંગ સિસ્ટમ સામે તે કોલ એક્ઝિક્યુટ કરે છે, સાચો આંકડો મેળવે છે અને તેને વાતચીતમાં પાછો મોકલે છે. ત્યારબાદ જ મોડલ માનવ-વાચ્ય વાક્ય બનાવે છે. દરેક જવાબ બેકએન્ડના ટૂલ કોલ દ્વારા આવે છે. કારણ કે મોડલ એક્સટર્નલ લોજિક દ્વારા નિયંત્રિત છે, તેથી હેલ્યુસિનેશન API બોર્ડર પર જ અટકી જાય છે.
આ પેટર્ન સ્પષ્ટ ઓડિટ ટ્રેલ પણ બનાવે છે. દરેક ટૂલ રિક્વેસ્ટ અને તેના અનુરૂપ પરિણામ મેસેજ હિસ્ટ્રીમાં લોગ થાય છે. રેગ્યુલેટર્સ અને રિસ્ક ટીમો ચોક્કસપણે તપાસી શકે છે કે બેલેન્સ ક્યારે ચેક કરવામાં આવ્યું હતું અને વપરાશકર્તાને કયો આંકડો મળ્યો હતો.
Google AI Studio માં એજન્ટની ડિઝાઇન બનાવવી
વર્કફ્લો Google AI Studio ની અંદરથી શરૂ થાય છે. gemma-4-31b-it પસંદ કરો, જે સંવાદ અને સૂચનાઓનું પાલન કરવા માટે ઓપ્ટિમાઇઝ કરેલ ઇન્સ્ટ્રક્ટ-ટ્યુનડ (instruct-tuned) વેરિઅન્ટ છે.
હવે, કડક મર્યાદાઓ નક્કી કરતી સિસ્ટમ સૂચનાઓ લખો. ડિજિટલ બેંક માટે, ટોન વ્યાવસાયિક, સીધો અને શાંત હોવો જોઈએ. પરંતુ સૂચનાઓ તેનાથી પણ આગળ હોવી જોઈએ. મોડલને સ્પષ્ટપણે કહો કે તે ક્યારેય એકાઉન્ટ ડેટાનો અંદાજ ન લગાવે, ક્યારેય ટ્રાન્ઝેક્શન સ્ટેટસ ધારતું ન હોય અને ટૂલના પરિણામની પુષ્ટિ કર્યા વિના બિલ પેમેન્ટ પૂર્ણ ન કરે. જો વપરાશકર્તા નાઇજીરિયન પિડજિનમાં લખે છે, તો મોડલે નાઇજીરિયન પિડજિનમાં જ જવાબ આપવો જોઈએ. જો વપરાશકર્તા અંગ્રેજીમાં સ્વિચ કરે છે, તો મોડલ તેનું પાલન કરે છે. સિસ્ટમ પ્રોમ્પ્ટ એ જગ્યા છે જ્યાં તમે સાદી ભાષામાં વિશ્વાસ અને સુરક્ષા નીતિને એન્કોડ કરો છો.
ત્યારબાદ ટૂલ સ્કીમા (tool schemas) વ્યાખ્યાયિત કરો. આને મોડલ અને તમારા બેકએન્ડ વચ્ચેના કરાર તરીકે ગણો. તમારે ઓછામાં ઓછા ત્રણની જરૂર પડશે:
get_balance
પેરામીટર્સ:account_id(સ્ટ્રિંગ, જરૂરી)
પરિણામ: વર્તમાન બેલેન્સ અને કરન્સી.get_transaction_status
પેરામીટર્સ:transaction_reference(સ્ટ્રિંગ, જરૂરી)
પરિણામ: સ્ટેટસ જેમ કે pending, completed, અથવા failed, વત્તા ટાઈમસ્ટેમ્પ.pay_bill
પેરામીટર્સ:biller_code(સ્ટ્રિંગ, જરૂરી),amount(નંબર, જરૂરી),account_pin(તમારા ફ્લો પર આધારિત સ્ટ્રિંગ, વૈકલ્પિક)
પરિણામ: કન્ફર્મેશન રેફરન્સ અથવા એરર મેસેજ.
દરેક સ્કીમા ફંક્શનનું નામ, વર્ણન અને પેરામીટર પ્રોપર્ટીઝનું વર્ણન કરતા સ્ટાન્ડર્ડ JSON ફોર્મેટનો ઉપયોગ કરે છે. ડિસ્ક્રિપ્શન ફિલ્ડ્સ ખૂબ જ મહત્વપૂર્ણ છે. તેને એવી રીતે લખો જેથી મોડલ સમજી શકે કે ક્યારે કયું ટૂલ ઇન્વોક (invoke) કરવું. અસ્પષ્ટ વર્ણન ખોટા ટૂલની પસંદગી તરફ દોરી જાય છે, તેથી ચોક્કસ બનો: “જ્યારે વપરાશકર્તા તેમનું વર્તમાન એકાઉન્ટ બેલેન્સ જાણવા માંગતા હોય ત્યારે get_balance નો ઉપયોગ કરો. ટ્રાન્ઝેક્શન હિસ્ટ્રી માટે તેનો ઉપયોગ કરશો નહીં.”
બ્રાઉઝરમાં પ્રોટોટાઇપિંગ
તમે એક પણ Express રૂટ લખતા પહેલા, AI Studio ના ચેટ પેનલમાં આખી વાતચીતનો પ્રવાહ ટેસ્ટ કરો. આનાથી બેકએન્ડના દિવસોના રિવર્ક બચી જશે. નાઇજીરિયન પિડજિનમાં ક્વેરી ટાઈપ કરો: “Wetin remain inside my account?” જુઓ કે Gemma 4 સાચો get_balance કોલ કરે છે કે તે ટ્રેનિંગ ડેટામાંથી જવાબ આપવાનો પ્રયાસ કરે છે. જો તે પેરામીટર્સ ખોટા મેળવે છે—કદાચ account_id ને બદલે account_number નો ઉપયોગ કરીને—તો તમે ત્યાં જ સ્કીમા વર્ણન સુધારી શકો છો.
નિષ્ફળતાના મોડ્સ (failure modes) પણ તપાસો. રેફરન્સ નંબર આપ્યા વિના ટ્રાન્ઝેક્શન સ્ટેટસ માંગો. સારી રીતે સૂચના આપવામાં આવેલ મોડલ કાં તો વપરાશકર્તાને ખૂટતા પેરામીટર માટે પૂછવું જોઈએ અથવા તેની પાસે જે છે તેની સાથે ટૂલને કોલ કરવું જોઈએ અને બેકએન્ડને વેલિડેશન એરર (validation error) આપવા દેવું જોઈએ. તમારે આ વર્તણૂક સેન્ડબોક્સમાં જોવી જોઈએ, પ્રોડક્શનમાં નહીં.
એકવાર પ્રોમ્પ્ટ્સ અને સ્કીમા સાચી રીતે વર્તે, પછી JavaScript કોડ એક્સપોર્ટ કરો. AI Studio એક ક્લીન સ્નિપેટ જનરેટ કરે છે જે તમારા સિસ્ટમ પ્રોમ્પ્ટ, યુઝર મેસેજ અને ટૂલ ડેફિનેશન સાથે API રિક્વેસ્ટને સ્ટ્રક્ચર કરે છે. આ તમારા બેકએન્ડ લોજિકનો પાયો બનશે.
Express બેકએન્ડને કનેક્ટ કરવું (Wiring Up)
એક્સપોર્ટ કરેલ કોડ લો અને તેને Express એપ્લિકેશનમાં મૂકો. આર્કિટેક્ચર સરળ છે, પરંતુ એક્ઝિક્યુશન લૂપ એ સૌથી મહત્વનો ભાગ છે.
એક POST એન્ડપોઈન્ટ સેટ કરો—કદાચ /chat—જે વપરાશકર્તાનો મેસેજ અને કોઈપણ સેશન હિસ્ટ્રી સ્વીકારે. આને Gemma 4 એન્ડપોઈન્ટ પર ફોરવર્ડ કરો, જેને તમે તમારી હોસ્ટિંગ પસંદગીના આધારે OpenAI-સુસંગત API અથવા Google ના પોતાના ઇન્ફરન્સ એન્ડપોઈન્ટ દ્વારા એક્સેસ કરી શકો છો.
મોડલ તરફથી મળતો પ્રતિસાદ બેમાંથી એક કેટેગરીમાં હોય છે. કાં તો તે અંતિમ ટેક્સ્ટ મેસેજ છે, અથવા તેમાં ડેટા માટે વિનંતી કરતું tool_call હોય છે. જ્યારે તમને ટૂલ કોલ મળે, ત્યારે તમારા બેકએન્ડ સામે સંબંધિત ફંક્શન એક્ઝિક્યુટ કરો. બેલેન્સ માટે ડેટાબેઝ ક્વેરી કરો. બિલ સ્ટેટસ માટે પેમેન્ટ પ્રોસેસરનો ઉપયોગ કરો. ટૂલના પરિણામને tool રોલ સાથે નવા મેસેજ તરીકે વાતચીતની હિસ્ટ્રીમાં ઉમેરો, અને આખું અપડેટ કરેલું એરે (array) Gemma 4 ને પાછું મોકલો.
જ્યાં સુધી મોડલ અંતિમ ટેક્સ્ટ જવાબ ન આપે ત્યાં સુધી આ લૂપનું પુનરાવર્તન કરો. તે જવાબ તમે પૂરા પાડવામાં આવેલ વાસ્તવિક ડેટા પર આધારિત હશે. Express આના સંકલનને સરળ બનાવે છે કારણ કે લૂપમાંથી દરેક પાસ ફક્ત અન્ય એક HTTP રિક્વેસ્ટ છે, અને તમે ટૂલ એક્ઝિક્યુશનને async/await દ્વારા ચોખ્ખી રીતે કરી શકો છો.
પ્રારંભિક ડેવલપમેન્ટ દરમિયાન, આ ટૂલ કોલ્સને મોક ડેટા (mock data) સાથે ટેસ્ટ કરો. સેમ્પલ એકાઉન્ટ ID ને બેલેન્સ સાથે મેપ કરતા સાદા JavaScript ઓબ્જેક્ટથી લૂપ કામ કરે છે તે સાબિત કરવા માટે પૂરતું છે. હેતુ એ છે કે અસ્થિર (brittle) થર્ડ-પાર્ટી બેંકિંગ API સાથે ઇન્ટિગ્રેટ કરતા પહેલા ઇન્ટરેક્શન પેટર્નને વેલિડેટ કરવાનો.
પ્રોટોટાઇપથી પ્રોડક્શન સુધી
કાર્યરત પ્રોટોટાઇપ એ પ્રોડક્શન બેંકિંગ ઇન્ફ્રાસ્ટ્રક્ચર નથી, પરંતુ એકથી બીજા સુધીનો માર્ગ સ્પષ્ટ છે.
મોક ડેટાને વાસ્તવિક કોર બેંકિંગ API સાથે બદલો. તમારા get_balance ટૂલને REST અથવા gRPC દ્વારા લેજર સિસ્ટમ સાથે જોડો. pay_bill ને તમારા વાસ્તવિક પેમેન્ટ સ્વિચ સાથે જોડો. જ્યારે તમે આ કરો છો, ત્યારે તમારે મોડલ અથવા વાતચીતના લોજિકને બદલવાની જરૂર નથી; તમારે ફક્ત ટૂલ હેન્ડલર્સના અમલીકરણને (implementation) બદલવાનું છે.
સેશન મેનેજમેન્ટ માટે Redis ઉમેરો. બેંકિંગમાં વાતચીતની સ્થિતિ (conversational state) સંવેદનશીલ અને નિયંત્રિત હોય છે. તમારે મેસેજ હિસ્ટ્રી સુરક્ષિત રીતે સ્ટોર કરવાની, નિશ્ચિત સમયગાળા પછી તેને એક્સપાયર કરવાની અને વપરાશકર્તાનું સેશન રિક્વેસ્ટ્સ વચ્ચે લીક ન થાય તેની ખાતરી કરવાની જરૂર છે. Redis આ કામ TTL પોલિસી અને ઝડપી કી લુકઅપ સાથે સંભાળે છે.
જ્યારે ટ્રાફિક વધે, ત્યારે ઇન્ફરન્સ (Inference) ને vLLM પર લઈ જાઓ. પ્રોટોટાઇપિંગ માટે AI Studio ઉત્તમ છે, પરંતુ GPU ક્લસ્ટર્સ પર vLLM સાથે સેલ્ફ-હોસ્ટેડ ઇન્ફરન્સ તમને લેટન્સી, બેચિંગ અને સ્કેલ પર ખર્ચ પર નિયંત્રણ આપે છે. Gemma 4 vLLM હેઠળ કાર્યક્ષમ રીતે ચાલે છે, અને ટૂલ-કોલિંગ વર્તણૂક સમાન રહે છે.
મુખ્ય વાત (The Real Takeaway)
વિશ્વાસપાત્ર ફિનટેક એજન્ટ બનાવવો એ મોડલના કદ વિશે ઓછું અને આર્કિટેક્ચરલ મર્યાદાઓ વિશે વધુ છે. Gemma 4 કોડ-સ્વિચ્ડ નાઇજીરિયન પિડજિનને પાર્સ કરવા અને જટિલ ઇન્ટેન્ટ્સને રૂટ કરવા માટે પૂરતી રીઝનિંગ પાવર પ્રદાન કરે છે, પરંતુ સુરક્ષા ટૂલ લૂપમાંથી આવે છે. દરેક બેલેન્સ લાઈવ ફેચ કરવામાં આવે છે. દરેક બિલ પેમેન્ટ બાહ્ય સિસ્ટમ દ્વારા કન્ફર્મ કરવામાં આવે છે. કંઈપણ કાલ્પનિક રીતે બનાવવામાં આવતું નથી.
બ્રાઉઝરમાં AI Studio સાથે શરૂઆત કરો, Express લૂપમાં લોજિકને મજબૂત બનાવો, અને જ્યારે વાતચીતનો પ્રવાહ બુલેટપ્રૂફ (bulletproof) થઈ જાય ત્યારે વાસ્તવિક બેંકિંગ ઇન્ફ્રાસ્ટ્રક્ચર સાથે બદલો. આ રીતે તમે એવો બોટ બનાવી શકો છો જેના પર લોકો ખરેખર તેમના પૈસા માટે વિશ્વાસ કરી શકે.
સ્ત્રોત: Building a Full Gemma 4 Google AI Studio Project: A Fintech Support Agent
વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: GyaanSetu AI on Telegram
