ai-agents-for-beginners

Multi-Agent Design

(ဤသင်ခန်းစာ၏ဗီဒီယိုကိုကြည့်ရန် အပေါ်တွင်ရှိသောပုံရိပ်ကို နှိပ်ပါ)

AI အေးဂျင့်များရှိ မီတာကော့ဂျီနီရှင်း

နိဒါန်း

AI အေးဂျင့်များ၏ မီတာကော့ဂျီနီရှင်းအကြောင်း သင်ခန်းစာမှကြိုဆိုပါတယ်! ဤအခန်းက AI အေးဂျင့်များ မိမိတို့၏ စဉ်းစားမှုဖြစ်စဉ်များအပေါ်တွင် စဉ်းစားနိုင်ပုံကို စိတ်ဝင်စားသော စတင်သူများအတွက် ဖန်တီးထားပါသည်။ သင်ခန်းစာအဆုံးတွင် သင်သည် အဓိကအယူအဆများကိုနားလည်ပြီး မီတာကော့ဂျီနီရှင်းကို AI အေးဂျင့်ဒီဇိုင်းတွင် အသုံးပြုနိုင်ရန် လက်တွေ့ဥပမာများနှင့် ပြင်ဆင်ပေးထားမည်။

သင်ယူရန်ရည်မှန်းချက်များ

ဤသင်ခန်းစာပြီးဆုံးမှုပြီးနောက်၊ သင်သည် အောက်ပါအရာများကို လုပ်ဆောင်နိုင်မည်။

  1. အေးဂျင့်သတ်မှတ်မှုများရှိ ရည်မှန်းချက်ပြေးလည်မှုများ၏ သက်ရောက်မှုများကို နားလည်မည်။
  2. ကိုယ်တိုင်ပြင်ဆင်နိုင်သော အေးဂျင့်များအတွက် စီမံကိန်းရေးဆွဲခြင်းနှင့် သုံးသပ်ခြင်းနည်းဗျူဟာများကို အသုံးပြုမည်။
  3. အလုပ်များကို ပြီးစီးနိုင်ရန် ကုဒ်ကို ထိန်းချုပ်နိုင်သော ကိုယ်ပိုင်အေးဂျင့်များ ဖန်တီးမည်။

မီတာကော့ဂျီနီရှင်းအကြောင်း အနှစ်ချုပ်

မီတာကော့ဂျီနီရှင်းဆိုသည်မှာ ကိုယ့်စဉ်းစားမှုအပေါ်တွင် စဉ်းစားခြင်းရဲ့ အဆင့်မြင့် စိတ်ပိုင်းဆိုင်ရာဖြစ်စဉ်များကို ဖော်ပြသည်။ AI အေးဂျင့်များအတွက် ဒါဟာ ကိုယ့်အမူအရာများကို ကိုယ်တိုင်အသိရှိခြင်းနှင့် ယခင်အတွေ့အကြုံများအပေါ် ချိန်ညှိပြင်ဆင်နိုင်ခြင်း ဖြစ်သည်။ “စဉ်းစားခြင်းအပေါ် စဉ်းစားခြင်း” ဟူသောမီတာကော့ဂျီနီရှင်းသည် အရေးပါတဲ့အယူအဆတစ်ခုဖြစ်ပြီး AI စနစ်များသည် မိမိတို့၏ အတွင်းစိတ်လုပ်ငန်းစဉ်များကို သတိထား နားလည်ခြင်းနှင့် မိမိအမူအရာများကို စောင့်ကြည့် အုပ်ချုပ် ညှိနှိုင်းခြင်း တို့ ကြိုတင်ပြင်ဆင်နိုင်ကြသည်။ တစ်ချို့ လူသားကဲ့သို့ ပတ်ဝန်းကျင်ကို ဖတ်ရှုခြင်း သို့မဟုတ် ပြဿနာကို ကြည့်ရှုခြင်းကဲ့သို့ပင်ဖြစ်သည်။ ၎င်း့ကိုယ်တိုင်အသိခြင်းက AI စနစ်များကို ဆုံးဖြတ်ချက်များ ပိုမိုကောင်းမွန်စေရန်၊ အမှားများကို ရှာဖွေရန်နှင့် ဖွံ့ဖြိုးတိုးတက်မှု ရရှိစေရန် ကူညီပေးနိုင်ပြီး - ထိုက်ရင်စမ်းသပ်မှုနှင့် AI အနာဂတ်အခြေအနေဆိုင်ရာ ဆွေးနွေးပွဲများကို ပြန်လည်ဆက်သွယ်ခြင်း ဖြစ်သည်။

Agentic AI စနစ်များအနေနှင့် မီတာကော့ဂျီနီရှင်းမှာ အောက်ပါ စိန်ခေါ်မှုများကို ဖြေရှင်းရာတွင် ကူညီနိုင်သည်၊

မီတာကော့ဂျီနီရှင်း란 무엇인가?

မီတာကော့ဂျီနီရှင်း၊ “စဉ်းစားခြင်းအပေါ်တွင် စဉ်းစားခြင်း” ဆိုသည်မှာ ကိုယ့်စိတ်လုပ်ငန်းစဉ်များအပေါ် ကိုယ်တိုင်အသိပညာနှင့် ကိုယ်တိုင်ထိန်းသိမ်းမှုရှိသောအထက်အဆင့် စိတ်ပိုင်းဆိုင်ရာဖြစ်စဉ်တစ်ခုဖြစ်သည်။ AI ခြေရာခံသူများအတွက် မီတာကော့ဂျီနီရှင်း သည် ရည်မှန်းချက်များနှင့် အမူအရာများကို သုံးသပ် လိုက်လျောညီထွေ ဖော်ဆောင်နိုင်စေရန် အခွင့်အလမ်းကို ပေးသည်။ ၎င်းက ပြဿနာများကို ဖြေရှင်းခြင်းနှင့် ဆုံးဖြတ်ချက်ခြင်း စွမ်းရည် ပိုမိုကောင်းမွန်စေရန် ဆက်လက်တိုးတက်မှုရှိစေသည်။ မီတာကော့ဂျီနီရှင်းကို နားလည်ခြင်းဖြင့် သင်သည် ပိုမိုထူးချွန်ပြီး နှိုင်းယှဉ်လိုက်နာနိုင်သော AI အေးဂျင့်များကို ဒီဇိုင်းဆွဲနိုင်မည်။ အမှန်တကယ် တရားဝင်မီတာကော့ဂျီနီရှင်းတွင် AI သည် မိမိ၏ ရည်မှန်းချက်အပေါ် သုံးသပ်ချက် ပြုလုပ်နေသည်ကို တွေ့ရမည်။

ဥပမာ - “ကျွန်တော်သည် စျေးသက်သာသည့် လေယာဉ်မြောက်တင်ခရီးများကို ဦးစားပေးခဲ့သည်၊ ဒါပေမယ့် တိုက်ရိုက်လေယာဉ်များကို မဖြစ်မနေမရောက်နိင်ပါက ထပ်မံစစ်ဆေးပါမည်။” ကိုယ့်အောက်ဖြစ်ပေါ်သည့် လမ်းကြောင်းနည်းလမ်းကို ဦးတည်ရွေးချယ်မှုအကြောင်း နားလည်ခြင်း။

AI အေးဂျင့်များရှိ မီတာကော့ဂျီနီရှင်း၏ အရေးပါချက်

မီတာကော့ဂျီနီရှင်းသည် AI အေးဂျင့်ဒီဇိုင်းတွင် အရေးပါတဲ့အခန်းကဏ္ဍ ပါဝင်သည်၊ အကြောင်းအရင်းတချို့ပါ။

Importance of Metacognition

AI အေးဂျင့်၏ အစိတ်အပိုင်းများ

မီတာကော့ဂျီနီရှင်းဖြစ်စဉ်များထဲသို့ ဝင်ရောက်မှုမပြုမီ AI အေးဂျင့်၏ အခြေခံအစိတ်အပိုင်းများကို နားလည်ထားရပါမည်။ AI အေးဂျင့်သည် အထူးသဖြင့် ပါဝင်သည်။

ဤအစိတ်အပိုင်းများသည် သတ်မှတ်ထားသော အလုပ်များ ကို ဆောင်ရွက်နိုင်သော “ကျွမ်းကျင်မှုအဖွဲ့” ကို ဖန်တီးရန်ပေါင်းစပ်လုပ်ဆောင်သည်။

ဥပမာ: ခရီးသွားအေးဂျင့်တစ်ဦးကို ဆင်ခြင်ပါ။ ၎င်းသည် သင့်အား ခရီးစဉ်စီမံခြင်းသာမက အချိန်နှင့် ယခင်ဧည့်သည်ခရီးအတွေ့အကြုံအပေါ် အခြေခံကာ လမ်းကြောင်းကို ပြင်ဆင်ပေးသည်။

ဥပမာ - ခရီးသွားအေးဂျင့်ဝန်ဆောင်မှုတွင် မီတာကော့ဂျီနီရှင်း

AI ဖြင့် ထောက်ပံ့ထားသော ခရီးသွားအေးဂျင့်ဝန်ဆောင်မှု တစ်ခုကို ဒီဇိုင်းဆွဲနေသည်ဟု စဉ်းစားပါ။ ၎င်းအေးဂျင့် “ခရီးသွားအေးဂျင့်” သည် အသုံးပြုသူအား ခရီးစဉ်စီမံရာတွင် ကူညီပေးသည်။ မီတာကော့ဂျီနီရှင်း ထည့်သွင်းရန် ခရီးသွားအေးဂျင့်သည် ကိုယ်တိုင်အသိရခြင်းနှင့် ယခင်အတွေ့အကြုံအပေါ် အခြေခံ၍ လုပ်ဆောင်ချက်များကို သုံးသပ် လိုက်လျောညီထွေ ပြင်ဆင်နိုင်ရန် လိုအပ်သည်။ ၎င်း ဟာ မီတာကော့ဂျီနီရှင်း အလုပ်လုပ်ပုံ အတိုင်း ဖြစ်နိုင်သည်။

လက်ရှိအလုပ်

လက်ရှိအလုပ်မှာ အသုံးပြုသူကို ပါရီခရီး စီမံရန် ကူညီခြင်းဖြစ်သည်။

အလုပ် ပြီးမြောက်ရေးအဆင့်များ

  1. အသုံးပြုသူနှင့် အစုလိုက် ရွေးချယ်ခြင်း: ခရီးစဉ်ရက်များ၊ ဘတ်ဂျက်၊ စိတ်ဝင်စားမှုများ(ဥပမာ၊ ပြတိုက်များ၊ အစားအသောက်၊ စျေးဝယ်ခြင်း)နှင့် အထူးတောင်းဆိုချက်ရှိပါက မေးမြန်းသည်။
  2. အချက်အလက် ရှာဖွေခြင်း: အသုံးပြုသူ၏ ရွေးချယ်မှုနှင့် ကိုက်ညီသော လေယာဉ်တာဝန်များ၊ နေအိမ်များ၊ အပန်းဖြေရာများနှင့်စားသောက်ဆိုင်များကို ရှာဖွေသည်။
  3. အကြံပြုချက် ထုတ်ပေးခြင်း: လေယာဉ်အသေးစိတ်များ၊ ဟိုတယ်ကြိုတင်ဘွတ်ကင်များနှင့် အကြံပြုသော လှုပ်ရှားမှုများ ပါဝင်သည့် ကိုယ်ပိုင်ခရီးစဉ်ကို ပေးသည်။
  4. တုံ့ပြန်ချက်အပေါ် အခြေခံ၍ ပြင်ဆင်ခြင်း: အကြံပြုချက်များအပေါ် အသုံးပြုသူ၏ တုံ့ပြန်ချက်ကို မေးမြန်းပြီး လိုအပ်သော ပြင်ဆင်မှုများ ပြုလုပ်သည်။

လိုအပ်သော အရင်းအမြစ်များ

အတွေ့အကြုံနှင့် ကိုယ်တိုင်ပြန်လည်သုံးသပ်ခြင်း

ခရီးသွားအေးဂျင့်သည် မီတာကော့ဂျီနီရှင်းကို အသုံးပြု၍ မိမိလုပ်ဆောင်မှုများကို သုံးသပ်ကာ ယခင်အတွေ့အကြုံမှ သင်ယူသည်။ ဥပမာ -

  1. အသုံးပြုသူတုံ့ပြန်ချက်ကို ခွဲခြမ်းစိတ်ဖြာခြင်း: ခရီးသွားအေးဂျင့်သည် ဘယ်အကြံပြုချက်များက ပိုမိုကြိုက်နှစ်သက်ခဲ့ပြီး မကြိုက်နှစ်သက်ခဲ့ကြောင်းကို သုံးသပ်သည်။ ဆက်လက်အသုံးပြုရန် အကြံပြုချက်များကို ပြင်ဆင်သည်။
  2. ညှိနှိုင်းနိုင်မှု: အသုံးပြုသူ တစ်ဦးက လူများအတက်အကျ မကြိုက်တယ်ပြောခဲ့ရင် ခရီးသွားအေးဂျင့်သည် အနာဂတ်တွင် လူများအများဆုံနေသော ခရီးသွားနေရာများအား မအကြံပြုပါ။
  3. အမှားပြင်ဆင်မှု: ခရီးသွားအေးဂျင့် အစီအစဉ်မှာဘာဝ ကျန်ရှိနေသော ဟိုတယ်ကို အကြံပြုခဲ့ပါက၊ အဝရမ်းဆုံး ကြည့်ပြီးမှ အကြံပြုရန် သင်ယူသည်။

လက်တွေ့ အထောက်အကူပြု မိတ်ဆက်ချက်

ခရီးသွားအေးဂျင့်၏ ကုဒ်အပိုင်းကို မီတာကော့ဂျီနီရှင်း ပါဝင်သည့် နည်းလမ်းဖြင့် မူလအတိုင်း ပုံဆွဲကြည့်ပါ။

