Сайн уу, Хабр! Өнөөдөр бид Azure-г ашиглан хүний оролцоог шаарддаг асуудлуудыг хэрхэн шийдвэрлэхийг харуулах болно. Агентууд ижил асуултуудад хариулж, утасны дуудлага, мессеж бичихэд маш их цаг зарцуулдаг. Чатбот нь харилцаа холбоо, танилтыг автоматжуулж, хүмүүсийн ачааллыг бууруулдаг. Ботуудыг мөн Azure DevOps-д ашигладаг бөгөөд жишээлбэл, Slack эсвэл Microsoft Teams-аас шууд хувилбаруудыг батлах, бүтээцийг харах, эхлүүлэх, зогсоох зэрэг боломжийг олгодог. Үндсэндээ чатбот нь CLI-г санагдуулдаг, зөвхөн интерактив бөгөөд хөгжүүлэгч чатын хэлэлцүүлгийн хүрээнд үлдэх боломжийг олгодог.
Энэ нийтлэлд бид чатбот үүсгэх хэрэгслүүдийн талаар ярьж, танин мэдэхүйн үйлчилгээгээр тэдгээрийг хэрхэн сайжруулах, Azure дахь бэлэн үйлчилгээнүүдийн тусламжтайгаар хөгжлийг хэрхэн хурдасгах талаар тайлбарлах болно.
Чатбот ба танин мэдэхүйн үйлчилгээ: ижил төстэй байдал, ялгаа нь юу вэ?
Microsoft Azure дээр робот үүсгэхийн тулд та Azure Bot Service болон Bot Framework-ийг ашигладаг. Тэд хамтдаа роботуудыг бүтээх, турших, ашиглах, удирдахад зориулагдсан програм хангамжийн багц бөгөөд энэ нь бэлэн модулиудаас ярианы дэмжлэг, байгалийн хэл таних болон бусад чадвар бүхий энгийн болон дэвшилтэт харилцааны системийг бий болгох боломжийг олгодог.
Та корпорацийн асуулт хариултын үйлчилгээнд суурилсан энгийн роботыг хэрэгжүүлэх эсвэл эсрэгээр, нарийн төвөгтэй, салаалсан холбооны систем бүхий функциональ бот үүсгэх хэрэгтэй гэж бодъё. Үүнийг хийхийн тулд та гурван бүлэгт хуваагдсан хэд хэдэн хэрэгслийг ашиглаж болно.
- Харилцах интерфейсийг (бот) хурдан хөгжүүлэх үйлчилгээ.
- Төрөл бүрийн хэрэглээнд зориулагдсан танин мэдэхүйн хиймэл оюун ухааны бэлэн үйлчилгээ (загвар таних, яриа таних, мэдлэгийн сан, хайлт).
- AI загвар бүтээх, сургах үйлчилгээ.
Ихэвчлэн хүмүүс "бот" болон "танин мэдэхүйн үйлчилгээ" хоёрыг төөрөлдүүлдэг, учир нь эдгээр ойлголтууд нь харилцааны зарчимд суурилдаг бөгөөд робот, үйлчилгээг ашиглах тохиолдолд харилцан яриа байдаг. Гэхдээ чатботууд нь түлхүүр үг болон триггерүүдтэй ажилладаг бөгөөд танин мэдэхүйн үйлчилгээнүүд нь ихэвчлэн хүмүүс боловсруулдаг дурын хүсэлтүүдтэй ажилладаг:
Танин мэдэхүйн үйлчилгээ нь хэрэглэгчтэй харилцах өөр нэг арга бөгөөд дурын хүсэлтийг тодорхой команд болгон хувиргаж, робот руу дамжуулахад тусалдаг.
Тиймээс чатботууд нь хүсэлтүүдтэй ажиллах програмууд бөгөөд танин мэдэхүйн үйлчилгээнүүд нь тусад нь эхлүүлсэн боловч чатбот хандах боломжтой хүсэлтийг ухаалгаар шинжлэх хэрэгсэл бөгөөд "ухаалаг" болдог.
Чатбот үүсгэх
Azure дахь роботын санал болгож буй дизайны диаграмм нь дараах байдалтай байна.
Azure-д роботуудыг зохион бүтээх, хөгжүүлэхийн тулд ашиглана уу
Энэхүү хүрээ нь бот үүсгэх хэд хэдэн сонголтыг өгдөг: сонгодог код, командын мөрийн хэрэгсэл эсвэл урсгал диаграмыг ашиглах. Сүүлийн сонголт нь харилцах цонхыг дүрслэн харуулах бөгөөд үүний тулд та менежерийг ашиглаж болно
Bot Framework Composer нь танд блокуудыг ашиглан бот ажиллах харилцан ярианы бүтцийг бий болгох боломжийг олгодог. Нэмж дурдахад та триггер, өөрөөр хэлбэл харилцан ярианы үеэр робот хариу үйлдэл үзүүлэх түлхүүр үгсийг үүсгэж болно. Жишээлбэл, "оператор", "хулгай" эсвэл "зогсоох", "хангалттай" гэсэн үгс.
Bot Framework Composer-д та нарийн төвөгтэй харилцах системийг ашиглан үүсгэж болно
Үүсгэсэний дараа та чатботыг захиалгаар байршуулах боломжтой бөгөөд автоматаар бэлтгэсэн скрипт нь танин мэдэхүйн үйлчилгээ, Хэрэглээний төлөвлөгөө, Хэрэглээний ойлголт, мэдээллийн сан гэх мэт шаардлагатай бүх нөөцийг бий болгоно.
QnA Maker
Корпорацийн асуулт хариултын мэдээллийн санд суурилсан энгийн роботуудыг үүсгэхийн тулд та QnA Maker танин мэдэхүйн үйлчилгээг ашиглаж болно. Энгийн вэб шидтэн хэлбэрээр хэрэгжсэн бөгөөд энэ нь танд корпорацийн мэдлэгийн сан (FAQ URL) руу холбоос оруулах эсвэл баримт бичгийн мэдээллийн санг *.doc эсвэл *.pdf форматаар ашиглах боломжийг олгодог. Индексийг үүсгэсний дараа бот нь хэрэглэгчийн асуултад хамгийн тохиромжтой хариултыг автоматаар сонгох болно.
QnAMaker-ийг ашигласнаар та товчлууруудыг автоматаар үүсгэх замаар тодруулах асуултуудын гинж үүсгэж, мэдлэгийн санг мета өгөгдлөөр баяжуулж, ашиглалтын явцад үйлчилгээг цаашид сургах боломжтой.
Энэ үйлчилгээг зөвхөн энэ функцийг хэрэгжүүлдэг чатбот эсвэл хүсэлтээс хамааран бусад хиймэл оюун ухааны үйлчилгээ эсвэл Bot Framework-ийн элементүүдийг ашигладаг цогц чатботын нэг хэсэг болгон ашиглаж болно.
Бусад танин мэдэхүйн үйлчилгээтэй ажиллах
Azure платформ дээр танин мэдэхүйн олон төрлийн үйлчилгээ байдаг. Техникийн хувьд эдгээр нь кодоос дуудаж болох бие даасан вэб үйлчилгээ юм. Үүний хариуд үйлчилгээ нь чатбот дээр ашиглах боломжтой тодорхой форматтай json-г илгээдэг.
Чатботуудын хамгийн түгээмэл хэрэглээ нь:
- Текст таних.
- Хөгжүүлэгчийн тодорхойлсон Custom Vision Service зургийн ангиллыг хүлээн зөвшөөрөх (үйлдвэрлэлийн тохиолдол: ажилтан хатуу малгай, нүдний шил эсвэл маск өмссөн эсэхийг таних).
- Нүүр царай таних (маш сайн хэрэглэгдэхүүн бол судалгаанд хамрагдсан хүн өөрийн нүүр царай, эсвэл нохойны зураг эсвэл өөр хүйсийн хүний зургийг байрлуулсан эсэхийг шалгах явдал юм).
- Яриа таних.
- Зургийн шинжилгээ.
- Орчуулга (Скайп дээр синхрон орчуулга хийхэд хэр их шуугиан тарьсныг бид бүгд санаж байна).
- Үг үсгийн шалгалт, алдаа засах зөвлөмж.
Люис
Мөн робот үүсгэхийн тулд танд хэрэгтэй байж магадгүй юм
- Хэрэглэгчийн мэдэгдэл утга учиртай эсэх, роботын хариу шаардлагатай эсэхийг тодорхойлох.
- Хэрэглэгчийн яриаг (текст) ботод ойлгомжтой команд болгон хөрвүүлэх хүчин чармайлтыг багасгах.
- Хэрэглэгчийн жинхэнэ зорилго/зорилтыг урьдчилан таамаглаж, харилцан ярианы хэллэгүүдээс гол ойлголтыг гаргаж аваарай.
- Ботыг ажиллуулах явцад утгыг таних, дараа нь нэмэлт сургалтад хамрагдах цөөн хэдэн жишээг ашиглан хөгжүүлэгчид роботыг ажиллуулахыг зөвшөөрнө үү.
- Командын транскрипцийн чанарыг үнэлэхийн тулд дүрслэл ашиглахыг хөгжүүлэгчийг идэвхжүүлнэ үү.
- Жинхэнэ зорилтот таних чадварыг сайжруулахад туслах.
Үнэн хэрэгтээ LUIS-ийн гол зорилго нь хэрэглэгч юу гэсэн үг болохыг тодорхой магадлалаар ойлгож, байгалийн хүсэлтийг эв нэгдэлтэй команд болгон хувиргах явдал юм. Асуулгын утгыг танихын тулд LUIS нь зорилго (утга, санаа) болон нэгжийн багцыг (хөгжүүлэгчдийн урьдчилан тохируулсан, эсвэл урьдчилан үүсгэсэн "домайн" - Microsoft-ын бэлтгэсэн стандарт хэллэгүүдийн зарим бэлэн номын сангууд) ашигладаг.
Энгийн жишээ: танд цаг агаарын урьдчилсан мэдээ өгдөг робот байна. Түүний хувьд зорилго нь байгалийн хүсэлтийг "үйлдэл" болгон орчуулах болно - цаг агаарын урьдчилсан мэдээний хүсэлт байх бөгөөд байгууллагууд нь цаг хугацаа, газар байх болно. CheckWeather зорилго нь ийм ботын хувьд хэрхэн ажилладаг талаар диаграммыг энд харуулав.
Зорилго
Essence
Байгалийн асуулгын жишээ
Цаг агаарыг шалгана уу
{"төрөл": "байршил", "аж ахуйн нэгж": "москва"}
{"төрөл": "builtin.datetimeV2.date", "аж ахуйн нэгж": "ирээдүй","тогтоол":"2020-05-30"}
Маргааш Москвад цаг агаар ямар байх вэ?
Цаг агаарыг шалгана уу
{ "төрөл": "огнооны_муж", "аж ахуйн нэгж": "энэ амралтын өдөр"}
Энэ амралтын өдрүүдийн цаг агаарын урьдчилсан мэдээг харуул
QnA Maker болон LUIS-г нэгтгэхийн тулд та ашиглаж болно
Таныг QnA Maker-тэй ажиллаж, хэрэглэгчээс хүсэлт хүлээн авах үед QnA-ийн хариулт хүсэлттэй таарч байгаа магадлалын хэдэн хувийг систем тодорхойлдог. Хэрэв магадлал өндөр бол хэрэглэгчдэд корпорацийн мэдлэгийн сангаас хариулт өгөх бөгөөд хэрэв бага бол хүсэлтийг LUIS руу илгээж тодруулж болно. Диспетчер ашиглах нь энэ логикийг програмчлахгүй, харин хүсэлтийг салгах ирмэгийг автоматаар тодорхойлж, тэдгээрийг хурдан тараах боломжийг олгодог.
Ботыг туршиж, нийтэлж байна
Өөр нэг орон нутгийн програмыг туршилтанд ашигладаг.
Эмулятор ашиглах жишээг BMW-д зориулсан виртуал туслах бүтээхийг харуулсан энэхүү демо-д үзүүлэв. Видео нь чатбот үүсгэх шинэ хурдасгууруудын тухай өгүүлдэг - загварууд:
Та чат роботоо үүсгэхдээ загвар ашиглаж болно.
Загварууд нь стандарт ботын функцуудыг шинээр бичихгүй, харин бэлэн кодыг "ур чадвар" болгон нэмэх боломжийг олгодог. Жишээ нь хуанлитай ажиллах, цаг товлох гэх мэт. Бэлэн ур чадварын код
Туршилт амжилттай болж, робот бэлэн болсон бөгөөд одоо үүнийг нийтэлж, сувгуудыг холбох шаардлагатай байна. Нийтлэлийг Azure ашиглан хийдэг бөгөөд мессенжер эсвэл нийгмийн сүлжээг суваг болгон ашиглаж болно. Хэрэв танд өгөгдөл оруулах шаардлагатай суваг байхгүй бол та GitHab дээрх холбогдох нийгэмлэгээс хайж болно.
Мөн хэрэглэгч болон танин мэдэхүйн үйлчилгээтэй харилцах интерфейс болгон иж бүрэн чатбот үүсгэхийн тулд танд өгөгдлийн сан, сервергүй (Azure функцууд), мөн LogicApp үйлчилгээ зэрэг нэмэлт Azure үйлчилгээ хэрэгтэй болно. , Үйл явдлын сүлжээ.
Үнэлгээ ба аналитик
Хэрэглэгчийн харилцан үйлчлэлийг үнэлэхийн тулд та Azure Bot Service болон тусгай Application Insights үйлчилгээг хоёуланг нь ашиглаж болно.
Үүний үр дүнд та дараах шалгуурын дагуу мэдээлэл цуглуулж болно.
- Сонгосон хугацаанд хэчнээн хэрэглэгч янз бүрийн сувгаас бот руу хандсан бэ.
- Нэг мессеж илгээсэн хэдэн хэрэглэгч дараа нь буцаж ирээд өөр нэг мессеж илгээв.
- Заасан хугацааны интервалд суваг тус бүрийг ашиглан хичнээн үйлдэл илгээж, хүлээн авсан бэ.
Application Insights-ийг ашигласнаар та Azure дахь ямар ч програм, ялангуяа чатботуудыг хянаж, хэрэглэгчийн зан байдал, ачаалал, чатбот хариу үйлдэл зэрэг нэмэлт мэдээллийг авах боломжтой. Application Insights үйлчилгээ нь Azure портал дахь өөрийн гэсэн интерфэйстэй гэдгийг тэмдэглэх нь зүйтэй.
Та мөн энэ үйлчилгээгээр дамжуулан цуглуулсан өгөгдлийг PowerBI дээр нэмэлт дүрслэл, аналитик тайланг үүсгэхэд ашиглаж болно. PowerBI-д зориулсан ийм тайлан, загварын жишээг авч болно
Анхаарал тавьсан та бүхэнд баярлалаа! Энэ нийтлэлд бид ашигласан
Бид энэхүү вебинарыг Dev Bootcamp хөгжүүлэгчдэд зориулсан онлайн марафоны нэг хэсэг болгон хийлээ. Энэ нь автоматжуулалтын хэрэгсэл болон урьдчилан тохируулсан Azure модулиудыг ашиглан хөгжлийг хурдасгаж, компанийн ажилчдын ердийн ажлын ачааллыг хөнгөвчлөх бүтээгдэхүүнүүдийн тухай байв. Марафон гүйлтийн бусад вебинаруудын бичлэгийг дараах холбоосоор үзэх боломжтой.
Azure DevOps нь DevOps практикийг ашиглан ямар ч хэл дээр, ямар ч платформ дээр хөгжлийн бүрэн мөчлөгийг зохион байгуулах хэрэгсэл юм.
Бид Azure DevOps үйлчилгээний хувьсал болон шинэ боломжуудын талаар ярьж байна. Бид түүний бүх таван үндсэн бүрэлдэхүүн хэсэг, энэ үйлчилгээ нь үйлдвэрлэлийн програм хангамжийг хөгжүүлэхэд хэрхэн тусалдаг талаар нарийвчлан дүн шинжилгээ хийдэг. Илтгэгч: Владимир Гусаров Microsoft-ын MVP.Azure Pipelines ашиглан CI/CD зохион байгуулалт
Олон шатлалт YAML дамжуулах шугамыг ашиглан аливаа програмчлалын хэлэнд "код болгон угсрах" аргыг хэрхэн хэрэгжүүлэх талаар бид авч үздэг. Илтгэгч: Владимир Гусаров Microsoft-ын MVP.Azure Repos ашиглан бүтээгдэхүүний олон хувилбарыг нэгэн зэрэг дэмжих практик
Бид програм хангамжийн эх кодыг хэрхэн хадгалах стратеги боловсруулах, Azure Repos ашиглан хувилбар хадгалах системийг хэрхэн ашиглах талаар ярилцдаг. Илтгэгч: Владимир Гусаров Microsoft-ын MVP.Цагаан эх сурвалж. Аюулгүй нээлттэй эхийн номын сангуудыг хянах
Бид WhiteSource хэрэглүүрийг хөгжүүлэх, практикт хэрэглэхэд нээлттэй эхийн удирдлагын арга техникийг нэвтрүүлдэг. Бид WhiteSource ашиглан нээлттэй эхийн бүрэлдэхүүн хэсгүүдийн эмзэг байдлыг хайж, лицензийн цэвэр байдлыг хадгалах талаар ярьж байна. Илтгэгчид: WhiteSource борлуулалтын захирал Диана Лисбарон, WhiteSource компанийн Орос дахь албан ёсны дистрибьютер Вэб хяналт Дарья Орешкина нар.
Эх сурвалж: www.habr.com