Function Calling နည်းပညာ အကျဉ်းချုပ်
Function Calling နည်းပညာ အကျဉ်းချုပ်
၁။ အဓိပ္ပါယ်ဖွင့်ဆိုချက်
Function Calling သည် developer များအား JSON schema မှတစ်ဆင့် ကြီးမားသော ဘာသာစကားမော်ဒယ် (LLM) သို့ ရရှိနိုင်သော ပြင်ပကိရိယာများ (ဥပမာ API) ကို ဖော်ပြခွင့်ပြုသည့် ယန္တရားတစ်ခုဖြစ်သည်။ မော်ဒယ်သည် အသုံးပြုသူ၏မေးခွန်းကိုဖြေရန် ကိရိယာတစ်ခုကို ခေါ်ဆိုရန် လိုအပ်သည်ဟု ဆုံးဖြတ်သောအခါ၊ ၎င်းသည် ခေါ်ဆိုရမည့် function အမည်နှင့် parameter များကို ညွှန်ပြသော ဖွဲ့စည်းတည်ဆောက်ထားသည့် tool_calls JSON ဒေတာကို ထုတ်လုပ်သည်။ လက်ခံဆောင်ရွက်သည့် ပရိုဂရမ်သည် ဤခေါ်ဆိုမှုကို ခွဲခြမ်းစိတ်ဖြာပြီး လုပ်ဆောင်ကာ ရလဒ်ကို မော်ဒယ်သို့ ပြန်ပို့သည်၊ ထို့နောက် မော်ဒယ်သည် နောက်ဆုံးအဖြေကို ထုတ်လုပ်သည်။
၂။ အဓိကနိယာမနှင့် ဖြေရှင်းပေးသော ပြဿနာများ
- အနှစ်သာရ− “စကားဝိုင်းနှစ်ကြိမ် + အလယ်တွင် လုပ်ဆောင်ခြင်း” ၏ သံသရာ။ ပထမအကြိမ်တွင် မော်ဒယ်သည် ဆုံးဖြတ်ချက်ချကာ ကိရိယာခေါ်ဆိုမှုတောင်းဆိုချက်ကို ထုတ်လုပ်သည်။ အလယ်တွင် ကုဒ်သည် ကိရိယာကို လုပ်ဆောင်သည်။ ဒုတိယအကြိမ်တွင် မော်ဒယ်သည် လုပ်ဆောင်မှုရလဒ်ကို အခြေခံ၍ နောက်ဆုံးအဖြေကို ထုတ်လုပ်သည်။
- ဖြေရှင်းပေးသော ပြဿနာ− ယခင်က မော်ဒယ်အား ကိရိယာများကို ခေါ်ဆိုရန် တည်ငြိမ်မှုမရှိ၊ အမှားအယွင်းများသော သဘာဝဘာသာစကားခွဲခြမ်းစိတ်ဖြာမှု (if/else ဆုံးဖြတ်ချက်များ) ကို အားကိုးရသည့် ပြဿနာကို ဖြေရှင်းပေးသည်။ ဖွဲ့စည်းတည်ဆောက်ထားသော output မှတစ်ဆင့် စံသတ်မှတ်ချက်နှင့် တိကျမှုကို မြှင့်တင်ပေးသည်။
၃။ တာဝန်ခွဲဝေမှု (တာဝန်လွှဲအပ်ခြင်းနှင့် နှိုင်းယှဉ်လျှင်)
- Developer (HR)− ကိရိယာများကို သတ်မှတ်သည်၊ ကိရိယာ၏လုပ်ဆောင်ချက်၊ parameter များစသည့် အချက်အလက်များကို ဖော်ပြသော JSON Schema ကို ရေးသားသည်။
- LLM မော်ဒယ် (မန်နေဂျာ)− ကိရိယာဖော်ပြချက်ကို နားလည်သည်၊ ခေါ်ဆိုရန် လိုအပ်မှု၊ မည်သည့်ကိရိယာနှင့် မည်သည့် parameter များကို ဆုံးဖြတ်ကာ ဖွဲ့စည်းတည်ဆောက်ထားသော ခေါ်ဆိုမှုတောင်းဆိုချက် (
tool_calls) ကို ထုတ်လုပ်သည်။ မော်ဒယ်သည် ဆုံးဖြတ်ချက်ချခြင်းနှင့် စာသားထုတ်လုပ်ခြင်းကိုသာ လုပ်ဆောင်ပြီး ကုဒ်ကို ကိုယ်တိုင်မလုပ်ဆောင်ပါ။ - Executor/လက်ခံဆောင်ရွက်သည့် ကုဒ် (ဝန်ထမ်း)− မော်ဒယ်၏
tool_callsတောင်းဆိုချက်ကို ခွဲခြမ်းစိတ်ဖြာကာ သက်ဆိုင်ရာ function သို့မဟုတ် API ခေါ်ဆိုမှုကို အမှန်တကယ်လုပ်ဆောင်ပြီး ရလဒ်ကို ပြန်ပို့သည်။
၄။ ကိရိယာသတ်မှတ်ချက် (JSON Schema)
Schema သည် ကိရိယာ၏ “လက်စွဲစာအုပ်” ဖြစ်သည်။ အဓိကအချက်အလက်များမှာ−
- name− ကိရိယာ၏ ထူးခြားသော အမှတ်အသား။
- description− အလွန်အရေးကြီးသည်၊ မော်ဒယ်သည် ဤဖော်ပြချက်ကို လုံးလုံးအားကိုး၍ ကိရိယာကို ခေါ်ဆိုရန် ဆုံးဖြတ်သည်။ ဖော်ပြချက် ပိုရှင်းလင်းတိကျလေ၊ မော်ဒယ်၏ ဆုံးဖြတ်ချက် ပိုတိကျလေဖြစ်သည်။
- parameters− ကိရိယာအတွက် လိုအပ်သော parameter များနှင့် ၎င်းတို့၏ အမျိုးအစား၊ ဖော်ပြချက်၊ ကန့်သတ်ချက်များ (ဥပမာ enumeration တန်ဖိုးများ၊ မဖြစ်မနေ လိုအပ်မှု စသည်) ကို သတ်မှတ်သည်။
၅။ ခေါ်ဆိုမှု လုပ်ငန်းစဉ် အပြည့်အစုံ
ဆောင်းပါးသည် ရာသီဥတုမေးမြန်းသည့် ကုဒ်နမူနာတစ်ခုမှတစ်ဆင့် သုံးစွဲသူမေးခွန်းမှစတင်၍ ကိရိယာသတ်မှတ်ချက်များပါဝင်သော ပထမအကြိမ် မော်ဒယ်ခေါ်ဆိုမှု၊ မော်ဒယ်မှ tool_calls ပြန်ပို့မှု၊ ကုဒ်မှ function လုပ်ဆောင်မှု၊ ရလဒ်အား role: "tool" message အဖြစ် စကားဝိုင်းမှတ်တမ်းထဲသို့ ပြန်ထည့်မှု၊ နောက်ဆုံးတွင် မော်ဒယ်မှ သဘာဝဘာသာစကားဖြင့် အဖြေထုတ်လုပ်မှုအထိ လုပ်ငန်းစဉ်အပြည့်အစုံကို ပြသထားသည်။
၆။ အဆင့်မြင့်အင်္ဂါရပ်− ပြိုင်တူကိရိယာခေါ်ဆိုမှု
သုံးစွဲသူ၏မေးခွန်းကိုဖြေရန် ကိရိယာများစွာ ပူးပေါင်းလုပ်ဆောင်ရန် လိုအပ်သောအခါ (ဥပမာ မြို့အများအပြား၏ ရာသီဥတုကို တစ်ပြိုင်နက်မေးမြန်းခြင်း)၊ မော်ဒယ်သည် တစ်ကြိမ်တည်းသော တုံ့ပြန်မှုတွင် tool_calls အများအပြားပါဝင်သော စာရင်းကို ထုတ်လုပ်နိုင်သည်။ လက်ခံဆောင်ရွက်သည့် ကုဒ်သည် ဤခေါ်ဆိုမှုများကို ပြိုင်တူလုပ်ဆောင်နိုင်ပြီး ရလဒ်အားလုံးကို မော်ဒယ်သို့ ပေါင်းစပ်ရန်အတွက် တစ်ပြိုင်နက်ပြန်ပို့ကာ ထိရောက်မှုကို မြှင့်တင်ပေးသည်။
评论
暂无已展示的评论。
发表评论(匿名)