class Travel_Agent:
    def __init__(self):
        self.user_preferences = {}
        self.experience_data = []

    def gather_preferences(self, preferences):
        self.user_preferences = preferences

    def retrieve_information(self):
        # ဦးစားပေးချက်အရ လေကြောင်းလက်မှတ်၊ ဟိုတယ်များနှင့် ဆွဲဆောင်မှုများကို ရှာဖွေပါ
        flights = search_flights(self.user_preferences)
        hotels = search_hotels(self.user_preferences)
        attractions = search_attractions(self.user_preferences)
        return flights, hotels, attractions

    def generate_recommendations(self):
        flights, hotels, attractions = self.retrieve_information()
        itinerary = create_itinerary(flights, hotels, attractions)
        return itinerary

    def adjust_based_on_feedback(self, feedback):
        self.experience_data.append(feedback)
        # တုံ့ပြန်ချက်များကို သုံးသပ်ပြီး နောင်လာမည့် အကြံပြုချက်များကို ပြင်ဆင်ပါ
        self.user_preferences = adjust_preferences(self.user_preferences, feedback)

# အသုံးပြုမှု ဥပမာ
travel_agent = Travel_Agent()
preferences = {
    "destination": "Paris",
    "dates": "2025-04-01 to 2025-04-10",
    "budget": "moderate",
    "interests": ["museums", "cuisine"]
}
travel_agent.gather_preferences(preferences)
itinerary = travel_agent.generate_recommendations()
print("Suggested Itinerary:", itinerary)
feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
travel_agent.adjust_based_on_feedback(feedback)

မီတာကော့ဂျီနီရှင်း အရေးပါလို့

မီတာကော့ဂျီနီရှင်း ထည့်သွင်းခြင်းဖြင့် ခရီးသွားအေးဂျင့်သည် ပိုမိုကိုယ်ပိုင်မြင်သာမှုရှိပြီး တိကျမှန်ကန်သော ခရီးစဥ်အကြံပြုချက်များပေးနိုင်မည်ဖြစ်၍ အသုံးပြုသူအတွေ့အကြုံ ပိုမိုကောင်းမွန်စေပါသည်။


၂။ အေးဂျင့်များတွင် စီမံကိန်းရေးဆွဲခြင်း

စီမံကိန်းရေးဆွဲခြင်းသည် AI အေးဂျင့် လုပ်ဆောင်မှု၌ အရေးပါတဲ့ အစိတ်အပိုင်းတစ်ခုဖြစ်သည်။ ၎င်းသည် ရည်မှန်းချက်ရောက်ရှိရန်လိုအပ်သည့်အဆင့်များကို ရေးဆွဲခြင်းနှင့် လက်ရှိအခြေအနေ၊ အရင်းအမြစ်များ၊ အတားအဆီးများကို စဉ်းစားခြင်းဖြစ်သည်။

စီမံကိန်းရေးဆွဲမှု၏ အစိတ်အပိုင်းများ

ဥပမာ: ခရီးသွားအေးဂျင့်သည် အသုံးပြုသူ၏ ခရီးစဉ်ကို ထိရောက်စွာ စီမံရန် လုပ်ဆောင်ရန်အဆင့်များမှာ အောက်ပါအတိုင်းဖြစ်သည်။

ခရီးသွားအေးဂျင့် အတွက် အဆင့်များ

  1. အသုံးပြုသူ ရွေးချယ်ချက်များစုစည်းခြင်း
    • ခရီးစဉ်ရက်များ၊ ဘတ်ဂျက်၊ စိတ်ဝင်စားမှုများနှင့် ထူးခြားသော တောင်းဆိုချက်များအကြောင်း အသုံးပြုသူထံ မေးမြန်းပါ။
    • ဥပမာများ: “ခရီးသွားမည့်ရက်များ ဘယ်အချိန်လဲ?” “ဘတ်ဂျက်က ဘယ်လောက်လဲ?” “ခရီးစဉ်အတွင်း ဘာလုပ်ချင်လဲ?”
  2. အချက်အလက် ရှာဖွေခြင်း
    • အသုံးပြုသူ ရွေးချယ်ချက်များအပေါ်အခြေခံ၍ သက်ဆိုင်ရာ ခရီးစဉ်ရွေးချယ်မှုများ ရှာဖွေပါ။
    • လေယာဉ်ပျံခရီးများ: အသုံးပြုသူ၏ ဘတ်ဂျက်နှင့် ခရီးသွားရက်များနှင့် ကိုက်ညီသော လေယာဉ်များ ရှာပါ။
    • နေရာများ: တည်နေရာ၊ စျေးနှုန်းနှင့် စိတ်ကြိုက်အသုံးပြုနိုင်မှုများကို ကိုက်ညီတဲ့ ဟိုတယ်များ သို့မဟုတ် ငှားရမ်းနေထိုင်ခွင့်များ ရှာပါ။
    • အပန်းဖြေရာများနှင့် စားသောက်ဆိုင်များ: အသုံးပြုသူစိတ်ဝင်စားမှုများနှင့် ကိုက်ညီသော လူကြိုက်များသော နေရာများ၊ လှုပ်ရှားမှုများနှင့် အစားအစာရွေးချယ်မှုများ ရှာပါ။
  3. အကြံပြုချက် ထုတ်ပေးခြင်း
    • ရှာဖွေထားသော အချက်အလက်များကို ကိုယ်ပိုင်ခရီးစဉ်အဖြစ် စုစည်းပေးပါ။
    • လေယာဉ်ရွေးချယ်မှုများ၊ ဟိုတယ်ဘွတ်ကင်များနှင့် အကြံပြု လှုပ်ရှားမှုများအနက်မှ အသုံးပြုသူစိတ်ကြိုက်အပ်နှံချက်များအလိုက် ထောက်ပံ့ပေးပါ။
  4. ခရီးစဉ်ကို အသုံးပြုသူထံ အကြံပြုပေးခြင်း
    • အသုံးပြုသူအား အဆိုပါ ခရီးစဉ်ကို ပြသပြီး ပြန်လည်သုံးသပ်စေပါ။
    • ဥပမာ: “သင့် ပါရီခရီးအတွက် အကြံပြုခရီးစဉ် ဖြစ်ပါတယ်။ လေယာဉ်အသေးစိတ်၊ ဟိုတယ်ကြိုတင်ဘွတ်ကင်များနှင့် အကြံပြုလှုပ်ရှားမှုများ ပါဝင်သည်။ သင့်အတွေးမ့်ချက် အကြောင်း ပြောပြပါ။”
  5. တုံ့ပြန်ချက် စုဆောင်းခြင်း
    • သတ်မှတ်ထားသော ခရီးစဉ်အပေါ် အသုံးပြုသူအကြံပြုချက်များကို မေးမြန်းပါ။
    • ဥပမာများ: “လေယာဉ်ရွေးချယ်မှုကို ကြိုက်ပါသလား?” “ဟိုတယ်ဟာ သင့်လိုအပ်ချက်နှင့် ကိုက်ညီပါသလား?” “အသစ်ထည့်ချင်တဲ့ လှုပ်ရှားမှုများ ရှိပါသလား?”
  6. တုံ့ပြန်ချက်အပေါ်အခြေခံ ပြင်ဆင်ခြင်း
    • အသုံးပြုသူတုံ့ပြန်ချက်များအပေါ်မူတည်၍ ခရီးစဉ်ကို ပြင်ဆင်ပါ။
    • လေယာဉ်၊ နေရာ ပေးအပ်မှုနှင့် လှုပ်ရှားမှုအကြံပြုချက်များကို အသုံးပြုသူစိတ်ကြိုက်သွားအောင်ပြင်ဆင်ပါ။
  7. နောက်ဆုံး အတည်ပြုချက်
    • အသုံးပြုသူအား ပြင်ဆင်ပြီးသော ခရီးစဉ်ကို ပြသကာ နောက်ဆုံးအတည်ပြုမှု မေးမြန်းပါ။
    • ဥပမာ: “သင့်တုံ့ပြန်ချက်များအပေါ် အခြေခံပြီး ပြင်ဆင်ခဲ့သည်။ ခရီးစဉ်အသစ်ကို ကြည့်ပါ။ အားလုံးက တွက်ချက်သင့်သလား?”
  8. ဘွတ်ကင်ထားမှုများ သတ်မှတ်ခြင်းနှင့် အတည်ပြုခြင်း
    • အသုံးပြုသူသည် ခရီးစဉ်ကို အတည်ပြုလျှင် လေယာဉ်၊ နေရာများနှင့် ကြိုတင်အစီအစဉ်များကို ဘွတ်ကင်ထိုးပါ။
    • အတည်ပြုချက်အသေးစိတ်များကို အသုံးပြုသူထံ ပို့ပေးပါ။
  9. ဆက်လက် အထောက်အကူပြုခြင်း
    • ခရီးမပြုမီနှင့် ခရီးသွားစဉ်အတွင်း အသုံးပြုသူ၏ ပြောင်းလဲမှုများ သို့မဟုတ် ထပ်ဆောင်းတောင်းဆိုချက်များအတွက် ရန်ပုံငွေအကူအညီ ပေးနိုင်ရန် ရှိနေပါ။
    • ဥပမာ: “ခရီးသွားစဉ်အတွင်း အကူအညီလိုပါက၊ ဘယ်အချိန်မဆို ဆက်သွယ်နိုင်ပါတယ်!”

ဥပမာ ဆက်သွယ်မှု

class Travel_Agent:
    def __init__(self):
        self.user_preferences = {}
        self.experience_data = []

    def gather_preferences(self, preferences):
        self.user_preferences = preferences

    def retrieve_information(self):
        flights = search_flights(self.user_preferences)
        hotels = search_hotels(self.user_preferences)
        attractions = search_attractions(self.user_preferences)
        return flights, hotels, attractions

    def generate_recommendations(self):
        flights, hotels, attractions = self.retrieve_information()
        itinerary = create_itinerary(flights, hotels, attractions)
        return itinerary

    def adjust_based_on_feedback(self, feedback):
        self.experience_data.append(feedback)
        self.user_preferences = adjust_preferences(self.user_preferences, feedback)

# booing အဆိုပြုချက်အတွင်းတွင် ဥပမာအသုံးပြုမှု
travel_agent = Travel_Agent()
preferences = {
    "destination": "Paris",
    "dates": "2025-04-01 to 2025-04-10",
    "budget": "moderate",
    "interests": ["museums", "cuisine"]
}
travel_agent.gather_preferences(preferences)
itinerary = travel_agent.generate_recommendations()
print("Suggested Itinerary:", itinerary)
feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
travel_agent.adjust_based_on_feedback(feedback)

၃။ ပြင်ဆင်မှုအတွက် RAG စနစ်

စတင်ရန် RAG ကိရိယာနှင့် ကြိုတင်Context Load ကြားကွာခြားချက်ကို နားလည်ကြမည်။

RAG vs Context Loading

ရှာဖွေရန် အသုံးပြုမှုမြှင့်တင်ထားသော ထုတ်လုပ်မှု (RAG)

RAG သည် ရှာဖွေမှု စနစ်နှင့် ထုတ်လုပ်မှု ပုံစံ တစ်ခုကို ပေါင်းစပ်ထားသည်။ မေးခွန်းတစ်ခု မေးသောအခါ ရှာဖွေမှုစနစ်သည် ပြင်ပအချက်အလက်များမှ စာတမ်းများ သို့ ဒေတာများကို ရယူပြီး ထိုရယူထားသော အချက်အလက်ကို ထုတ်လုပ်မှုပုံစံထဲသို့ ထည့်သွင်းကူညီသည်။ ၎င်းက ပိုမိုတိကျ၍ စာနယ်ဇင်းကျကျသော ဝေဖန်ချက်များ ထုတ်ပေးနိုင်စေသည်။

RAG စနစ်တွင် AI အေးဂျင့်သည် သိမြင်မှုအရင်းအမြစ်မှ သတင်းအချက်အလက်များ ရယူကာ အသုံးပြုပြီး သင့်တော်သော ပြန်လည်တုံ့ပြန်ချက်များ သို့ မူဝါဒများ ထုတ်လုပ်သည်။

ပြင်ဆင်မှုအတွက် RAG နည်းလမ်း

ပြင်ဆင်မှုအတွက် RAG နည်းလမ်းသည် RAG နည်းပညာများကို အသုံးပြုကာ AI အေးဂျင့်များ၏ မှားယွင်းချက်များကို ပြင်ဆင်ရန်နှင့် တိကျမှန်ကန်မှု တိုးတက်စေရန် အာရုံစိုက်သည်။ ၎င်းတွင် ပါဝင်သည်-

  1. အကြောင်းအရင်း prompt နည်းလမ်း: AI အေးဂျင့်ကို သက်ဆိုင်သော အချက်အလက်ရယူရန် ညွှန်ကြားခြင်း။
  2. ကိရိယာ: ရရှိထားသည့် အချက်အလက်သက်ဆိုင်မှုကို သုံးသပ်ကာ တိကျမှန်ကန်သော ပြန်လည်တုံ့ပြန်မှု ထုတ်ဝေခြင်းအတွက် စက်ကိရိယာနှင့် အယ်လ်ဂိုရီသမ်များ အသုံးပြုခြင်း။
  3. သုံးသပ်ခြင်း: AI အေးဂျင့်၏ လုပ်ဆောင်ချက်ကို ဆက်လက်သုံးသပ်ကာ တိကျမှန်ကန်မှုနှင့် ထိရောက်မှု တိုးတက်စေရန် ပြင်ဆင်မှုများ ပြုလုပ်ခြင်း။

ဥပမာ - ရှာဖွေမှုအေးဂျင့်၌ ပြင်ဆင်မှုအတွက် RAG

အသုံးပြုသူ ရှာဖွေမေးခွန်းများကို ဖြေရန် ဝက်ဘ်မှ အချက်အလက် ရယူသော ရှာဖွေမှုအေးဂျင့်တစ်ခုကို စဉ်းစားပါ။ ပြင်ဆင်မှုအတွက် RAG နည်းလမ်းသည်-

  1. အကြောင်းအရင်း prompt နည်းလမ်း: အသုံးပြုသူ၏အချက်အလက်အပေါ် အခြေခံကာ ရှာဖွေမေးခွန်းများ ဖန်တီးသည်။
  2. ကိရိယာ: သဘာဝဘာသာစကား လုပ်ငန်းစဉ်နှင့် စက်မှုသင်ယူမှု အယ်လ်ဂိုရီသမ်များကို အသုံးပြုကာ ရှာဖွေမှုရလဒ်များအား အဆင့်သတ်မှတ်ခြင်းနှင့် စစ်ထုတ်ခြင်း ပြုလုပ်သည်။
  3. သုံးသပ်ခြင်း: အသုံးပြုသူ တုံ့ပြန်ချက်များအား ခွဲခြမ်းစိတ်ဖြာကာ ရရှိထားသည့် သတင်းအချက်အလက်များရှိ မမှန်ကန်မှုများကို ရှာဖွေပြုပြင်သည်။

