AI Builder เป็นความสามารถของ Microsoft Power Platform ที่คุณสามารถใช้งานเครื่องมือประเภทปัญญาประดิษฐ์ได้ โดยไม่ต้องมีความสามารถในด้านการเขียนโปรแกรม หรือเชี่ยวชาญในด้าน data science เลย เช่น Category classification, Object detection หรือการ Prediction ต่างๆ อีกทั้งยังใช้งานร่วมกับ Power Apps และ Power Automate เพื่อเพิ่มศักยภาพทางธุรกิจได้อีกด้วย
ตัวอย่างในบล็อคนี้ จะเป็นการนำ Form Processing ซึ่งเป็นเครื่องมือหนึ่งใน AI Builder มาทำการอ่านข้อมูลจากเอกสารไฟล์ pdf (ไฟล์ขอเบิกค่าเดินทาง) แล้วบันทึกข้อมูลอัตโนมัติ ไปยังโปรแกรม Dynamics 365 for Finance and Operations
และโดยปกติแล้วเรามักจะรับไฟล์มาจาก 2 แหล่งบ่อยๆคือ email หรือ share file แต่ scenario ของบล็อคนี้จะเพิ่มความพิเศษกว่าปกติคือ เราจะสาธิตการรับไฟล์จาก LINE App (แอพแชทสุดฮิตในบ้านเรา) กันครับ
Quick Suggest
ถ้าสนใจอยากรู้เพิ่มเติม ขอแนะนำบทความ
AI Builder
เริ่มต้นจากการสร้างตัว AI มาอ่านไฟล์เอกสารก่อน ซึ่งเมนู AI Builder สามารถเข้าได้ทั้งผ่านทาง Power Automate หรือ Power Apps ก็ได้ (document) ไปที่เมนู Build ด้านข้าง และเลือกไปที่ Form Processing
ตัวอย่างไฟล์ขอเบิกค่าเดินทาง ซึ่งต้อง save as ให้อยู่ในรูปแบบ format ดังนี้ JPG, PNG, or PDF format (text or scanned)
ขั้นตอนต่อไประบบจะให้เราเพิ่มฟิลไว้ก่อน สำหรับ mapping กับสิ่งที่ AI อ่านได้ (สร้างทั้งฟิล และเทเบิลสำหรับอ่านข้อมูลในรูปแบบตารางด้วย)
ตัว Model จะต้องได้รับการ Train จากไฟล์ตัวอย่าง ๆ น้อย 5 ไฟล์ (ซึ่งต้องเป็นไฟล์ที่มีข้อมูลแตกต่างกัน)
เมื่อตัว Model ถูก Train เสร็จแล้ว เราสามารถ Publish เพื่อนำในใช้งานได้ และสามารถนำไฟล์สำหรับทดสอบมา Quick test ได้เลย
LINE
ในส่วนของการสร้าง API สำหรับรับไฟล์นั้น ต้องเตรียมตัวดังนี้ สร้าง LINE Messaging API ที่ LINE Developers
เปิด mode Bot (เดิมจะเป็น chat สำหรับ LINE Official Account)
เปิด webhook สำหรับส่งออกข้อมูลการแชท (ส่วน URL มาจากการ setup Power Automate)
จำค่า access token สำหรับ call api ไปดึงค่าไฟล์ที่ส่งมาจาก user
ทำความเข้าใจในส่วน JSON message ที่จะถูกส่งข้อมูลออกมาจาก webhook และวิธีการ call api get Content (จาก link ใต้รูปภาพ)
Https://Developers.Line.Biz/En/Reference/Messaging-Api/#Wh-File
Https://Developers.Line.Biz/En/Reference/Messaging-Api/#Get-Content
LINE Notify สำหรับ alert message กลับไปเพื่อบอกการทำงานเสร็จสิ้น https://notify-bot.line.me
ขั้นตอนสุดท้าย ต้องชวนตัว Bot เข้า Line Group เพื่อที่จะรับไฟล์ (Bot จะไม่สามารถรับไฟล์จากการคุยแบบ 1:1 ได้)
ซึ่งในที่นี้ผมให้อยู่กลุ่มเดียวกันกับที่ตั้ง LINE Notify ไว้
Power Automate
เครื่องมือหลักในการทำงานแบบ Automation และความสามารถในการเชื่อมต่อระบบต่างๆ เข้ากับบริการและ Application ของ Microsoft โดยเราจะนำเครื่องมือนี้มาใช้ integration ระหว่าง LINE App, AI Builder และระบบ ERP
Overall Flow
อธิบายการทำงานคร่าว ๆ ของ Flow คือ
- เริ่มต้นด้วยการ Trigger เป็น Http Request สำหรับตั้งรับค่า Webhook จาก Bot
- เช็คเงื่อนไข Message ว่าเป็น Type File หรือไม่
- Call Api Get Content จาก Messageid เพื่อนำไฟล์มาใช้งาน
- ส่งต่อไฟล์ให้ Form Processing Model ทำการอ่านค่า Input ข้อมูลที่ได้ใน ERP (หน้าจอ Pending Vendor Invoices)
- Notify กลับผ่านทาง LINE
search trigger : Request
เลือก When an HTTP request is received
เลือกสร้าง json format จาก sample ตัวอย่างของ webhook message และนำ url ไป setup ไว้ที่ bot webhook url
search action : condition
เลือกตัวแปร type จาก step ก่อนหน้ามาเป็นเงื่อนไข
search action : HTTP
ระบุค่าตามรูป และนำ access token จาก bot มาระบุด้วย
search action : AI Builder
เลือก Process and save information from forms
ระบุชื่อ model และ file type ที่จะรับค่า
search action : Parse JSON
เพื่อแปลงข้อมูลจาก AI Builder (ในส่วนของ schema อาจจะต้องใช้เวลาในการศึกษาจาก output ของ step AI Builder ซึ่งจะแตกต่างกันไม่ตายตัว ขึ้นอยู่กับการ train)
search action : Dynamics 365 for Fin & Ops
เลือก Create record , Entity name : VendorInvoiceHeaders
ระบุค่าสำหรับรายการที่เป็น invoice header
search action : Apply to each เพื่อวนลูปข้อมูลที่เป็นตาราง
search action : Dynamics 365 for Fin & Ops
เลือก Create record , Entity name : VendorInvoiceLines
ระบุค่าสำหรับรายการที่เป็น invoice lines
search action : HTTP
ระบุค่าตามรูป และนำ token จาก line notify มาระบุด้วย
ทดสอบโดยการโยนไฟล์ pdf ลงไปใน Line Group
ก้าวเข้าสู่ Digital Business
ดูผลิตภัณฑ์ที่เกี่ยวข้องได้ที่นี่