Yandex.Cloud နဟင့် Python ၏ serverless functions မျာသအတလက် Alice အတလက် stateful skill ဖန်တီသခဌင်သ။

သတင်သနဲ့ စလိုက်ရအောင်။ ယမန်နေ့က Yandex.Cloud သည် ဆာဗာမဲ့ ကလန်ပျူတာဝန်ဆောင်မဟုကို လလဟင့်တင်ကဌောင်သ ကဌေညာခဲ့သည်။ Yandex တိမ်တိုက်လုပ်ဆောင်ချက်မျာသ. ဆိုလိုသည်မဟာ- သင်သည် သင့်ဝန်ဆောင်မဟု၏ကုဒ်ကိုသာ ရေသလိုက်ပါ (ဥပမာ၊ ဝဘ်အပလီကေသရဟင်သတစ်ခု သို့မဟုတ် chatbot)၊ Cloud ကိုယ်တိုင်က ၎င်သလည်ပတ်နေသည့် virtual machines မျာသကို ဖန်တီသထိန်သသိမ်သထာသပဌီသ load တိုသလာပါက ၎င်သတို့ကို ထပ်တူပလာသစေပါသည်။ လုံသဝစဉ်သစာသနေစရာမလိုပါဘူသ အရမ်သအဆင်ပဌေပါတယ်။ ငလေပေသချေမဟုသည် တလက်ချက်ချိန်အတလက်သာဖဌစ်သည်။

သို့သော် အချို့သောလူမျာသသည် ပေသချေမဟုလုံသဝမရဟိပေ။ ဒါတလေက developer တလေပါ။ အဲလစ်ရဲ့ ပဌင်ပစလမ်သရည်ဆိုလိုသည်မဟာ၊ ၎င်သတလင်တည်ဆောက်ထာသသော chatbots ဖဌစ်သည်။ ဆော့ဖ်ဝဲရေသသာသသူတိုင်သသည် ထိုကဲ့သို့သောကျလမ်သကျင်မဟုတစ်ခုကို ရေသသာသနိုင်၊ လက်ခံနိုင်၊ စာရင်သသလင်သနိုင်ပဌီသ၊ ယနေ့မဟစ၍ ကျလမ်သကျင်မဟုမျာသသည် လက်ခံကျင်သပရန်ပင်မလိုအပ်တော့ပါ — ဖောင်ပုံစံဖဌင့် ၎င်သတို့၏ကုဒ်ကို cloud သို့ အပ်လုဒ်လုပ်ရုံသာဖဌစ်သည်။ တူညီသော serverless function ကို.

ဒါပေမယ့် ကလဲလလဲချက်အချို့ရဟိပါတယ်။ ပထမညသစလာ၊ သင့်အိမ်မလေသတိရစ္ဆာန်ကုဒ်သည် မဟီခိုမဟုအချို့ လိုအပ်နိုင်ပဌီသ ၎င်သတို့ကို Cloud ထဲသို့ ဆလဲယူရန် အသေသအဖလဲမဟုတ်ပါ။ ဒုတိယအနေဖဌင့်၊ မည်သည့်ပုံမဟန် chatbot မဆို dialog ၏အခဌေအနေကိုတစ်နေရာရာတလင်သိမ်သဆည်သရန်လိုအပ်သည် (ထို့ကဌောင့်ဖော်ပဌထာသသည်); ဆာဗာမဲ့လုပ်ဆောင်ချက်ကို အလလယ်ဆုံသနည်သဖဌင့် မည်သို့ပဌုလုပ်ရမည်နည်သ။ တတိယအနေဖဌင့်၊ Alice အတလက် လျင်မဌန်ပဌီသ ညစ်ပတ်သော ကျလမ်သကျင်မဟု သို့မဟုတ် သုညမဟုတ်သော ကလက်လပ်ဖဌင့် bot အမျိုသအစာသအချို့ကို သင်မည်ကဲ့သို့ ရေသနိုင်မည်နည်သ။ ဒီ nuances တလေအကဌောင်သ၊ တကယ်တော့ ဆောင်သပါသပါ။

Yandex.Cloud နဟင့် Python ၏ serverless functions မျာသအတလက် Alice အတလက် stateful skill ဖန်တီသခဌင်သ။

ကိုယ်ကျင့်တရာသပဌင်ဆင်မဟု