ခရီးသွားအေးဂျင့်တွင် ပြင်ဆင်မှုအတွက် RAG

ပြင်ဆင်မှုအတွက် RAG (Retrieval-Augmented Generation) သည် AI ၏ အချက်အလက် ရယူခြင်းနှင့် ထုတ်လုပ်ခြင်းစွမ်းရည်များကို မြှင့်တင်ရေးနှင့် မှားယွင်းမှုများကို ပြင်ဆင်ရန် အသုံးပြုသည်။ ခရီးသွားအေးဂျင့်သည် ပိုမိုတိကျမှန်ကန်သော ခရီးစဉ်အကြံပြုချက်များ ပေးရန် ပြင်ဆင်မှုအတွက် RAG နည်းလမ်းကို မည်သို့ အသုံးပြုမည်ကို ကြည့်ရှုကြရအောင်။

၎င်းတွင်ပါဝင်သည်-

ခရီးသွားအေးဂျင့်တွင် ပြင်ဆင်မှုအတွက် RAG ဆောင်ရွက်ခြင်း အဆင့်များ

  1. အစပိုင်း အသုံးပြုသူ ဆက်သွယ်မှု
    • ခရီးသွားအေးဂျင့်သည် အသုံးပြုသူထံမှ ၎င်းတို့ စိတ်ကြိုက် ဆွဲဆောင်မှုများ၊ ခရီးသွား ရက်စွဲများ၊ ဘတ်ဂျက်နှင့် စိတ်ဝင်စားမှုများ စုဆောင်းသည်။
    • ဥပမာ:

      preferences = {
          "destination": "Paris",
          "dates": "2025-04-01 to 2025-04-10",
          "budget": "moderate",
          "interests": ["museums", "cuisine"]
      }
      
  2. အချက်အလက် ရယူခြင်း
    • ခရီးသွားအေးဂျင့်သည် အသုံးပြုသူ ရွေးချယ်မှုများအပေါ် အခြေခံ၍ လေယာဉ်၊ နေရာထိုင်ခုံ၊ အပန်းဖြေရာများနှင့် စားသောက်ဆိုင်များအကြောင်း ရယူသည်။
    • ဥပမာ:

      flights = search_flights(preferences)
      hotels = search_hotels(preferences)
      attractions = search_attractions(preferences)
      
  3. အစပိုင်း အကြံပြုချက် ထုတ်ပေးခြင်း
    • ခရီးသွားအေးဂျင့်သည် ရရှိထားသည့် အချက်အလက်ကို အသုံးပြုကာ ကိုယ်ပိုင် ခရီးစဉ် စီမံချက် ထုတ်ပေးသည်။
    • ဥပမာ:

      itinerary = create_itinerary(flights, hotels, attractions)
      print("Suggested Itinerary:", itinerary)
      
  4. အသုံးပြုသူ တုံ့ပြန်ချက် စုဆောင်းခြင်း
    • ခရီးသွားအေးဂျင့်သည် အစပိုင်း အကြံပြုချက်များအပေါ် အသုံးပြုသူ၏ တုံ့ပြန်ချက်များကို စုဆောင်းသည်။
    • ဥပမာ:

      feedback = {
          "liked": ["Louvre Museum"],
          "disliked": ["Eiffel Tower (too crowded)"]
      }
      
  5. ပြင်ဆင်မှုအတွက် RAG လုပ်ထုံးလုပ်နည်း
    • အကြောင်းအရင်း prompt နည်းလမ်း: အသုံးပြုသူတုံ့ပြန်ချက်အပေါ် မူတည်၍ ခရီးသွားအေးဂျင့်သည် ရှာဖွေမေးခွန်းအသစ်များ ဖန်တီးသည်။
      • ဥပမာ:

        if "disliked" in feedback:
            preferences["avoid"] = feedback["disliked"]
        
    • ကိရိယာ: ခရီးသွားအေးဂျင့်သည် အသုံးပြုသူတုံ့ပြန်ချက်အပေါ် အခြေခံ၍ ရှာဖွေမှု ရလဒ်အသစ်များ အဆင့်သတ်မှတ်ခြင်းနှင့် စစ်ထုတ်ခြင်း ပြုလုပ်သည်။
      • ဥပမာ:

        new_attractions = search_attractions(preferences)
        new_itinerary = create_itinerary(flights, hotels, new_attractions)
        print("Updated Itinerary:", new_itinerary)
        
    • သုံးသပ်မှု: ခရီးသွားအေးဂျင့်သည် အသုံးပြုသူတုံ့ပြန်ချက်များကို ခွဲခြမ်းစိတ်ဖြာကာ အကြံပြုချက်များ၏ သက်ဆိုင်မှုနှင့် တိကျမှန်ကန်မှုကို ဆက်လက်သုံးသပ် ပြင်ဆင်သည်။
      • ဥပမာ:

        def adjust_preferences(preferences, feedback):
            if "liked" in feedback:
                preferences["favorites"] = feedback["liked"]
            if "disliked" in feedback:
                preferences["avoid"] = feedback["disliked"]
            return preferences
        
        preferences = adjust_preferences(preferences, feedback)
        

လက်တွေ့ဥပမာ

ခရီးသွားအေးဂျင့်တွင် ပြင်ဆင်မှုအတွက် RAG နည်းလမ်း ထည့်သွင်းထားသည့် Python ကုဒ် ပုံစံ လျှော့ချထားသော ဥပမာ။

class Travel_Agent:
    def __init__(self):
        self.user_preferences = {}
        self.experience_data = []

    def gather_preferences(self, preferences):
        self.user_preferences = preferences

    def retrieve_information(self):
        flights = search_flights(self.user_preferences)
        hotels = search_hotels(self.user_preferences)
        attractions = search_attractions(self.user_preferences)
        return flights, hotels, attractions

    def generate_recommendations(self):
        flights, hotels, attractions = self.retrieve_information()
        itinerary = create_itinerary(flights, hotels, attractions)
        return itinerary

    def adjust_based_on_feedback(self, feedback):
        self.experience_data.append(feedback)
        self.user_preferences = adjust_preferences(self.user_preferences, feedback)
        new_itinerary = self.generate_recommendations()
        return new_itinerary

# နမူနာသုံးစွဲမှု
travel_agent = Travel_Agent()
preferences = {
    "destination": "Paris",
    "dates": "2025-04-01 to 2025-04-10",
    "budget": "moderate",
    "interests": ["museums", "cuisine"]
}
travel_agent.gather_preferences(preferences)
itinerary = travel_agent.generate_recommendations()
print("Suggested Itinerary:", itinerary)
feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
new_itinerary = travel_agent.adjust_based_on_feedback(feedback)
print("Updated Itinerary:", new_itinerary)

ကြိုတင် Context Load

Pre-emptive Context Load ဆိုတာက ဆွေးနွေးချက်တစ်ခုကို ကိုင်တွယ်မယ့်အရင်မှာ ဆက်စပ်တဲ့ context သို့မဟုတ် နောက်ခံအချက်အလက်တွေကို မော်ဒယ်ထဲမှာထည့်သွင်းထားတာကို ဆိုလိုတယ်။ ဒါက မော်ဒယ်ကို ဒီအချက်အလက်တွေကို စတင်တွင်အောက်စရာရှိစရာမလိုဘဲ အသုံးပြုနိုင်စေပြီး သိရှိအားထုတ်ပြီး တုံ့ပြန်ချက်ပိုမှန်ကန်စေတယ်။

Python မှာ အလုပ်လုပ်တဲ့ ခရီးသွားအေးဂျင့်စီအတွက် pre-emptive context load က ဘယ်လိုလုပ်မယ်ဆိုတဲ့ ရိုးရိုးရှင်းရှင်း ဥပမာတစ်ခုက ဒီမှာရှိတယ်။

class TravelAgent:
    def __init__(self):
        # လူကြိုက်များသော ခရီးဆောင်များနှင့်၎င်းတို့၏ သတင်းအချက်အလက်များကို ကြိုတင်ပြီးစောင့်ဆောင်ပါ
        self.context = {
            "Paris": {"country": "France", "currency": "Euro", "language": "French", "attractions": ["Eiffel Tower", "Louvre Museum"]},
            "Tokyo": {"country": "Japan", "currency": "Yen", "language": "Japanese", "attractions": ["Tokyo Tower", "Shibuya Crossing"]},
            "New York": {"country": "USA", "currency": "Dollar", "language": "English", "attractions": ["Statue of Liberty", "Times Square"]},
            "Sydney": {"country": "Australia", "currency": "Dollar", "language": "English", "attractions": ["Sydney Opera House", "Bondi Beach"]}
        }

    def get_destination_info(self, destination):
        # ကြိုတင်စောင့်ဆောင်ထားသော အကြောင်းအရာမှ ခရီးဆောင်အချက်အလက်များကို ယူပါ
        info = self.context.get(destination)
        if info:
            return f"{destination}:\nCountry: {info['country']}\nCurrency: {info['currency']}\nLanguage: {info['language']}\nAttractions: {', '.join(info['attractions'])}"
        else:
            return f"Sorry, we don't have information on {destination}."

# ဥပမာ အသုံးပြုမှု
travel_agent = TravelAgent()
print(travel_agent.get_destination_info("Paris"))
print(travel_agent.get_destination_info("Tokyo"))

ရှင်းလင်းချက်

  1. Initialization (__init__ method): TravelAgent အတန်းက Paris, Tokyo, New York, Sydney စတဲ့ လူကြိုက်များတဲ့ ခရီးသွားနေရာတွေ့အကြောင်း အချက်အလက်ရှိတဲ့ dictionary တစ်ခုကို ကြိုတင်တင်သွင်းထားတယ်။ ဒီ dictionary မှာ နိုင်ငံ, ငွေကြေး, ဘာသာစကားနဲ့ အဓိကဆွဲဆောင်မှုပစ္စည်းတွေပါဝင်တယ်။

  2. Retrieving Information (get_destination_info method): အသုံးပြုသူက တိကျတဲ့ခရီးသွားနေရာအပေါ် မေးမြန်းတဲ့အခါ get_destination_info method က ကြိုတင်တင်ထားတဲ့ context dictionary ကနေ သက်ဆိုင်ရာ အချက်အလက်တွေကို ဆွဲထုတ်ပေးတယ်။

Context ကို ကြိုတင်တင်သွင်းထားလို့ ခရီးသွားအေးဂျင့်အက်ပလီကေးရှင်းက အသုံးပြုသူမေးခွန်းတွေကို အချိန်ပြည့်ပြည့် အပြင်ကနေ သတင်းအချက်အလက်ရှာဖွေစရာမလိုပဲ လျင်မြန်စွာ တုံ့ပြန်နိုင်တယ်။ ဒါက အက်ပလီကေးရှင်းကို ပိုထိရောက်ပြီး မျက်မှောက်ဖြေရှင်းမှုကောင်းစေတယ်။

အဓိကရည်မှန်းချက်နဲ့ အစပေးပြီး အကြိမ်မရွေးလုပ်ခြင်း

ရည်မှန်းချက်တစ်ခုကို သတ်မှတ်ပြီး စတင်ခြင်းဆိုတာ ရှင်းလင်းတဲ့ အဓိကရည်မှန်းချက် သို့မဟုတ် ရလဒ်တစ်ခုကို စတင်ထားခြင်းကို ဆိုလိုတယ်။ ဒီရည်မှန်းချက်ကို မူတည်ပြီး မော်ဒယ်က အကြိမ်ရေဖြတ်တောက်စဉ်အတွင်း လမ်းညွှန်နည်းဖြစ်ကြောင်း အသုံးပြုပြီး အကြိမ်တိုင်းရည်မှန်းချက်ဆီ နီးကပ်လာစေရန် ကူညီတယ်။ ဒါက ဖြစ်စဉ်ကို ပိုထိရောက်မြန်ဆန်နဲ့ ရည်မှန်းချက်လမ်းညွှန်ထားစေတယ်။

ခရီးသွားအေးဂျင့်အတွက် ရည်မှန်းချက်နဲ့ အစပေးပြီး အကြိမ်များလုပ်ရာ Python မှာ ဘယ်လိုလုပ်မလဲ ဆိုတဲ့ ဥပမာက ဒီမှာရှိတယ်။

အခြေအနေ

ခရီးသွားအေးဂျင့်တစ်ဦးက ဧည့်သည်အတွက် ကိုယ်ပိုင် vacation အစီအစဉ်ကို စီမံချင်တယ်။ ရည်မှန်းချက်က ဧည့်သည်ရဲ့ စိတ်ကျေနပ်မှုကို သူဌေးစိတ်ဝင်စားမှုနဲ့ ဘတ်ဂျက်အရ အများဆုံးရရှိစေရန် ခရီးစဉ်တစ်ခု ဖန်တီးတာဖြစ်တယ်။

အဆင့်များ

  1. ဧည့်သည်ရဲ့ စိတ်ဝင်စားမှုနဲ့ ဘတ်ဂျက်ကို သတ်မှတ်ပါ။
  2. ဒီစိတ်ဝင်စားမှုအပေါ် မူတည်ပြီး အစောပိုင်းအစီအစဉ်ကို bootstrap လုပ်ပါ။
  3. အစီအစဉ်ကို တိုးတက်အောင် အကြိမ်တိုင်း ပြုပြင်သွားပါ။

Python ကုဒ်