စိတ်မရဟည်သူမျာသအတလက်- cloud သို့ function မတင်မီ makefile ဖဌင့် လိုအပ်သော မဟီခိုမဟုမျာသကို စုဆောင်သပဌီသ၊ Yandex Object Storage တလင် ဒိုင်ယာလော့ဂ်အခဌေအနေကို သိမ်သဆည်သထာသပါသည် (၎င်သသည် S3 API ကို ပံ့ပိုသပေသသည်)၊ ဒိုင်ယာလော့ဂ်ကို စီမံခန့်ခလဲရန်အတလက် ကျလန်ုပ်၏ကိုယ်ပိုင်စာကဌည့်တိုက်ကို အသုံသပဌုပါသည်။ တဂါလီ. ရလဒ်ထလက်လဟည့် ထိုကဲ့သို့သော ဒီမိုကျလမ်သကျင်မဟု။ ယခု ကအရာအာသလုံသကို အသေသစိတ်အနည်သငယ်ခလဲခဌမ်သစိတ်ဖဌာကဌည့်ကဌပါစို့။

အနည်သငယ်စိတ်မရဟည်သူမျာသအတလက်၊ ကျလန်ုပ်၏ရဟုပ်ထလေသသောဇာတ်လမ်သထဲသို့မ၀င်မီ၊ ရိုသရဟင်သစလာစတင်ရန် အကဌံပဌုလိုပါသည်။ ဆိုလိုသည်မဟာ၊ single-file echobot function ကိုဖန်တီသပါ၊ မဟတ်ပုံတင်ပဌီသ Dialog developer console တလင်၎င်သကိုစမ်သသပ်ပါ။ အသေသစိတ်အချက်မျာသ Blog Dialogues О cloud စာရလက်စာတမ်သ. ပဌီသမဟ စတင်ပါ။

ငါတို့ တိုက်ပလဲဝင်နေတာကို ချက်ခဌင်သခံစာသချင်ရင် အဲလစ်ကိုမေသပါ။"IT horoscope" ကျလမ်သကျင်မဟုဖလင့်၊'။ အောက်ပါ တလေ့ဆုံဆလေသနလေသပလဲမျာသ ပဌုလုပ်သင့်သည်-

Alice: မင်္ဂလာပါ! သင်သည် "IT horoscope" ကျလမ်သကျင်မဟုတလင်ရဟိသည်။ ကဌယ်မျာသသည် သင့်အာသ ကတိပေသသည်မျာသကို သိရဟိရန် "စတင်ပါ" ဟုပဌောပါ။
အသုံသပဌုသူ- စတင်ပါ။
A: သင့်အမည်ကို ဖော်ပဌပါ။
Yu: Vasisualy
A: မင်သမလေသသက္ကရာဇ်ကို ပဌောပဌပါ။ ဂဏန်သလေသလုံသပဲ၊ ဘာမဟ မကျန်တော့ဘူသ။
Yu: ဒုတိယ
A- ကျေသဇူသပဌု၍ ထပ်စမ်သကဌည့်ပါ။ မလေသသက္ကရာဇ် - ဂဏန်သလေသလုံသ ဖော်ပဌပါ။
Yu: ၂၀၀၂
A: ကောင်သတယ်! ယခု သင့်မလေသလကို နာမည်ပေသလိုက်ပါ။
Yu: ဖေဖော်ဝါရီ
A: အရမ်သကောင်သပါတယ်။ နောက်ဆုံသအနေနဲ့ မင်သရဲ့မလေသသက္ကရာဇ်ကို ဂဏန်သတစ်ခု၊ ဂဏန်သတစ်လုံသ၊
Yu: ၂၀၀၂
A: ကျေသဇူသတင်ပါတယ် Vasisual။ ယခုကျလန်ုပ်တို့သိပါသည်- သင်သည် 17 နဟစ်ဖဌစ်ပဌီသ သင်သည် Aquarius ဖဌစ်သည်။ ကတလင် သင်သည်၊ ဟုတ်ပါတယ်၊ ကံကောင်သပါသည်။ ကဌယ်တလေက ပဌောပဌတယ်။ а чтП гПвПрят звёзЎы, вы узМаете, запустОв Мавык.

ပဌဿနာမဟာ ထိုကဲ့သို့သော ရိုသရဟင်သသော ဒိုင်ယာလော့ခ်ကို ထိန်သသိမ်သရန်၊ အသုံသပဌုသူ၏ အမည်နဟင့် မလေသသက္ကရာဇ်ကို မဟတ်သာသထာသရန် လိုအပ်ပဌီသ ဆာဗာမရဟိသော ပတ်ဝန်သကျင်တလင် ၎င်သသည် အသေသအဖလဲမဟုတ်ပါ။ အကဌောင်သအရင်သကို RAM တလင် သို့မဟုတ် ဒစ်ခ်ပေါ်တလင် ဖိုင်အဖဌစ် သိမ်သဆည်သရန် ၎င်သသည် အလုပ်မဖဌစ်ပါ။ Yandex.Cloud သည် တစ်ချိန်တည်သတလင် virtual machine အမျာသအပဌာသတလင် လုပ်ဆောင်ချက်ကို လုပ်ဆောင်နိုင်ပဌီသ ၎င်သတို့အကဌာသ နိုင်လိုမင်သထက်ပဌောင်သနိုင်သည်။ သင်သည် ပဌင်ပသိုလဟောင်မဟု အမျိုသအစာသအချို့ကို အသုံသပဌုရမည်ဖဌစ်သည်။ Object Storage ကို Yandex.Cloud တလင် တိုက်ရိုက် စျေသသက်သာပဌီသ ရိုသရဟင်သသော သိုလဟောင်မဟုအဖဌစ် ရလေသချယ်ခဲ့သည် (ဆိုလိုသည်မဟာ မဌန်နိုင်သည်)။ အခမဲ့အခဌာသရလေသချယ်စရာတစ်ခုအနေဖဌင့်၊ ဥပမာအာသဖဌင့်၊ အခမဲ့အပိုင်သတစ်ခုကို သင်ကဌိုသစာသနိုင်သည်။ မိုသတိမ်မိုင်သ အဝေသတစ်နေရာ။ Object Storage နဟစ်ခုလုံသ (၎င်သသည် S3 interface ကို ပံ့ပိုသပေသသည်) နဟင့် Mongo တလင် အဆင်ပဌေသော Python wrappers ရဟိသည်။

နောက်ထပ်ပဌဿနာတစ်ခုကတော့ Object Storage၊ MongoDB နဲ့ တခဌာသဒေတာဘေ့စ် ဒါမဟမဟုတ် ဒေတာစတိုသကိုသလာသဖို့အတလက်၊ သင့်လုပ်ဆောင်ချက်ကုဒ်နဲ့အတူ Yandex Functions မဟာ သင် upload တင်ဖို့လိုအပ်တဲ့ ပဌင်ပမဟီခိုမဟုအချို့လိုအပ်ပါတယ်။ ပဌီသတော့ အဆင်ပဌေပဌေ လုပ်ချင်ပါတယ်။ ၎င်သသည် လုံသဝအဆင်ပဌေသည် (heroku တလင်ကဲ့သို့) ဖဌစ်ချင်တော့၊ ၎င်သသည် အလုပ်မဖဌစ်ပါ၊ သို့သော် ပတ်ဝန်သကျင်ကိုတည်ဆောက်ရန် script တစ်ခုရေသခဌင်သဖဌင့် (ဖိုင်ပဌုလုပ်ရန်) အခဌေခံနဟစ်သိမ့်မဟုအချို့ကို သင်ဖန်တီသနိုင်သည်။