class TravelAgent:
    def __init__(self, destinations):
        self.destinations = destinations

    def bootstrap_plan(self, preferences, budget):
        plan = []
        total_cost = 0

        for destination in self.destinations:
            if total_cost + destination['cost'] <= budget and self.match_preferences(destination, preferences):
                plan.append(destination)
                total_cost += destination['cost']

        return plan

    def match_preferences(self, destination, preferences):
        for key, value in preferences.items():
            if destination.get(key) != value:
                return False
        return True

    def iterate_plan(self, plan, preferences, budget):
        for i in range(len(plan)):
            for destination in self.destinations:
                if destination not in plan and self.match_preferences(destination, preferences) and self.calculate_cost(plan, destination) <= budget:
                    plan[i] = destination
                    break
        return plan

    def calculate_cost(self, plan, new_destination):
        return sum(destination['cost'] for destination in plan) + new_destination['cost']

# နမူနာ အသုံးပြုခြင်း
destinations = [
    {"name": "Paris", "cost": 1000, "activity": "sightseeing"},
    {"name": "Tokyo", "cost": 1200, "activity": "shopping"},
    {"name": "New York", "cost": 900, "activity": "sightseeing"},
    {"name": "Sydney", "cost": 1100, "activity": "beach"},
]

preferences = {"activity": "sightseeing"}
budget = 2000

travel_agent = TravelAgent(destinations)
initial_plan = travel_agent.bootstrap_plan(preferences, budget)
print("Initial Plan:", initial_plan)

refined_plan = travel_agent.iterate_plan(initial_plan, preferences, budget)
print("Refined Plan:", refined_plan)

ကုဒ်ရှင်းလင်းချက်

  1. Initialization (__init__ method): TravelAgent အတန်းကို အပိုင်းအစသော ခရီးသွားနေရာစာရင်းနဲ့ စတင်တည်ဆောက်တယ်၊ နေရာတစ်ခုချင်းစီမှာ နာမည်၊ စရိတ်၊ ဖျော်ဖြေရေးအမျိုးအစား အချက်အလက်တွေ ပါတယ်။

  2. Bootstrapping the Plan (bootstrap_plan method): ဒီ method က ဧည့်သည်ရဲ့ စိတ်ဝင်စားမှုနဲ့ ဘတ်ဂျက်အပေါ်မူတည်ပြီး အစီအစဉ်အစ ကို ဖန်တီးတယ်။ နေရာစာရင်းကို စစ်ပြီး ဧည့်သည်စိတ်ဝင်စားမှုနှင့် ကိုက်ညီပြီး ဘတ်ဂျက်ထဲကျသင့်တာတွေကို အစီအစဉ်ထဲ ထည့်တယ်။

  3. Matching Preferences (match_preferences method): ဒီ method က နေရာတစ်ခုဟာ ဧည့်သည်ရဲ့ စိတ်ဝင်စားမှုနဲ့ ကိုက်ညီကြောင်း စစ်ဆေးတယ်။

  4. Iterating the Plan (iterate_plan method): ဒီ method က အစီအစဉ်ထဲ နေရာတိုင်းကို ဧည့်သည်စိတ်ဝင်စားမှုနဲ့ ဘတ်ဂျက်ကန့်သတ်ချက်တွေနဲ့ ပိုကောင်းတဲ့ နေရာနဲ့ အစားထိုးဖို့ ကြိုးစားပြီး အစီအစဉ် မြှင့်တင်တယ်။

  5. Calculating Cost (calculate_cost method): ဒီ method က လက်ရှိအစီအစဉ်ရဲ့ စုစုပေါင်းစရိတ်ကို နေရာအသစ်တစ်ခု ပေါင်းထည့်ပြီးတွက်ပေးတယ်။

အသုံးပြုခြင်း ဥပမာ

ရည်မှန်းချက်ရှင်းလင်းတာ (ဥပမာ ဧည့်သည်စိတ်ကျေနပ်မှု အများဆုံးရရှိစေခြင်း) နဲ့ အစပေးပြီး အကြိမ်တိုင်း ပြုပြင်ခြင်းတို့က ခရီးသွားအေးဂျင့််ကို ဧည့်သည်ရဲ့ သီးသန့် ဘက်ဂျက်နဲ့ စိတ်ဝင်စားမှုအလိုက် အကောင်းဆုံး ခရီးစဉ်တစ်ခု ဖန်တီးပေးနိုင်စေတယ်။ ဒီနည်းလမ်းက ခရီးစဉ်ကို စတင်ဆုံးမှ ဧည့်သည်စိတ်ဝင်စားမှုနဲ့ ဘတ်ဂျက်နဲ့ ကိုက်ညီအောင် လုပ်ပေးပြီး အကြိမ်တိုင်းတိုးတက်တယ်။

Reranking နဲ့ Scoring အတွက် LLM အား အသုံးချခြင်း

အကြီးစားဘာသာစကားမော်ဒယ်တွေ (LLM) ကို reranking နဲ့ scoring အတွက် အသုံးပြုနိုင်ပြီး ရှာဖွေတွေ့ရှိထားတဲ့စာရွက်စာတမ်းတွေ သို့မဟုတ် ရရှိထားတဲ့ဖြေရှင်းချက်တွေ အကြောင်းအသေးစိတ်နဲ့ အရည်အသွေး တွက်ချက်ပေးနိုင်တယ်။ ဒီအတိုင်း လုပ်ဆောင်ပုံက ဒီလိုဖြစ်တယ်။

ရှာဖွေခြင်း: စတင်လှုပ်ရှားချက်မှာ မေးခွန်းအပေါ် မူတည်ပြီး စာရွက်စာတမ်း သို့မဟုတ် ဖြေရှင်းချက်ရွေးချယ်စရာတွေကို ရှာဖွေယူတယ်။

Reranking: LLM က အဲဒီရွေးချယ်စရာတွေ၏ သက်ဆိုင်မှုနဲ့ အရည်အသွေး အခြေခံပြီး ထပ်မံအဆင့်သတ်မှတ်တင်ပါးတယ်။ ဒီအဆင့်က အကြီးဆုံး သက်ဆိုင်မှုရှိတဲ့အချက်အလက် အရည်အသွေးကောင်းကို ပထမဦးဆုံး ပြသစေတယ်။

Scoring: LLM က များစုစရာတွေကို သက်ဆိုင်မှုနဲ့ အရည်အသွေး အပေါ် မူတည်ပြီး အမှတ်ပေးတယ်။ ဒါက အသုံးပြုသူအတွက် အကောင်းဆုံးဖြေရှင်းချက် သို့မဟုတ် စာရွက်စာတမ်းကို ရွေးချယ်ရအောင် ကူညီတယ်။

LLM ကို reranking နဲ့ scoring အတွက် အသုံးချခြင်းက စနစ်ကို ပိုမှန်ကန်ပြီး လက်တွေ့အခြေအနေလိုက်တဲ့ အချက်အလက် ပိုမိုနားလည်နိုင်စေပြီး အသုံးပြုသူအတွေ့အကြုံ ပိုကောင်းစေတယ်။

ခရီးသွားအေးဂျင့်တစ်ခုက အသုံးပြုသူ ချစ်စရာ ပိုရွေးချယ်မှုတွေအပေါ် အခြေခံပြီး LLM ကို reranking နဲ့ scoring အတွက် ဘယ်လိုအသုံးပြုမလဲ ဆိုတဲ့ Python ဥပမာက ဒီမှာဖြစ်တယ်။

အခြေအနေ - စိတ်ဝင်စားမှု အပေါ် မူတည် ခရီးသွားခြင်း

ခရီးသွားအေးဂျင့်တစ်ဦးက ဧည့်သည်ရဲ႕ စိတ်ဝင်စားမှုအပေါ်မူတည်ပြီး အကောင်းဆုံး ခရီးသွားနေရာတွေကို အကြံပြုချင်တယ်။ LLM ကနေရာများကို ပြန်လည်စီစဉ်ပြီး အမှတ်ပေးကာ အကောင်းဆုံးရွေးချယ်စရာတွေ ထုတ်ပေးနိုင်စေမှာဖြစ်တယ်။

အဆင့်များ:

  1. အသုံးပြုသူ စိတ်ဝင်စားမှုကို စုဆောင်းပါ။
  2. ခရီးသွားနေရာဖြေရှင်းစရာစာရင်းကို ရှာဖွေပါ။
  3. LLM ကို အသုံးပြုပြီး စိတ်ဝင်စားမှုအပေါ် မူတည်ကာ နေရာလျှောက်လဲမှုနဲ့ အမှတ်ပေးမှုကို ပြုလုပ်ပါ။

ယခင် ဥပမာကို Azure OpenAI services သုံးပြီး ပြောင်းလဲအသုံးပြုနည်းက ဒီလိုဖြစ်တယ်။

လိုအပ်ချက်များ

  1. Azure subscription ရှိရမည်။
  2. Azure OpenAI resource တစ်ခု ဖန်တီးပြီး သင့် API key ကို ရယူရမည်။

Python ကုဒ် ဥပမာ

import requests
import json

class TravelAgent:
    def __init__(self, destinations):
        self.destinations = destinations

    def get_recommendations(self, preferences, api_key, endpoint):
        # Azure OpenAI အတွက် prompt တစ်ခု ထုတ်ပေးပါ
        prompt = self.generate_prompt(preferences)
        
        # တောင်းဆိုမှုအတွက် headers နဲ့ payload ကို သတ်မှတ်ပါ
        headers = {
            'Content-Type': 'application/json',
            'Authorization': f'Bearer {api_key}'
        }
        payload = {
            "prompt": prompt,
            "max_tokens": 150,
            "temperature": 0.7
        }
        
        # ပြန်လည်အဆင့်သတ်မှတ်ပြီး အမှတ်ပေးထားသော သွားရောက်မည့်နေရာများကို ရယူရန် Azure OpenAI API ကို ခေါ်သုံးပါ
        response = requests.post(endpoint, headers=headers, json=payload)
        response_data = response.json()
        
        # အကြံပြုချက်များကို ဆွဲထုတ်ပြီး ပြန်လည်ပေးပါ
        recommendations = response_data['choices'][0]['text'].strip().split('\n')
        return recommendations

    def generate_prompt(self, preferences):
        prompt = "Here are the travel destinations ranked and scored based on the following user preferences:\n"
        for key, value in preferences.items():
            prompt += f"{key}: {value}\n"
        prompt += "\nDestinations:\n"
        for destination in self.destinations:
            prompt += f"- {destination['name']}: {destination['description']}\n"
        return prompt

# ဥပမာ အသုံးပြုမှု
destinations = [
    {"name": "Paris", "description": "City of lights, known for its art, fashion, and culture."},
    {"name": "Tokyo", "description": "Vibrant city, famous for its modernity and traditional temples."},
    {"name": "New York", "description": "The city that never sleeps, with iconic landmarks and diverse culture."},
    {"name": "Sydney", "description": "Beautiful harbour city, known for its opera house and stunning beaches."},
]

preferences = {"activity": "sightseeing", "culture": "diverse"}
api_key = 'your_azure_openai_api_key'
endpoint = 'https://your-endpoint.com/openai/deployments/your-deployment-name/completions?api-version=2022-12-01'

travel_agent = TravelAgent(destinations)
recommendations = travel_agent.get_recommendations(preferences, api_key, endpoint)
print("Recommended Destinations:")
for rec in recommendations:
    print(rec)

ကုဒ်ရှင်းလင်းချက် - စိတ်ဝင်စားမှု မှတ်တမ်းထိုးသူ

  1. Initialization: TravelAgent အတန်း ကို နေရာအများစုရဲ့ နာမည်နဲ့ ဖေါ်ပြချက် ပါတဲ့ အချက်အလက်စာရင်းနဲ့ စတင်တည်ဆောက်တယ်။

  2. Getting Recommendations (get_recommendations method): ဒီ method က အသုံးပြုသူ စိတ်ဝင်စားမှုကို မှီခိုကာ Azure OpenAI service အတွက် prompt တစ်ခု ပြုလုပ်ပြီး Azure OpenAI API ကို HTTP POST နဲ့ ခေါ်ယူပြီး လျှောက်ထားကာ rerank နဲ့ score ပြုလုပ်ထားတဲ့ နေရာတွေကို ရယူတယ်။

  3. Generating Prompt (generate_prompt method): ဒီ method က အသုံးပြုသူစိတ်ဝင်စားမှုနဲ့ နေရာစာရင်းတွေပါသည့် Azure OpenAI အတွက် prompt တစ်ခု ဖန်တီးတယ်။ ယခု prompt က မော်ဒယ်ကို အသုံးပြုသူစိတ်ဝင်စားမှုအပေါ် အခြေခံကာ နေရာတွေ rerank နဲ့ scoring လုပ်ရန် ညွှန်ပြတယ်။

  4. API Call: requests library ကို အသုံးပြုပြီး Azure OpenAI API endpoint တစ်ခုကို HTTP POST request ပို့တယ်။ ပြန်လာတဲ့ response မှာ rerank နဲ့ scoring ပြုလုပ်ထားတဲ့ နေရာတွေပါဝင်တယ်။

  5. အသုံးပြုနည်း: ခရီးသွားအေးဂျင့်က အသုံးပြုသူစိတ်ဝင်စားမှု (ဥပမာ - မျက်လုံးခရီးသွားခြင်းနဲ့ သဘာဝမျိုးစုံဝန်းကျင်စိတ်ဝင်စားမှု) ကို စုဆောင်းပြီး Azure OpenAI service ကို အသုံးပြုပြီး rerank နဲ့ score အကြံပြုချက်တွေ ရယူတယ်။

your_azure_openai_api_key ကို သင့်ရဲ့ အမှန် API key နဲ့, https://your-endpoint.com/... ကို သင့် Azure OpenAI deployment ရဲ့ လိပ်စာနဲ့ အစားထိုးထားပါ။

LLM ကို rerank နဲ့ scoring အတွက် အသုံးပြုခြင်းကြောင့် ခရီးသွားအေးဂျင့်က ဧည့်သည်များကို ပိုမိုကိုယ်ပိုင်နဲ့ သက်ဆိုင်တဲ့ ခရီးအကြံပြုချက်တွေ ပေးနိုင်ပြီး အတွေ့အကြုံကို မြှင့်တင်နိုင်မှာ ဖြစ်တယ်။

RAG: Prompting နည်းနဲ့ ကိရိယာ

Retrieval-Augmented Generation (RAG) က AI အေးဂျင့်တွေ ဖန်တီးရာမှာ prompting နည်းနဲ့ ကိရိယာ (tool) နှစ်မျိုးအားလုံးအဖြစ် အသုံးပြုနိုင်တယ်။ ဒုတိယအကြောင်းကို ကောင်းကောင်းနားလည်ခြင်းက RAG ကို ပိုထိရောက်စွာ အသုံးချနိုင်မယ်။

Prompting နည်းအနေနဲ့ RAG

ဘာလဲ?

လုပ်ဆောင်ပုံ:

  1. Prompt ဖန်တီးခြင်း: တာဝန် သို့မဟုတ် အသုံးပြုသူ အထောက်အထားအပေါ် မူတည်ပြီး ချုပ်ဆွဲပြီး ပြတ်သားတဲ့ prompt များ ဖန်တီးပါ။
  2. အချက်အလက်များ ရှာဖွေခြင်း: ရှိပြီးသား သိသာတဲ့ knowledge base သို့မဟုတ် ဒေတာစနစ်ထဲက အချက်အလက်သက်ဆိုင်မှုရှိတဲ့ အချက်တွေရှာဖွေရန် prompt များကို အသုံးပြုပါ။
  3. တုံ့ပြန်မှု ဖန်တီးခြင်း: ရှာဖွေထုတ်လွှင့်ထားသော အချက်အလက်များနဲ့ စကားပြော AI မော်ဒယ်များကို ပေါင်းပြီး လုံးလုံးသိရှိစေသော တုံ့ပြန်ချက်ကို ပြုလုပ်ပါ။

ခရီးသွားအေးဂျင့်အတွက် ဥပမာ:

ကိရိယာ အနေနဲ့ RAG

ဘာလဲ?

လုပ်ဆောင်ပုံ:

  1. ပေါင်းစည်းထုတ်ခြင်း: AI အေးဂျင့်၏ ဖွဲ့စည်းမှုအတွင်း RAG ကို ထည့်သွင်းပြီး retrieval နဲ့ generation လုပ်ငန်းလုပ်ဆောင်မှုကို အလိုအလျောက် ထိန်းသိမ်းစေသည်။
  2. အလိုအလျောက်လုပ်ဆောင်ခြင်း: အသုံးပြုသူ input ရယူကနေ တုံ့ပြန်မှု ဖန်တီးသည့်အထိ အဆင့်တိုင်းအတွက် ပိုမိုရှင်းလင်းတဲ့ prompt မလိုအပ်ဘဲ လုပ်ငန်းစဉ်အားလုံးကို စနစ်က ကိုင်တွယ်သည်။
  3. ထိရောက်မှု: Retrieval နဲ့ generation လုပ်ငန်းစဉ်များကို မြန်ဆန်သိကောင်းစေရန် ပြန်လည်တိုးတက်စေသည်။

ခရီးသွားအေးဂျင့်အတွက် ဥပမာ:

နှိုင်းယှဉ်ခြင်း

ဘယ်နည်း Prompting နည်း ကိရိယာ
Manual vs Automatic မေးခွန်းတိုင်းအတွက် prompt ကို ကိုယ်တိုင် ရေးဆွဲခြင်း ရှာဖွေခြင်းနဲ့ ဖန်တီးခြင်း လုပ်ငန်းစဉ်ကို အလိုအလျောက်လုပ်ဆောင်ခြင်း
ထိန်းချုပ်မှု ရှာဖွေခြင်း လုပ်ငန်းစဉ်ကို ပိုအားကျစွာထိန်းချုပ်နိုင်မှု ရှာဖွေခြင်းနဲ့ ဖန်တီးခြင်းကို ပိုလျင်မြန်ပြီး အလိုအလျောက်လုပ်ဆောင်ခြင်း
လိုက်လျောညီထွေမှု သီးသန့်လိုအပ်ချက်အရ prompt များကို ပြုလုပ်နိုင်မှု ကြီးမားသော system များက အတွက် ပိုထိရောက်သော်လည်း မရွေးချယ်နိုင်ခြင်းများရှိ
ရှုပ်ထွေးမှု Prompt များရေးဆွဲခြင်းနဲ့ ပြင်ဆင်ရုန်းကန်မှု AI အေးဂျင့် ဖွဲ့စည်းမှုမှာ ပိုလွယ်ကူစွာ ပေါင်းစည်းနိုင်ခြင်း

လက်တွေ့ ဥပမာများ

Prompting နည်း ဥပမာ:

def search_museums_in_paris():
    prompt = "Find top museums in Paris"
    search_results = search_web(prompt)
    return search_results

museums = search_museums_in_paris()
print("Top Museums in Paris:", museums)

ကိရိယာ ဥပမာ:

class Travel_Agent:
    def __init__(self):
        self.rag_tool = RAGTool()

    def get_museums_in_paris(self):
        user_input = "I want to visit museums in Paris."
        response = self.rag_tool.retrieve_and_generate(user_input)
        return response

travel_agent = Travel_Agent()
museums = travel_agent.get_museums_in_paris()
print("Top Museums in Paris:", museums)

သက်ဆိုင်မှု တိုင်းတာခြင်း

သက်ဆိုင်မှု တိုင်းတာခြင်းက AI အေးဂျင့်စွမ်းဆောင်ရည်အတွက် အလွန်အရေးကြီးတယ်။ ဒါက AI အေးဂျင့်က ရှာဖွေပေးတဲ့နဲ့ ဖန်တီးတဲ့ အချက်အလက်တွေဟာ အသုံးပြုသူအတွက် သင့်တော်မှန်ကန်ပြီး အသုံးဝင်မှုရှိစေရန် စစ်ဆေးပေးတယ်။ AI အေးဂျင့်တွေရဲ့ သက်ဆိုင်မှု တိုင်းတာနည်းတွေ၊ လက်တွေ့နဲ့ နည်းပညာတွေကို ကြည့်ကြရအောင်။

သက်ဆိုင်မှု တိုင်းတာခြင်း စိတ်ကြိုက် အယူအဆများ

  1. Context Awareness:
    • အသုံးပြုသူ မေးခွန်းရဲ့ context ကို နားလည်ပြီး သက်ဆိုင်မှုရှိတဲ့ အချက်အလက် ကို ရှာဖွေရမယ်။
    • ဥပမာ - “Paris မှာ အကောင်းဆုံးစားသောက်ဆိုင်တွေ” မေးတဲ့အခါ အသုံးပြုသူ စိတ်ဝင်စားရာကွင်း (စားစရာအမျိုးအစား, ဘတ်ဂျက်) တွေကို လေးစားစဉ်းစားရမယ်။
  2. မှန်ကန်မှု (Accuracy):
    • AI အေးဂျင့်ပေးသည့် အချက်အလက်တွေအားဖြင့် မှန်ကန်ပြီး နောက်ဆုံးအချက်အလက်ဖြစ်မှ ရမယ်။
    • ဥပမာ - ပိတ်ထားသည့် ဆိုင်များမဟုတ်ပဲ လက်ရှိဖွင့်ထားသည့် ဆိုင်များကို အကြံပြုခြင်း။
  3. အသုံးပြုသူ ရည်ရွယ်ချက် (User Intent):
    • AI အေးဂျင့်က မေးခွန်းရဲ့ ရည်ရွယ်ချက်ကိုပြန်လည် သိရှိဖို့ လိုအပ်သည်။
    • ဥပမာ - “ဘတ်ဂျက်သင့်တော်တဲ့ ဟိုတယ်များ” မေးရင် ဈေးသက်သာတဲ့ ရွေးချယ်စရာများကို ဦးစားပေးရန်။
  4. တုံ့ပြန်ချက် လည်ပတ်မှု (Feedback Loop):
    • အသုံးပြုသူထံမှ တုံ့ပြန်ချက်များ စုဆောင်းပြီး သုံးသပ်မှုဖြင့် သက်ဆိုင်မှု တိုင်းတာမှု တိုးတက်အောင် ပြုပြင်တိုးမြှင့်ရမယ်။
    • ဥပမာ - ယခင် အကြံပြုချက်များအပေါ် အသုံးပြုသူ အမှတ်ပေးမှုနဲ့ တုံ့ပြန်ချက်များ ထည့်သွင်းပြီး နောက်တောင်သော ဖြေဆိုချက်များတိုးတက်စေခြင်း။

သက်ဆိုင်မှု တိုင်းတာမှာ လုပ်ဆောင်နည်းများ

  1. သက်ဆိုင်မှု အမှတ်ပေးခြင်း (Relevance Scoring):
    • အသုံးပြုသူ မေးခွန်းနဲ့ စိတ်ဝင်စားမှုနဲ့ ကိုက်ညီမှုအပေါ် မူတည်ပြီး ထုတ်ယူထားသော အချက်အလက် တစ်ခုချင်းစီကို သက်ဆိုင်မှု အမှတ်ပေးပါ။
    • ဥပမာ:

      def relevance_score(item, query):
          score = 0
          if item['category'] in query['interests']:
              score += 1
          if item['price'] <= query['budget']:
              score += 1
          if item['location'] == query['destination']:
              score += 1
          return score
      
  2. စစ်ထုတ်ပြီး အဆင့်သတ်မှတ်ခြင်း (Filtering and Ranking):
    • မသက်ဆိုင်တာတွေကို ဖယ်ရှားပြီး ကျန်ရှိတာကို သက်ဆိုင်မှု အမှတ်အရ အဆင့်စဉ်ဆက် ပေးပါ။
    • ဥပမာ:

      def filter_and_rank(items, query):
          ranked_items = sorted(items, key=lambda item: relevance_score(item, query), reverse=True)
          return ranked_items[:10]  # အကြောင်းရာနှင့်သက်ဆိုင်မှုရှိသော အရာများ ထိပ်တန်း ၁၀ ခု ပြန်ပေးပါ။
      
  3. ဘာသာစကား သဘာဝ ဖြစ်စေမှု (Natural Language Processing - NLP):
    • အသုံးပြုသူ မေးခွန်းကို နားလည်စေဖို့ NLP နည်းပညာများကို သုံးပြီး သက်ဆိုင်မှုရှိတဲ့ အချက်အလက် ရှာဖွေရန်။
    • ဥပမာ:

      def process_query(query):
          # အသုံးပြုသူ၏ မေးခွန်းမှ သဘောကောင်းသော အချက်အလက်များကို NLP ဖြင့် ထုတ်ယူပါ။
          processed_query = nlp(query)
          return processed_query
      
  4. အသုံးပြုသူ အတုအဖြစ် ပေါင်းစည်းမှု (User Feedback Integration):
    • ပေးအပ်ထားတဲ့ အကြံပြုချက်များအပေါ် အသုံးပြုသူတုံ့ပြန်ချက်များကို စုဆောင်းပြီး နောက်ဆုံး သက်ဆိုင်မှု တိုင်းတာမှု ပြုပြင်ခြင်း။
    • ဥပမာ:

      def adjust_based_on_feedback(feedback, items):
          for item in items:
              if item['name'] in feedback['liked']:
                  item['relevance'] += 1
              if item['name'] in feedback['disliked']:
                  item['relevance'] -= 1
          return items
      

ဥပမာ: ခရီးသွားအေးဂျင့်မှာ သက်ဆိုင်မှု တိုင်းတာခြင်း

ရိုးရိုးရှင်းရှင်းနဲ့ ခရီးသွားအေးဂျင့်က ခရီးသွား စိတ်ကြိုက်မှု အပေါ် သက်ဆိုင်မှု တိုင်းတာဖို့ ဘယ်လိုလုပ်မှာလဲဆိုတာ ဥပမာဖြစ်တယ်။

class Travel_Agent:
    def __init__(self):
        self.user_preferences = {}
        self.experience_data = []

    def gather_preferences(self, preferences):
        self.user_preferences = preferences

    def retrieve_information(self):
        flights = search_flights(self.user_preferences)
        hotels = search_hotels(self.user_preferences)
        attractions = search_attractions(self.user_preferences)
        return flights, hotels, attractions

    def generate_recommendations(self):
        flights, hotels, attractions = self.retrieve_information()
        ranked_hotels = self.filter_and_rank(hotels, self.user_preferences)
        itinerary = create_itinerary(flights, ranked_hotels, attractions)
        return itinerary

    def filter_and_rank(self, items, query):
        ranked_items = sorted(items, key=lambda item: self.relevance_score(item, query), reverse=True)
        return ranked_items[:10]  # ထိပ်တန်းသက်ဆိုင်သော အချက်အလက် ၁၀ ခု ပြန်လည်ပေးသည်

    def relevance_score(self, item, query):
        score = 0
        if item['category'] in query['interests']:
            score += 1
        if item['price'] <= query['budget']:
            score += 1
        if item['location'] == query['destination']:
            score += 1
        return score

    def adjust_based_on_feedback(self, feedback, items):
        for item in items:
            if item['name'] in feedback['liked']:
                item['relevance'] += 1
            if item['name'] in feedback['disliked']:
                item['relevance'] -= 1
        return items

# အသုံးပြုမှု နမူနာ
travel_agent = Travel_Agent()
preferences = {
    "destination": "Paris",
    "dates": "2025-04-01 to 2025-04-10",
    "budget": "moderate",
    "interests": ["museums", "cuisine"]
}
travel_agent.gather_preferences(preferences)
itinerary = travel_agent.generate_recommendations()
print("Suggested Itinerary:", itinerary)
feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
updated_items = travel_agent.adjust_based_on_feedback(feedback, itinerary['hotels'])
print("Updated Itinerary with Feedback:", updated_items)

ရည်ရွယ်ချက်အရ ရှာဖွေခြင်း

ရည်ရွယ်ချက်အရ ရှာဖွေခြင်း ဆိုတာမှာ အသုံးပြုသူ မေးခွန်းအောက်ပိုင်း ရည်ရွယ်ချက် သို့မဟုတ် အဓိက ရည်ရွယ်ချက်ကို နားလည်ပြီး သက်ဆိုင်မှုလုံးဝ မြှင့်တင်စေဖို့ အချက်အလက် ရှာဖွေပေးခြင်းဖြစ်တယ်။ ဒီနည်းလမ်းက စာလုံးရေ နှိုင်းယှဉ်တာ ထက် ပိုမိုတိကျစေတယ်။