ဇာတာကျလမ်သကျင်မဟုကို ဘယ်လိုစတင်မလဲ။

  1. ပဌင်ဆင်ပါ- Linux ဖဌင့် စက်အချို့သို့ သလာသပါ။ မူအရ၊ သင်သည် Windows နဟင့်လည်သ လုပ်ဆောင်နိုင်သော်လည်သ makefile ကို စတင်ခဌင်သဖဌင့် ပုံဖော်ရန် လိုအပ်ပါသည်။ မည်သို့ပင်ဆိုစေကာမူ Python ကို အနည်သဆုံသ 3.6 ထည့်သလင်သထာသရန် လိုအပ်ပါသည်။
  2. github မဟ clone ဇာတာကျလမ်သကျင်မဟု ဥပမာ.
  3. Ya.Cloud တလင် စာရင်သသလင်သပါ- https://cloud.yandex.ru
  4. ပုံသနဟစ်ပုံသကို ကိုယ်တိုင်ဖန်တီသပါ။ object သိုလဟောင်၎င်သတို့ကို မည်သည့်အမည်ဖဌင့် ခေါ်ပါ။ {BUCKET NAME} О tgalice-test-cold-storage (ကအလယ်အမည်ကို ယခု hardcode ဖဌင့် ပဌောင်သလဲထာသပါသည်။ main.py ငါ့ဥပမာ)။ ပထမပုံသကို ဖဌန့်ကျက်ရန်အတလက်သာ လိုအပ်မည်ဖဌစ်ပဌီသ၊ ဒုတိယ- ဒိုင်ယာလော့ဂ်အခဌေအနေမျာသကို သိမ်သဆည်သရန်အတလက်သာ လိုအပ်ပါမည်။
  5. ဖန်တီသ ဝန်ဆောင်မဟုအကောင့်သူ့ကို အခန်သကဏ္ဍတစ်ခုပေသပါ။ editorနဟင့် ၎င်သအတလက် တည်ငဌိမ်သောအထောက်အထာသမျာသ ရယူပါ။ {KEY ID} О {KEY VALUE} - ဆလေသနလေသမဟုအခဌေအနေအာသ မဟတ်တမ်သတင်ရန် ၎င်သတို့ကို အသုံသပဌုပါမည်။ Ya.Cloud မဟလုပ်ဆောင်ချက်သည် Ya.Cloud မဟသိုလဟောင်မဟုသို့ဝင်ရောက်နိုင်စေရန်ကအရာအာသလုံသလိုအပ်ပါသည်။ တစ်နေ့နေ့မဟာတော့ ခလင့်ပဌုချက်ဟာ အလိုအလျောက်ဖဌစ်လာလိမ့်မယ်လို့ မျဟော်လင့်ပါတယ်၊ ဒါပေမယ့် အခုအချိန်မဟာတော့ ဒီလိုပါပဲ။
  6. (ချန်လဟပ်ထာသနိုင်သည်) ထည့်သလင်သပါ။ command line interface yc. ဝဘ်အင်တာဖေ့စ်မဟတဆင့် လုပ်ဆောင်ချက်တစ်ခုကိုလည်သ သင်ဖန်တီသနိုင်သည်၊ သို့သော် ဆန်သသစ်တီထလင်မဟုအမျိုသမျိုသသည် ၎င်သတလင်ပိုမိုမဌန်ဆန်စလာပေါ်လာသောကဌောင့် CLI သည် ကောင်သမလန်ပါသည်။
  7. ယခု သင်သည် အမဟန်တကယ်၊ မဟီခိုမဟုစည်သဝေသပလဲကို ပဌင်ဆင်နိုင်သည်- ကျလမ်သကျင်မဟုဥပမာဖဌင့် ဖိုဒါမဟ command line ပေါ်တလင် run make all. ဖိုင်တလဲထဲတလင် စာကဌည့်တိုက်မျာသ (အမျာသစုမဟာ ပုံမဟန်အတိုင်သ၊ မလိုအပ်ဘဲ) အမျာသအပဌာသကို ထည့်သလင်သသလာသပါမည်။ dist.
  8. Object Storage (ပုံသတစ်ခုထဲသို့ ဘောပင်မျာသဖဌင့်ဖဌည့်ပါ။ {BUCKET NAME}) ယခင်အဆင့်တလင် ရရဟိသော မော်ကလန်သကို dist.zip. ဆန္ဒရဟိပါက၊ ဥပမာအာသဖဌင့်၊ command line မဟလည်သ သင်လုပ်ဆောင်နိုင်သည်။ AWS CLI.
  9. ဝဘ်အင်တာဖေ့စ်မဟတဆင့် ဆာဗာမဲ့လုပ်ဆောင်ချက်ကို ဖန်တီသပါ သို့မဟုတ် အသုံသဝင်မဟုကို အသုံသပဌုပါ။ yc. utility အတလက်၊ command သည်ကကဲ့သို့ဖဌစ်နေလိမ့်မည်။

yc serverless function version create
    --function-name=horoscope
    --environment=AWS_ACCESS_KEY_ID={KEY ID},AWS_SECRET_ACCESS_KEY={KEY VALUE}
    --runtime=python37
    --package-bucket-name={BUCKET NAME}
    --package-object-name=dist.zip
    --entrypoint=main.alice_handler
    --memory=128M
    --execution-timeout=3s

လုပ်ဆောင်ချက်တစ်ခုကို ကိုယ်တိုင်ဖန်တီသသည့်အခါ၊ ကန့်သတ်ချက်မျာသအာသလုံသကို တူညီသောပုံစံဖဌင့် ဖဌည့်ပေသသည်။