ရည်ရွယ်ချက်အရ ရှာဖွေမှု အယူအဆများ

  1. အသုံးပြုသူ ရည်ရွယ်ချက် နားလည်ခြင်း:
    • အသုံးပြုသူ၏ ရည်ရွယ်ချက်ကို သတိပြုကာ သုံးသပ်ရာမှာ သုံးအမျိုးအစားအနက် ပါဝင်တယ် - အသိပညာ ရယူခြင်း, လမ်းညွှန်ခြင်း, ကုန်သွယ်မှု။
      • အသိပညာ ရယူတော့ချက်: အသုံးပြုသူ တစ်စိတ်တစ်ပိုင်းအကြောင်း သိရှိချင်ခြင်း (ဥပမာ - “Paris မှာ အကောင်းဆုံး ပြတိုက်တွေ ဘာတွေရှိလဲ?”)
      • လမ်းညွှန် ရည်ရွယ်ချက်: သတ်မှတ်ထားသော ဝက်ဘ်ဆိုဒ်သို့ သွားဖို့လိုခြင်း (ဥပမာ - “Louvre ပြတိုက် တရားဝင် ဧည့်ကြမည့် ဝဘ်ဆိုဒ်”)
      • ကုန်သွယ်မှု ရည်ရွယ်ချက်: လေယာဉ် စတင် ကြိုတင် ဘွတ်ကင် လုပ်ခြင်း (ဥပမာ - “Paris ကို လေယာဉ်ဘွတ်ကင် ဘူးယူမယ်”)
  2. Context Awareness:
    • မေးခွန်းရဲ့ context ကို စူးစမ်း လေ့လာခြင်းက အသုံးပြုသူ ရည်ရွယ်ချက် အတိအကျဖမ်းယူနိုင်စေတယ်။ ဒီထဲမှာ ယခင် အပြန်အလှန် ဆက်သွယ်မှု၊ အသုံးပြုသူစိတ်ဝင်စားမှု၊ လက်ရှိမေးခွန်းအသေးစိတ် ပါဝင်တယ်။
  3. ဘာသာစကား သဘာဝ ဖြစ်စေမှု (Natural Language Processing - NLP):
    • အသုံးပြုသူ ပေးသော သဘာဝဘာသာစကားမေးခွန်းများကို နားလည်ဖို့ NLP နည်းပညာများအသုံးပြုသည်။ ယင်းတွင် အရာဝတ္ထုသိရှိခြင်း၊ စိတ်ခံစားချက်ခွဲခြားခြင်း၊ မေးခွန်း ခွဲခြားခြင်း ပါဝင်သည်။
  4. ကိုယ်ပိုင် လိုက်လျောညီထွေမှု (Personalization):
    • အသုံးပြုသူ သမိုင်းကြောင်း၊ စိတ်ဝင်စားမှုနဲ့ တုံ့ပြန်ချက်အပေါ် အခြေခံ၍ ရလဒ်များကို ကိုယ်ပိုင်တင်ပြသွားခြင်းက သက်ဆိုင်မှုပိုမိုကောင်းစေတယ်။

လက်တွေ့ ဥပမာ: ခရီးသွားအေးဂျင့်မှာ ရည်ရွယ်ချက်အပေါ် မူတည်ပြီး ရှာဖွေခြင်း

ခရီးသွားအေးဂျင့်ကို ဥပမာအဖြစ် ယူပြီး ရည်ရွယ်ချက်အပေါ်မှ ရှာဖွေခြင်းကို ဘယ်လို သုံးနိုင်မလဲ ကြည့်ကြရအောင်။

  1. အသုံးပြုသူ စိတ်ဝင်စားမှု စုဆောင်းခြင်း

    class Travel_Agent:
        def __init__(self):
            self.user_preferences = {}
    
        def gather_preferences(self, preferences):
            self.user_preferences = preferences
    
  2. အသုံးပြုသူ ရည်ရွယ်ချက် နားလည်ခြင်း

    def identify_intent(query):
        if "book" in query or "purchase" in query:
            return "transactional"
        elif "website" in query or "official" in query:
            return "navigational"
        else:
            return "informational"
    
  3. Context Awareness

    def analyze_context(query, user_history):
        # ရင်ခုန်နေသော အင်တာဗျူးကို အသုံးပြုသူ၏သမိုင်းနှင့် ပေါင်းစပ်ပြီး အကြောင်းအရာကို နားလည်ရန်
        context = {
            "current_query": query,
            "user_history": user_history
        }
        return context
    
  4. အလျာ့အတင်းစစ်ဆေးခြင်းနှင့် ကိုယ်ပိုင်စိတ်ကြိုက်ဖြေရှင်းချက်များ ရယူခြင်း

    def search_with_intent(query, preferences, user_history):
        intent = identify_intent(query)
        context = analyze_context(query, user_history)
        if intent == "informational":
            search_results = search_information(query, preferences)
        elif intent == "navigational":
            search_results = search_navigation(query)
        elif intent == "transactional":
            search_results = search_transaction(query, preferences)
        personalized_results = personalize_results(search_results, user_history)
        return personalized_results
    
    def search_information(query, preferences):
        # သတင်းအချက်အလက်ရယူရန် ရှာဖွေရေး အဓိပ္ပါယ်အတွက် ဥပမာ ရှာဖွေရေး ကိုယ်ပိုင်စနစ်
        results = search_web(f"best {preferences['interests']} in {preferences['destination']}")
        return results
    
    def search_navigation(query):
        # လမ်းညွှန် ရှာဖွေရေး အဓိပ္ပါယ်အတွက် ဥပမာ ရှာဖွေရေး ကိုယ်ပိုင်စနစ်
        results = search_web(query)
        return results
    
    def search_transaction(query, preferences):
        # လုပ်ငန်းဆောင်ရွက်မှု အဓိပ္ပါယ်အတွက် ဥပမာ ရှာဖွေရေး ကိုယ်ပိုင်စနစ်
        results = search_web(f"book {query} to {preferences['destination']}")
        return results
    
    def personalize_results(results, user_history):
        # ကိုယ်ပိုင်အတွေ့အကြုံ ပေးသည့် လုပ်ဆောင်ချက် ဥပမာ
        personalized = [result for result in results if result not in user_history]
        return personalized[:10]  # ထိပ်ဆုံး ၁၀ ခု ကို ကိုယ်ပိုင်အတွေ့အကြုံ ဖြင့် ပြန်လည်ပေးပို့ခြင်း
    
  5. အသုံးပြုမှု နမူနာ

    travel_agent = Travel_Agent()
    preferences = {
        "destination": "Paris",
        "interests": ["museums", "cuisine"]
    }
    travel_agent.gather_preferences(preferences)
    user_history = ["Louvre Museum website", "Book flight to Paris"]
    query = "best museums in Paris"
    results = search_with_intent(query, preferences, user_history)
    print("Search Results:", results)
    

4. ကိရိယာအဖြစ် ကုဒ် ထုတ်ပေးခြင်း

ကုဒ်ထုတ်ပေးသော စက်များသည် AI မော်ဒယ်များကို အသုံးပြုကာ ကုဒ်ကို ရေးဆွဲပြီး အလုပ်လုပ်ဆောင်ပေးရေးဖြင့် ပြဿနာများကို ဖြေရှင်းကာ တာဝန်များကို အလိုအလျောက်ဆောင်ရွက်ပေးသည်။

ကုဒ်ထုတ်ပေးသော စက်များ

ကုဒ်ထုတ်ပေးသော စက်များသည် ယေဘုယျ AI မော်ဒယ်များဖြင့် ကုဒ်ကို ရေးဆွဲပြီး အလုပ်လုပ်ဆောင်သည့် စနစ်များဖြစ်သည်။ ၎င်းတို့က ပြဿနာရှုပ်ထွေးများကို ဖြေရှင်းပေး၍ တာဝန်များကို အလိုအလျောက်ဆောင်ရွက်ပေးကာ၊ အမျိုးမျိုးသော ပရိုဂရမ်းမင်းဘာသာစကားများဖြင့် ကုဒ်ကို ထုတ်ပေး၍ လုပ်ဆောင်ပေးရန် ဝန်ဆောင်မှုများ ပေးနိုင်ပါသည်။

လက်တွေ့အသုံးချမှုများ

  1. အလိုအလျောက် ကုဒ်ထုတ်လုပ်ခြင်း: အတိအကျ လုပ်ဆောင်ချက်များအတွက် ကုဒ်ပိုဒ်များ များစွာထုတ်ပေးခြင်း၊ ဥပမာ - ဒေတာဆန်းစစ်ခြင်း၊ ဝက်ဘ် သတင်း စုဆောင်းခြင်း သို့မဟုတ် သင်ယူမှုစက်ရုပ်စနစ်။
  2. RAG သတ်မှတ်ချက်အဖြစ် SQL အသုံးပြုခြင်း: ဒေတာဘေ့စ်များမှ ဒေတာများကို ရယူခြင်းနှင့် စီမံခန့်ခွဲခြင်းအတွက် SQL ကွေရ်များကို အသုံးပြုခြင်း။
  3. ပြဿနာဖြေရှင်းခြင်း: အစီအစဉ်များကို တိုးတက်စေရန် သို့မဟုတ် ဒေတာများ စိစစ်ရန် ကုဒ် ရေးဆွဲပြီး လုပ်ဆောင်ခြင်း။

နမူနာ- ဒေတာဆန်းစစ်မှုအတွက် ကုဒ်ထုတ်ပေးသောစက်

သင္သည် ကုဒ် ထုတ်ပေးသော စက်တစ်စက်ကို ဒီဇိုင်းဆွဲနေသည်ဟု စဉ်းစားပါ။ အောက်ပါအတိုင်း လုပ်ဆောင်နိုင်ပါသည်။

  1. တာဝန်: ဒေတာအသိုင်းအဝိုင်းမှ သဘောတရားများ နှင့် ပုံစံများ ကို သိရှိဖော်ထုတ်ရန်။
  2. ခြေလှမ်းများ:
    • ဒေတာအသိုင်းအဝိုင်းကို ဒေတာဆန်းစစ် စက်တွင် ဖွင့်စည်းထိုးခြင်း။
    • ဒေတာကို စစ်ထုတ်ရန်နှင့် စုစည်းရန် SQL ကွေရ်များ ရေးဆွဲခြင်း။
    • ကွေရ်များကို အလုပ်လုပ်ပေးကာ ရလဒ်များ ရယူခြင်း။
    • ရလဒ်များကို အခြေခံ၍ မျက်နှာပြင် ဖော်ပြချက်များနှင့် သတင်းအချက်အလက်များ ထုတ်ပေးခြင်း။
  3. လိုအပ်သော အရင်းအမြစ်များ: ဒေတာအသိုင်းအဝိုင်းကို ရယူနိုင်ရမည်၊ ဒေတာဆန်းစစ်ကိရိယာများနှင့် SQL တတ်ကျွမ်းမှု။
  4. အတွေ့အကြုံ: ယခင် ဆန်းစစ်မှု ရလဒ်များကို အသုံးပြု၍ နောက်ပါတ် ဆန်းစစ်မှု၏ တိကျမှုနှင့် သင့်တော်မှုအရည်အသွေး ကောင်းမွန်အောင် ပြုပြင်တိုးတက်စေခြင်း။

နမူနာ- ခရီးသွားအေးဂျင့်အတွက် ကုဒ်ထုတ်ပေးသူစက်

ဤနမူနာတွင်၊ ခရီးသွား အေးဂျင့်ဆိုသော ကုဒ် ထုတ်ပေးသူ စက်ကို ဒီဇိုင်းဆွဲပါမည်။ ၎င်းသည် အသုံးပြုသူများ၏ ခရီးစဉ်စီမံရာတွင် ကူညီရန် ကုဒ်ထုတ်ပေးခြင်းနှင့် အလုပ်လုပ်ဆောင်ခြင်းကို ထမ်းဆောင်နိုင်မည် ဖြစ်သည်။ ၎င်း စက်သည် ခရီးသွား ရွေးချယ်မှုများ ရယူခြင်း၊ ရလဒ်များ စစ်ထုတ်ခြင်း နှင့် ခရီးစဉ်အစီအစဉ် များ ချုပ်ကိုင်ပေးခြင်းတို့ကို generative AI ဖြင့် ဆောင်ရွက်ပါသည်။

ကုဒ်ထုတ်ပေးသူ စက်၏ အကျဉ်းအရာ

  1. အသုံးပြုသူ စိတ်ဝင်စားမှု စုဆောင်းမှု: ကိုယ်တိုင်ရွေးချယ်ထားသည့် တည်နေရာ၊ ခရီးသွားရက်များ၊ ကြေးနန်းနှင့် စိတ်ဝင်စားစရာများကို စုဆောင်းခြင်း။
  2. ဒေတာ ရယူရန် ကုဒ် ရေးဆွဲခြင်း: လေယာဉ်၊ ဟိုတယ်နှင့် ဆွဲဆောင်မှုများအကြောင်း ဒေတာ ရယူရန် ကုဒ်ပိုဒ်များ စီမံထုတ်ပေးခြင်း။
  3. ထုတ်ပေးထားသော ကုဒ် လုပ်ဆောင်ခြင်း: အချိန်နှင့်တပြေးညီသတင်းအချက်အလက် ရယူရန် ထုတ်ပေးထားသော ကုဒ်ကို ရှာဖွေ လည်ပတ်ခြင်း။
  4. ခရီးစဉ်အစီအစဉ် ထုတ်လုပ်ခြင်း: ရရှိထားသည့် ဒေတာများကို ကိုယ်ပိုင် ခရီးစဉ်အစီအစဉ်အဖြစ် ပြုစုပြင်ဆင်ခြင်း။
  5. တုံ့ပြန်ချက်အပေါ် အခြေခံပြင်ဆင်ခြင်း: အသုံးပြုသူ တုံ့ပြန်ချက်ကို လက်ခံရယူကာ တုံ့ပြန်ချက်အရ ကုဒ်ကို ထပ်မံ ထုတ်ပေး၍ ရလဒ်ကောင်းမွန်အောင် ပြင်ဆင်ခြင်း။

လုပ်ဆောင်မှုအဆင့်လိုက် ပြုလုပ်ခြင်း

  1. အသုံးပြုသူစိတ်ဝင်စားမှု စုဆောင်းခြင်း

    class Travel_Agent:
        def __init__(self):
            self.user_preferences = {}
    
        def gather_preferences(self, preferences):
            self.user_preferences = preferences
    
  2. ဒေတာ ရယူရန် ကုဒ် ထုတ်ပေးခြင်း

    def generate_code_to_fetch_data(preferences):
        # ဥပမာ - အသုံးပြုသူနှစ်သက်ချက်များအပေါ်အခြေခံ၍ လေယာဉ်ပျံများကို ရှာဖွေရန် ကုဒ်တစ်ခုထူထောင်ပါ
        code = f"""
        def search_flights():
            import requests
            response = requests.get('https://api.example.com/flights', params={preferences})
            return response.json()
        """
        return code
    
    def generate_code_to_fetch_hotels(preferences):
        # ဥပမာ - ဟိုတယ်များကို ရှာဖွေရန် ကုဒ်တစ်ခုထူထောင်ပါ
        code = f"""
        def search_hotels():
            import requests
            response = requests.get('https://api.example.com/hotels', params={preferences})
            return response.json()
        """
        return code
    
  3. ထုတ်ပေးထားသော ကုဒ် လုပ်ခြင်း

    def execute_code(code):
        # exec ကို အသုံးပြုပြီး ဖန်တီးထားသော ကုဒ်ကို အလုပ်လုပ်ရန် 실행ပါ
        exec(code)
        result = locals()
        return result
    
    travel_agent = Travel_Agent()
    preferences = {
        "destination": "Paris",
        "dates": "2025-04-01 to 2025-04-10",
        "budget": "moderate",
        "interests": ["museums", "cuisine"]
    }
    travel_agent.gather_preferences(preferences)
       
    flight_code = generate_code_to_fetch_data(preferences)
    hotel_code = generate_code_to_fetch_hotels(preferences)
       
    flights = execute_code(flight_code)
    hotels = execute_code(hotel_code)
    
    print("Flight Options:", flights)
    print("Hotel Options:", hotels)
    
  4. ခရီးစဉ်အစီအစဉ် ထုတ်ပေးခြင်း

    def generate_itinerary(flights, hotels, attractions):
        itinerary = {
            "flights": flights,
            "hotels": hotels,
            "attractions": attractions
        }
        return itinerary
    
    attractions = search_attractions(preferences)
    itinerary = generate_itinerary(flights, hotels, attractions)
    print("Suggested Itinerary:", itinerary)
    
  5. တုံ့ပြန်ချက်အပေါ် အခြေခံ ပြင်ဆင်ခြင်း

    def adjust_based_on_feedback(feedback, preferences):
        # အသုံးပြုသူတုံ့ပြန်ချက်များအပေါ် နည်းစနစ်များကို တိကျစွာ ပြင်ဆင်ပါ
        if "liked" in feedback:
            preferences["favorites"] = feedback["liked"]
        if "disliked" in feedback:
            preferences["avoid"] = feedback["disliked"]
        return preferences
    
    feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
    updated_preferences = adjust_based_on_feedback(feedback, preferences)
       
    # အသစ်ပြင်ဆင်ထားသော နည်းစနစ်များဖြင့် ကုဒ်ကို ပြန်လည်ဖန်တီးပြီး ချိတ်ဆက်ဆောင်ရွက်ပါ
    updated_flight_code = generate_code_to_fetch_data(updated_preferences)
    updated_hotel_code = generate_code_to_fetch_hotels(updated_preferences)
       
    updated_flights = execute_code(updated_flight_code)
    updated_hotels = execute_code(updated_hotel_code)
       
    updated_itinerary = generate_itinerary(updated_flights, updated_hotels, attractions)
    print("Updated Itinerary:", updated_itinerary)
    

ပတ်ဝန်းကျင် အသိအမြင်နှင့် ချမှတ်ချက်များကို တိုးတက်အောင် အသုံးပြုခြင်း

စာရင်းပုံစံ (schema) အပေါ် အခြေခံ၍ ကွေရ် ထုတ်ပေးခြင်းလုပ်ငန်းစဉ်ကို ပတ်ဝန်းကျင်အသိနှင့် စူးစမ်းစဉ်းစားမှုဖြင့် တိုးတက်အောင် ပြုလုပ်နိုင်သည်။

ဒီမှာ ဥပမာတစ်ခုရှိသည်။

  1. စာရင်းပုံစံကို နားလည်ခြင်း: စနစ်သည် စာရင်းပုံစံကို နားလည်ပြီး ကွေရ် ထုတ်ပေးမှုအတွက် အခြေခံနှင့် ရည်ညွှန်းကျသော ဒေတာအချက်အလက်များကို အသုံးပြုမည်ဖြစ်သည်။
  2. တုံ့ပြန်ချက်အပေါ် အခြေခံ ပြင်ဆင်မှု: အသုံးပြုသူ တုံ့ပြန်ချက်အရ စနစ်သည် စိတ်ဝင်စားမှုများကို ပြုပြင်၍ စာရင်းပုံစံတွင် မည်သည့်ကွက်များ ပြောင်းလဲရန်လိုအပ်သည်ကို စူးစမ်းစဉ်းစားမည်။
  3. ကွေရ်များ ထုတ်ပေး၍ အလုပ်လုပ်ဆောင်ခြင်း: ပြုပြင်ထားသည့် စိတ်ဝင်စားမှုများအပေါ် အခြေခံကာ လေယာဉ်နှင့် ဟိုတယ်နောက်ဆုံးသတင်းများကို ရယူရန် ကွေရ်များ ထုတ်ပေး လုပ်ဆောင်မည်။

ပုံစံလို့ Python ကုဒ်နမူနာတစ်ခုကို အောက်ဖော်ပြပါအတိုင်း ထည့်သွင်းထားသည်။

def adjust_based_on_feedback(feedback, preferences, schema):
    # ပြသနာပြောဆိုချက်အပေါ်မှ မြင့်တင်သတ်မှတ်ချက်များ ပြင်ဆင်ပါ
    if "liked" in feedback:
        preferences["favorites"] = feedback["liked"]
    if "disliked" in feedback:
        preferences["avoid"] = feedback["disliked"]
    # အခြားဆက်စပ် သတ်မှတ်ချက်များ ပြင်ဆင်ရန် schema အပေါ်မှ အကြောင်းပြချက် ဆန်းစစ်ခြင်း
    for field in schema:
        if field in preferences:
            preferences[field] = adjust_based_on_environment(feedback, field, schema)
    return preferences

def adjust_based_on_environment(feedback, field, schema):
    # schema နှင့် ပြသနာပြောဆိုချက်အပေါ်မူတည်၍ သတ်မှတ်ချက်များ ပြင်ဆင်ရန် မိမိ logic
    if field in feedback["liked"]:
        return schema[field]["positive_adjustment"]
    elif field in feedback["disliked"]:
        return schema[field]["negative_adjustment"]
    return schema[field]["default"]

def generate_code_to_fetch_data(preferences):
    # ပြင်ဆင်ထားသည့် သတ်မှတ်ချက်များအပေါ်တွင် အခြေခံ၍ လေယာဉ်ပျံဒေတာ ဆွဲထုတ်ရန် ကုဒ် ထုတ်လုပ်ပါ
    return f"fetch_flights(preferences={preferences})"

def generate_code_to_fetch_hotels(preferences):
    # ပြင်ဆင်ထားသည့် သတ်မှတ်ချက်များအပေါ်တွင် အခြေစိုက်၍ ဟိုတယ်ဒေတာ ဆွဲထုတ်ရန် ကုဒ် ထုတ်လုပ်ပါ
    return f"fetch_hotels(preferences={preferences})"

def execute_code(code):
    # ကုဒ် အကောင်အထည်ဖော်မှု ကို မူကွဲ ဒေတာဖြင့် အတုအပြုလုပ်ပါ
    return {"data": f"Executed: {code}"}

def generate_itinerary(flights, hotels, attractions):
    # လေယာဉ်ပျံများ၊ ဟိုတယ်များနှင့် ဆွဲဆောင်မှုများအပေါ် အခြေခံ၍ ခရီးစဉ် ဖန်တီးပါ
    return {"flights": flights, "hotels": hotels, "attractions": attractions}

# အကြံပေး schema ဥပမာ
schema = {
    "favorites": {"positive_adjustment": "increase", "negative_adjustment": "decrease", "default": "neutral"},
    "avoid": {"positive_adjustment": "decrease", "negative_adjustment": "increase", "default": "neutral"}
}

# အသုံးပြုမှု ဥပမာ
preferences = {"favorites": "sightseeing", "avoid": "crowded places"}
feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
updated_preferences = adjust_based_on_feedback(feedback, preferences, schema)

# ပြင်ဆင်ထားသည့် သတ်မှတ်ချက်များဖြင့် ကုဒ်ကို ထပ်မံမောင်းနှင်ပြီး အကောင်အထည်ဖော်ပါ
updated_flight_code = generate_code_to_fetch_data(updated_preferences)
updated_hotel_code = generate_code_to_fetch_hotels(updated_preferences)

updated_flights = execute_code(updated_flight_code)
updated_hotels = execute_code(updated_hotel_code)

updated_itinerary = generate_itinerary(updated_flights, updated_hotels, feedback["liked"])
print("Updated Itinerary:", updated_itinerary)

ရှင်းလင်းချက် - တုံ့ပြန်ချက်အပေါ် အခြေခံ၍ ဘွတ်ကင်လုပ်ခြင်း

  1. စာရင်းပုံစံအသိအမြင်: schema dictionary တွင် တုံ့ပြန်ချက်အပေါ် အခြေခံပြီး စိတ်ဝင်စားမှုများ ပြင်ဆင်ပုံသတ်မှတ်ထားသည်။ အစိတ်အပိုင်းများမှာ favorites နှင့် avoid တို့ဖြစ်ပြီး သတ်မှတ်ချက်များ ပါဝင်သည်။
  2. စိတ်ဝင်စားမှု ပြင်ဆင်ခြင်း (adjust_based_on_feedback method): အသုံးပြုသူ တုံ့ပြန်ချက်အရ စိတ်ဝင်စားမှုများကို ပြင်ဆင်ပေးသော နည်းလမ်း။
  3. ပတ်ဝန်းကျင်အခြေခံ ပြင်ဆင်မှု (adjust_based_on_environment method): စနစ်သည် စာရင်းပုံစံနှင့် တုံ့ပြန်ချက်အရ ပိုမိုတိကျအောင် ပြုပြင်ပေးသည်။
  4. ကွေရ် ထုတ်ပေးပြီး လုပ်ဆောင်ခြင်း: စိတ်ဝင်စားမှု ပြင်ဆင်ပြီးနောက် ရရှိသော နောက်ဆုံးသတင်းများကို ရယူရန် ကွေရ် ထုတ်ပေးကာ လုပ်ဆောင်မှုကူးပြောင်းသည်။
  5. ခရီးစဉ်အစီအစဉ် ထုတ်လုပ်ခြင်း: ရရှိထားသည့် လေယာဉ်၊ ဟိုတယ် နှင့် အလွမ်းသိုက်ဆွဲမှု ဒေတာများ ကို အခြေခံကာ နောက်ဆုံး ခရီးစဉ်အစီအစဉ်ကို ပြုလုပ်ပေးသည်။

စနစ်အား ပတ်ဝန်းကျင်အသိစွမ်းအားနှင့် စာရင်းပုံစံပေါ် အခြေခံသော စူးစမ်းစဉ်းစားမှုများ ထည့်သွင်းခြင်းအားဖြင့် ပိုမိုတိကျ၍ သင့်တော်သော ကွေရ်များ ထုတ်ပေးနိုင်ကာ ခရီးသွား စံချိန်နှစ်သက်မှု ဦးတည်ချက် ကောင်းမွန်ပြီး ကိုယ်ပိုင်အတွေ့အကြုံ ထိရောက်မှု မြင့်မားစေပါသည်။

RAG နည်းလမ်းအဖြစ် SQL ကို အသုံးပြုခြင်း

SQL (Structured Query Language) သည် ဒေတာဘေ့စ်များနှင့် ဆက်သွယ်ရန် အားကောင်းသော ကိရိယာတစ်ခုဖြစ်သည်။ RAG နည်းလမ်း၏ တစ်စိတ်တစ်ပိုင်းအဖြစ် အသုံးပြုလာသည်မှာ၊ ဒေတာဘေ့စ်မှ သက်ဆိုင်ရာဒေတာများ ရယူ၍ AI စက်များ၏ ပြန်ကြားချက်များ သို့မဟုတ် လုပ်ဆောင်မှုများ ထုတ်ပေးရာတွင် အသုံးပြုသည်။ ခရီးသွားအေးဂျင့်တွင် SQL ကို RAG နည်းလမ်းအဖြစ် ဘယ်လိုအသုံးပြုနိုင်ကြောင်း လေ့လာကြပါစို့။

အဓိကအယူအဆများ

  1. ဒေတာဘေ့စ် နှင့် ဆက်သွယ်မှု:
    • SQL ကို သုံးပြီး ဒေတာဘေ့စ်များအား မေးမြန်းယူဆောင်၍ သက်ဆိုင်ရာ အချက်အလက်များ ရယူခြင်းနှင့် စီမံခြင်း။
    • ဥပမာ - ခရီးသွား ဒေတာဘေ့စ်မှ လေယာဉ်အသေးစိတ်၊ ဟိုတယ်အချက်အလက်နှင့် ဆွဲဆောင်မှုများ ရယူခြင်း။
  2. RAG နှင့် ပေါင်းစပ်မှု:
    • အသုံးပြုသူ၏ တုံ့ပြန်ချက်များနှင့် စိတ်ဝင်စားမှုများအပေါ် အခြေခံကာ SQL ကွေရ်များ ထုတ်ပေးခြင်း။
    • ရရှိလာသော ဒေတာများကို ကိုယ်ပိုင်အကြံပြုချက်များ သို့မဟုတ် လုပ်ဆောင်ချက်များ ထုတ်ပေးရန် အသုံးပြုခြင်း။
  3. သွက်လက်သော ကွေရ် ထုတ်ပေးခြင်း:
    • AI စက်သည် သဘာဝနှင့် အသုံးပြုသူ လိုအပ်ချက်များအပေါ် အခြေခံကာ သွက်လက်သော SQL ကွေရ်များ ရေးဆွဲပေးသည်။
    • ဥပမာ - ရက်စွဲ၊ ကြေးနန်းနှင့် စိတ်ဝင်စားမှုများအရ ရလဒ်များစစ်ထုတ်ရန် SQL ကွေရ်ကို ကိုယ်ပိုင်အတိုင်း ပြောင်းလဲရေးဆွဲခြင်း။