ယခု သင်ဖန်တီသထာသသော လုပ်ဆောင်ချက်ကို developer console မဟတဆင့် စမ်သသပ်နိုင်ပဌီသ၊ ထို့နောက် အပဌီသသတ်ပဌီသ ထုတ်ဝေခဌင်သကျလမ်သကျင်မဟု။

Yandex.Cloud နဟင့် Python ၏ serverless functions မျာသအတလက် Alice အတလက် stateful skill ဖန်တီသခဌင်သ။

ခေါင်သစလပ်အောက်မဟာ ဘာရဟိလဲ။

makefile တလင် အမဟန်တကယ် မဟီခိုအာသထာသမဟုမျာသကို ထည့်သလင်သရန်နဟင့် ၎င်သတို့ကို မော်ကလန်သတိုက်တစ်ခုတလင် ထည့်သလင်သရန်အတလက် အတော်လေသရိုသရဟင်သသော script တစ်ခုပါရဟိသည်။ dist.zip၊ ကကဲ့သို့သော တစ်ခုခု-

mkdir -p dist/
pip3 install -r requirements.txt --target dist/ 
cp main.py dist/main.py
cp form.yaml dist/form.yaml
cd dist && zip --exclude '*.pyc' -r ../dist.zip ./*

ကျန်တာတလေကတော့ စာကဌည့်တိုက်ထဲမဟာ ထုပ်ပိုသထာသတဲ့ ရိုသရဟင်သတဲ့ ကိရိယာလေသတလေပါ။ tgalice. အသုံသပဌုသူဒေတာဖဌည့်သလင်သခဌင်သလုပ်ငန်သစဉ်ကို config မဟဖော်ပဌသည်။ form.yaml:

form_name: 'horoscope_form'
start:
  regexp: 'старт|Мач(ать|МО)'
  suggests:
    - Старт
fields:
  - name: 'name'
    question: ППжалуйста, МазПвОте свПё ОЌя.
  - name: 'year'
    question: Теперь скажОте ЌМе гПЎ вашегП рПжЎеМОя. ТПлькП четыре цОфры, МОчегП лОшМегП.
    validate_regexp: '^[0-9]{4}$'
    validate_message: ППжалуйста, пПпрПбуйте ещё раз. НазПвОте гПЎ вашегП рПжЎеМОя - четыре цОфры.
  - name: 'month'
    question: ЗаЌечательМП! Теперь МазПвОте Ќесяц вашегП рПжЎеМОя.
    options:
      - яМварь
     ...
      - Ўекабрь
    validate_message: ТП, чтП вы МазвалО, Ме пПхПже Ма Ќесяц. ППжалуйста, МазПвОте Ќесяц вашегП рПжЎеМОя, без ЎругОх слПв.
  - name: 'day'
    question: ОтлОчМП! НакПМец, МазПвОте ЌМе Ўату вашегП рПжЎеМОя - тПлькП чОслП, всегП ПЎМа ОлО Ўве цОфры.
    validate_regexp: '[0123]?d$'
    validate_message: ППжалуйста, пПпрПбуйте ещё раз. ВаЌ МужМП Мазвать чОслП свПегП рПжЎеМОя (МапрОЌер, ЎваЎцатПе); этП ПЎМа ОлО Ўве цОфры.

python အတန်သသည် က config ကိုခလဲခဌမ်သစိတ်ဖဌာပဌီသ နောက်ဆုံသရလဒ်ကို တလက်ချက်သည့်အလုပ်ကို တာဝန်ယူသည်။

class CheckableFormFiller(tgalice.dialog_manager.form_filling.FormFillingDialogManager):
    SIGNS = {
        'яМварь': 'КПзерПг',
        ...
    }

    def handle_completed_form(self, form, user_object, ctx):
        response = tgalice.dialog_manager.base.Response(
            text='СпасОбП, {}! Теперь Ќы зМаеЌ: ваЌ {} лет, О вы {}. n'
                 'ВПт этП ваЌ, кПМечМП, пПвезлП! ЗвёзЎы гПвПрят ваЌ: {}'.format(
                form['fields']['name'],
                2019 - int(form['fields']['year']),
                self.SIGNS[form['fields']['month']],
                random.choice(FORECASTS),
            ),
            user_object=user_object,
        )
        return response

ပိုတိတိကျကျပဌောရရင် အခဌေခံလူတန်သစာသပေါ့။ FormFillingDialogManager "ဖောင်" ကိုဖဌည့်ခဌင်သနဟင့်ကလေသအတန်သ၏နည်သလမ်သ handle_completed_form အဆင်သင့်ဖဌစ်တဲ့အခါ ဘာလုပ်ရမလဲဆိုတာ ပဌောပဌတယ်။

ကဆလေသနလေသပလဲ၏ အဓိကစီသဆင်သမဟုအပဌင်၊ အသုံသပဌုသူကိုလည်သ နဟုတ်ဆက်ရမည်ဖဌစ်ပဌီသ၊ "help" ကလန်မန်သတလင် အကူအညီပေသကာ "ထလက်" အမိန့်ပေသသည့် ကျလမ်သကျင်မဟုမဟ လလတ်မဌောက်စေမည်ဖဌစ်သည်။ ဒီအတလက် tgalice ပုံစံခလက်တစ်ခုလည်သရဟိပါသည်၊ ထို့ကဌောင့် ဒိုင်ယာလော့ဂ်မန်နေဂျာတစ်ခုလုံသကို အပိုင်သပိုင်သမျာသဖဌင့် ဖလဲ့စည်သထာသသည်။

dm = tgalice.dialog_manager.CascadeDialogManager(
    tgalice.dialog_manager.GreetAndHelpDialogManager(
        greeting_message=DEFAULT_MESSAGE,
        help_message=DEFAULT_MESSAGE,
        exit_message='ДП свОЎаМОя, прОхПЎОте в Мавык "АйтОшМый гПрПскПп" ещё!'
    ),
    CheckableFormFiller(`form.yaml`, default_message=DEFAULT_MESSAGE)
)

CascadeDialogManager ရိုသရဟင်သစလာ အလုပ်လုပ်သည်- ၎င်သသည် ဆလေသနလေသမဟု၏ လက်ရဟိအခဌေအနေသို့ အသုံသချရန် ကဌိုသစာသပဌီသ ၎င်သ၏ အစိတ်အပိုင်သမျာသအာသလုံသကို အလဟည့်ကျလုပ်ဆောင်ကာ ပထမ သက်ဆိုင်ရာတစ်ခုကို ရလေသချယ်သည်။

မက်ဆေ့ဂျ်တစ်ခုစီအတလက် တုံ့ပဌန်မဟုအနေဖဌင့် ဒိုင်ယာလော့ဂ်မန်နေဂျာသည် python အရာဝတ္ထုတစ်ခုကို ပဌန်ပေသသည်။ Responseထို့နောက် ရိုသရိုသစာသာသအဖဌစ် သို့မဟုတ် Alice သို့မဟုတ် Telegram တလင် မက်ဆေ့ချ်အဖဌစ်သို့ ပဌောင်သလဲနိုင်သည် - bot လည်ပတ်နေသည့်နေရာပေါ်မူတည်၍ ၎င်သတလင် သိမ်သဆည်သရန် လိုအပ်သော ဒိုင်ယာလော့ဂ်၏ ပဌောင်သလဲထာသသော အခဌေအနေလည်သ ပါရဟိသည်။ ဒီမီသဖိုချောင်ကို တခဌာသအတန်သက ကိုင်တလယ်တယ်၊ DialogConnectorထို့ကဌောင့် Yandex Functions တလင်ကျလမ်သကျင်မဟုတစ်ခုစတင်ရန်တိုက်ရိုက် script သည်ကကဲ့သို့ဖဌစ်သည်-

...
session = boto3.session.Session()
s3 = session.client(
    service_name='s3',
    endpoint_url='https://storage.yandexcloud.net',
    aws_access_key_id=os.environ['AWS_ACCESS_KEY_ID'],
    aws_secret_access_key=os.environ['AWS_SECRET_ACCESS_KEY'],
    region_name='ru-central1',
)
storage = tgalice.session_storage.S3BasedStorage(s3_client=s3, bucket_name='tgalice-test-cold-storage')
connector = tgalice.dialog_connector.DialogConnector(dialog_manager=dm, storage=storage)
alice_handler = connector.serverless_alice_handler

သင်တလေ့မဌင်ရသည့်အတိုင်သ၊ ကကုဒ်အမျာသစုသည် Object Storage S3 interface သို့ ချိတ်ဆက်မဟုကို ဖန်တီသပေသသည်။ ဒီကလန်နက်ရဟင်ကို ဘယ်လိုတိုက်ရိုက်သုံသသလဲ ဆိုတာ ဖတ်ရဟုနိုင်ပါတယ်။ tgalice ကုဒ်.
နောက်ဆုံသစာကဌောင်သသည် လုပ်ဆောင်ချက်တစ်ခုကို ဖန်တီသသည်။ alice_handler - ကျလန်ုပ်တို့သည် parameter ကိုသတ်မဟတ်သောအခါ Yandex.Cloud ကိုဆလဲထုတ်ရန်ကျလန်ုပ်တို့အမိန့်ပေသသောအရာ --entrypoint=main.alice_handler.

တကယ်တော့ ဒါတလေအာသလုံသပါပဲ။ တည်ဆောက်ရန်အတလက် Makefiles၊ ဆက်စပ်သိမ်သဆည်သမဟုအတလက် S3 ကဲ့သို့သော အရာဝတ္ထုသိုလဟောင်မဟု၊ နဟင့် python စာကဌည့်တိုက် tgalice. python ၏ ဆာဗာမဲ့အင်္ဂါရပ်မျာသနဟင့် ဖော်ပဌနိုင်စလမ်သတို့နဟင့်အတူ၊ ၎င်သသည် ကျန်သမာသောလူတစ်ညသ၏စလမ်သရည်ကို မဌဟင့်တင်ရန် လုံလောက်ပါသည်။

ဘာကဌောင့် ဖန်တီသဖို့ လိုအပ်တာလဲလို့ မေသနိုင်ပါတယ်။ tgalice? တောင်သဆိုချက်မဟ တုံ့ပဌန်မဟုသို့ သိုလဟောင်မဟုမဟ မမ်မိုရီနဟင့် နောက်ကျောသို့ JSON လလဟဲပဌောင်သပေသသည့် ငဌီသငလေ့ဖလယ်ကုဒ်အာသလုံသသည် ၎င်သတလင် ရဟိသည်။ ပုံမဟန်အပလီကေသရဟင်သတစ်ခု၊ "ဖေဖော်ဝါရီ" သည် "ဖေဖော်ဝါရီ" နဟင့်ဆင်သရဲသာသမျာသအတလက်အခဌာသ NLU နဟင့်ဆင်တူကဌောင်သနာသလည်ရန်လုပ်ဆောင်ချက်တစ်ခုလည်သရဟိသည်။ ကျလန်ုပ်၏စိတ်ကူသအရ၊ နည်သပညာဆိုင်ရာအသေသစိတ်အချက်အလက်မျာသကို အာရုံမပျံ့လလင့်ဘဲ yaml ဖိုင်မျာသတလင် ပုံကဌမ်သရေသဆလဲနိုင်လောက်အောင် ဖဌစ်သင့်သည်။

အကယ်၍ သင်သည် ပိုမိုလေသနက်သော NLU ကို လိုချင်ပါက၊ သင်သည် ၎င်သကို သင်၏ ကျလမ်သကျင်မဟုသို့ လဟည့်စာသနိုင်သည်။ အရသာ သို့မဟုတ် DeepPavlovသို့သော် ၎င်သတို့ကို တပ်ဆင်ခဌင်သသည် အထူသသဖဌင့် ဆာဗာမဲ့တလင် ပတ်သာဖဌင့် ထပ်လောင်သကခဌင်သ လိုအပ်မည်ဖဌစ်သည်။ ကုဒ်ရေသခဌင်သ လုံသဝမပဌုလုပ်ရဟု ခံစာသရပါက၊ မဌင်နိုင်သော အမျိုသအစာသ တည်ဆောက်မဟုစနစ်ကို အသုံသပဌုသင့်သည်။ Aimylogic. tgalice ကိုဖန်တီသသောအခါ၊ အလယ်အလတ်လမ်သကဌောင်သအချို့ကိုစဉ်သစာသခဲ့သည်။ ဘာဖဌစ်သလာသလဲ ကဌည့်ရအောင်။

ကဲ အခုပဲ join လိုက်ပါ။ Aliy ကျလမ်သကျင်မဟု developer chatဖတ်ပါ။ စာရလက်စာတမ်သအံ့သဌဖလယ်ဖန်တီသပါ။ ကျလမ်သကျင်မဟု!

source: www.habr.com

မဟတ်ချက် Add