အသုံးချမှုများ

ဥပမာ: ဒေတာဆန်းစစ်မှု အေးဂျင့်တစ်ခု:

  1. တာဝန်: ဒေတာအသိုင်းအဝိုင်းမှ သဘောတရားများ ရှာဖွေရန်။
  2. ခြေလှမ်းများ:
    • ဒေတာအသိုင်းအဝိုင်း ဖွင့်နိုင်ရန်။
    • ဒေတာစစ်ထုတ်ရန် SQL ကွေရ်များ ရေးဆွဲရန်။
    • ကွေရ်များ လုပ်ဆောင်ပြီး ရလဒ်များ ရယူသည်။
    • မျက်နှာပြင်ဖော်ပြချက်နှင့် သိမြင်ချက်များ ဖန်တီးရန်။
  3. လိုအပ်ချက်များ: ဒေတာအသိုင်းအဝိုင်း ၀င်ရောက်ခွင့်၊ SQL စွမ်းရည်များ။
  4. အတွေ့အကြုံ: ယခင်ရလဒ်များကို အသုံးပြု၍ နောက်လာမည့် ဆန်းစစ်မှုများ တိုးတက်အောင် ပြုလုပ်ခြင်း။

လက်တွေ့အသုံးချမှုနမူနာ - ခရီးသွားအေးဂျင့်တွင် SQL အသုံးပြုခြင်း

  1. အသုံးပြုသူ စိတ်ဝင်စားမှု စုဆောင်းခြင်း

    class Travel_Agent:
        def __init__(self):
            self.user_preferences = {}
    
        def gather_preferences(self, preferences):
            self.user_preferences = preferences
    
  2. SQL ကွေရ်များ ထုတ်ပေးခြင်း

    def generate_sql_query(table, preferences):
        query = f"SELECT * FROM {table} WHERE "
        conditions = []
        for key, value in preferences.items():
            conditions.append(f"{key}='{value}'")
        query += " AND ".join(conditions)
        return query
    
  3. SQL ကွေရ်များ ထည့်သွင်း ပြုလုပ်ခြင်း

    import sqlite3
    
    def execute_sql_query(query, database="travel.db"):
        connection = sqlite3.connect(database)
        cursor = connection.cursor()
        cursor.execute(query)
        results = cursor.fetchall()
        connection.close()
        return results
    
  4. အကြံပြုချက်များ ထုတ်ပေးခြင်း

    def generate_recommendations(preferences):
        flight_query = generate_sql_query("flights", preferences)
        hotel_query = generate_sql_query("hotels", preferences)
        attraction_query = generate_sql_query("attractions", preferences)
           
        flights = execute_sql_query(flight_query)
        hotels = execute_sql_query(hotel_query)
        attractions = execute_sql_query(attraction_query)
           
        itinerary = {
            "flights": flights,
            "hotels": hotels,
            "attractions": attractions
        }
        return itinerary
    
    travel_agent = Travel_Agent()
    preferences = {
        "destination": "Paris",
        "dates": "2025-04-01 to 2025-04-10",
        "budget": "moderate",
        "interests": ["museums", "cuisine"]
    }
    travel_agent.gather_preferences(preferences)
    itinerary = generate_recommendations(preferences)
    print("Suggested Itinerary:", itinerary)
    

SQL ကွေရ် ဥပမာများ

  1. လေယာဉ် စစ်ထုတ်မှု

    SELECT * FROM flights WHERE destination='Paris' AND dates='2025-04-01 to 2025-04-10' AND budget='moderate';
    
  2. ဟိုတယ် စစ်ထုတ်မှု

    SELECT * FROM hotels WHERE destination='Paris' AND budget='moderate';
    
  3. ဆွဲဆောင်မှု စစ်ထုတ်မှု

    SELECT * FROM attractions WHERE destination='Paris' AND interests='museums, cuisine';
    

RAG နည်းလမ်း၏ တစ်စိတ်တစ်ပိုင်းအဖြစ် SQL ကို အသုံးပြုခြင်းဖြင့် ခရီးသွားအေးဂျင့်ကဲ့သို့သော AI စက်များသည် သက်ဆိုင်ရာ ဒေတာများကို တိကျစွာ ရယူကာ ကိုယ်ပိုင်အကြံပြုချက်များ ထုတ်ပေးနိုင်ပါသည်။

Metacognition အကြောင်း ဥပမာ

Metacognition ကို အကောင်အထည်ဖော်ရန် ဥပမာအနေနှင့်၊ ပြဿနာဖြေရှင်းစဉ် အဆုံးသတ်မှတ်ချက်ပြုမှုကို ကိုယ်တိုင် တုံ့ပြန်စဉ်းစားတတ်သော စက်တစ်စက်ကို ဖန်တီးကြမည်။ ဤ ဥပမာတွင် အေးဂျင့်သည် ဟိုတယ်ရွေးချယ်မှုကို တန်ဖိုးနှင့် အရည်အသွေး ပေါင်းစပ်၍ ရွေးချယ်မည်ဖြစ်ပြီး၊ ၎င်းသည် လုပ်ဆောင်ချက်များအပေါ် ကိုယ်တိုင် စူးစမ်း တုံ့ပြန်၍ အမှား သို့မဟုတ် နည်းနည်း ချို့တဲ့မှုများ တွေ့ရှိပါက ၎င်းရဲ့ မဟာဗျူဟာကို ပြင်ဆင်မည်ဖြစ်သည်။

ဤကိစ္စအား စမ်းသပ်ရန် အရမ်းရိုးရိုးနမူနာဖြင့် အရေးယူပါမည်။

Metacognition ကို ဖော်ပြသည့် နည်းလမ်း

  1. အစပိုင်း ရွေးချယ်ချက်: အေးဂျင့်သည် အားနည်းဆုံး ဈေးနှုန်းရှိ ဟိုတယ်ကို ရွေးချယ်မည်၊ အရည်အသွေး ပိုစဉ်းစားမထားပေ။
  2. တုံ့ပြန်စဉ်းစားခြင်းနှင့် ခဲယဉ်းမှုအကဲဖြတ်ခြင်း: ဦးတည်ရာရွေးချယ်ပြီးနောက်၊ အသုံးပြုသူ၏ တုံ့ပြန်ချက်များအပေါ် အကဲဖြတ်၍ ဟိုတယ်၏ အရည်အသွေးလည်း ငတ်သည်ဆိုပါက ၎င်း၏ ဆုံးဖြတ်ချက်ကို ပြန်လည်စဉ်းစားမည်။
  3. မဟာဗျူဟာ ပြင်ဆင်ခြင်း: အေးဂျင့်သည် ၎င်း၏ မဟာဗျူဟာကို ပြန်လည်ပြောင်းလဲကာ “အနည်းဆုံးဈေး” မှ “အမြင့်ဆုံး အရည်အသွေး” သို့ ပြောင်းကာ နောက်ထပ် ဆုံးဖြတ်ချက်များ တိုးတက်မှု ရှိစေရန် ကြိုးစားမည်။

ဤသည်မှာ ဥပမာဖြစ်ပါသည်။

class HotelRecommendationAgent:
    def __init__(self):
        self.previous_choices = []  # မတိုင်မီရွေးချယ်ထားသော ဟိုတယ်များကို သိမ်းဆည်းထားသည်
        self.corrected_choices = []  # တိကျစွာပြင်ဆင်ပြီး ရွေးချယ်မှုများကို သိမ်းဆည်းထားသည်
        self.recommendation_strategies = ['cheapest', 'highest_quality']  # ရရှိနိုင်သော မဟာဗျူဟာများ

    def recommend_hotel(self, hotels, strategy):
        """
        Recommend a hotel based on the chosen strategy.
        The strategy can either be 'cheapest' or 'highest_quality'.
        """
        if strategy == 'cheapest':
            recommended = min(hotels, key=lambda x: x['price'])
        elif strategy == 'highest_quality':
            recommended = max(hotels, key=lambda x: x['quality'])
        else:
            recommended = None
        self.previous_choices.append((strategy, recommended))
        return recommended

    def reflect_on_choice(self):
        """
        Reflect on the last choice made and decide if the agent should adjust its strategy.
        The agent considers if the previous choice led to a poor outcome.
        """
        if not self.previous_choices:
            return "No choices made yet."

        last_choice_strategy, last_choice = self.previous_choices[-1]
        # နောက်ဆုံးရွေးချယ်မှုကောင်းကြောင်း သို့မဟုတ် မကောင်းကြောင်း အသုံးပြုသူ ပြန်လည်တုံ့ပြန်ချက်ရှိကြောင်း ယူဆပါစို့
        user_feedback = self.get_user_feedback(last_choice)

        if user_feedback == "bad":
            # ယခင်ရွေးချယ်မှုမကျေနပ်စရာရှိခဲ့ပါက မဟာဗျူဟာကို စီမံပြင်ဆင်ပါ
            new_strategy = 'highest_quality' if last_choice_strategy == 'cheapest' else 'cheapest'
            self.corrected_choices.append((new_strategy, last_choice))
            return f"Reflecting on choice. Adjusting strategy to {new_strategy}."
        else:
            return "The choice was good. No need to adjust."

    def get_user_feedback(self, hotel):
        """
        Simulate user feedback based on hotel attributes.
        For simplicity, assume if the hotel is too cheap, the feedback is "bad".
        If the hotel has quality less than 7, feedback is "bad".
        """
        if hotel['price'] < 100 or hotel['quality'] < 7:
            return "bad"
        return "good"

# ဟိုတယ်စာရင်း (စျေးနှုန်းနှင့် အရည်အသွေး) ကို ဇယားကာ အတုဖန်တီးပါ
hotels = [
    {'name': 'Budget Inn', 'price': 80, 'quality': 6},
    {'name': 'Comfort Suites', 'price': 120, 'quality': 8},
    {'name': 'Luxury Stay', 'price': 200, 'quality': 9}
]

# ကိုယ်စားလှယ်တစ်ဦးကို ဖန်တီးပါ
agent = HotelRecommendationAgent()

# အဆင့် ၁: ကိုယ်စားလှယ်သည် "အကြမ်းစားစျေးသက်သာဆုံး" မဟာဗျူဟာကို အသုံးပြု၍ ဟိုတယ်တစ်ခုကို အကြံပြုသည်
recommended_hotel = agent.recommend_hotel(hotels, 'cheapest')
print(f"Recommended hotel (cheapest): {recommended_hotel['name']}")

# အဆင့် ၂: ကိုယ်စားလှယ်သည် ရွေးချယ်မှုကို သုံးသပ်ပြီး လိုအပ်ပါက မဟာဗျူဟာကို ပြင်ဆင်သည်
reflection_result = agent.reflect_on_choice()
print(reflection_result)

# အဆင့် ၃: ကိုယ်စားလှယ်သည် ပြင်ဆင်ပြီးသော မဟာဗျူဟာကို အသုံးပြု၍ ထပ်မံ အကြံပြုသည်
adjusted_recommendation = agent.recommend_hotel(hotels, 'highest_quality')
print(f"Adjusted hotel recommendation (highest_quality): {adjusted_recommendation['name']}")

အေးဂျင့်၏ metacognition စွမ်းဆောင်ရည်များ

အဓိကမှာ အေးဂျင့်တွင်

၎င်းသည် အတွင်းပိုင်းတုံ့ပြန်ချက်အပေါ် အခြေခံ၍ စနစ်၏ စူးစမ်းစဉ်းစားခြင်း လုပ်ငန်းစဉ်ကို ပြင်ဆင်နိုင်သော simple metacognition ပုံစံ ဖြစ်သည်။

အနှစ်ချုပ်

Metacognition သည် AI စက်များ၏ စွမ်းရည်များကို အလွန်တိုးတက်စေသော ကိရိယာတစ်ခု ဖြစ်သည်။ Metacognitive လုပ်ငန်းစဉ်များ ထည့်သွင်းခြင်းဖြင့် ပိုမိုလူသိရှင်ကြားပြီး၊ ကိုက်ညီသင့်တော်ပြီး ထိရောက်သော AI စက်များကို ဒီဇိုင်းပြုလုပ်နိုင်ပါသည်။ ပိုမိုလေ့လာလိုသူများအတွက် ထပ်ဆောင်းအရင်းအမြစ်များကို အသုံးပြုပြီး metacognition လောကကိုရှာဖွေကြပါစို့။

Metacognition Design Pattern အကြောင်း ပိုမိုမေးမြန်းလိုပါသလား?

အခြားလေ့လာသူများနှင့် တွေ့ဆုံ ချိတ်ဆက်ရန် Microsoft Foundry Discord တွင် ဝင်ရောက်ပါ၊ အစရှိသည်များသို့ တက်ရောက်ပြီး သင့် AI Agent မေးခွန်းများကို ဖြေကြားနိုင်ပါသည်။

ယခင်သင်ခန်းစာ

Multi-Agent Design Pattern

နောက်တစ်ခု သင်ခန်းစာ

AI Agents in Production


ပြောကြားချက် ဤစာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု Co-op Translator အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးပမ်းနေသော်လည်း၊ စက်ကိရိယာဘာသာပြန်ခြင်းများတွင် အမှားများ သို့မဟုတ် မှားယွင်းချက်များ ပါဝင်နိုင်ကြောင်း သတိပြုပါရန် လိုအပ်ပါသည်။ မူလစာတမ်းကို မူရင်းဘာသာဖြင့်သာ ယုံကြည်စိတ်ချရသော အချက်အလက်အဖြစ် သတ်မှတ်သင့်သည်။ အရေးကြီးသည့် သတင်းအချက်အလက်များအတွက် ပရော်ဖက်ရှင်နယ် လူသားဘာသာပြန်သူဝန်ဆောင်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်ချက်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုကွာခြားမှုများ သို့မဟုတ် မမှန်ကန်သော အသုံးပြုမှုများအတွက် ကျွန်ုပ်တို့ တာဝန်မခံပါ။