EP 8: บันทึกข้อมูลจากเอกสารอัตโนมัติด้วย Form Processing with AI Builder ไปยัง Microsoft Dynamics 365 for Finance and Operations

การนำ Form Processing ซึ่งเป็นเครื่องมือหนึ่งใน AI Builder มาทำการอ่านข้อมูลจากเอกสารไฟล์ pdf (ไฟล์ขอเบิกค่าเดินทาง) บันทึกข้อมูลอัตโนมัติ ไปยังโปรแกรม D365FO
blog cover8
ทางลัด: เลือกอ่านเฉพาะเรื่องที่อยากรู้

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 (แอพแชทสุดฮิตในบ้านเรา) กันครับ

AI Builder

เริ่มต้นจากการสร้างตัว AI มาอ่านไฟล์เอกสารก่อน ซึ่งเมนู AI Builder สามารถเข้าได้ทั้งผ่านทาง Power Automate หรือ Power Apps ก็ได้ (document) ไปที่เมนู Build ด้านข้าง และเลือกไปที่ Form Processing

AI Builder 1

ตัวอย่างไฟล์ขอเบิกค่าเดินทาง ซึ่งต้อง save as ให้อยู่ในรูปแบบ format ดังนี้ JPG, PNG, or PDF format (text or scanned)

AI Builder 2

ขั้นตอนต่อไประบบจะให้เราเพิ่มฟิลไว้ก่อน สำหรับ mapping กับสิ่งที่ AI อ่านได้ (สร้างทั้งฟิล และเทเบิลสำหรับอ่านข้อมูลในรูปแบบตารางด้วย)

AI Builder 3
AI Builder 4

ตัว Model จะต้องได้รับการ Train จากไฟล์ตัวอย่าง ๆ น้อย 5 ไฟล์ (ซึ่งต้องเป็นไฟล์ที่มีข้อมูลแตกต่างกัน)

AI Builder 5
AI Builder 6

เมื่อตัว Model ถูก Train เสร็จแล้ว เราสามารถ Publish เพื่อนำในใช้งานได้ และสามารถนำไฟล์สำหรับทดสอบมา Quick test ได้เลย

AI Builder 7

LINE

ในส่วนของการสร้าง API สำหรับรับไฟล์นั้น ต้องเตรียมตัวดังนี้ สร้าง LINE Messaging API ที่ LINE Developers

AI Builder 8

เปิด mode Bot (เดิมจะเป็น chat สำหรับ LINE Official Account)
เปิด webhook สำหรับส่งออกข้อมูลการแชท (ส่วน URL มาจากการ setup Power Automate)
จำค่า access token สำหรับ call api ไปดึงค่าไฟล์ที่ส่งมาจาก user

AI Builder 9
AI Builder 10
AI Builder 28

ทำความเข้าใจในส่วน JSON message ที่จะถูกส่งข้อมูลออกมาจาก webhook และวิธีการ call api get Content (จาก link ใต้รูปภาพ)

AI Builder 11

Https://Developers.Line.Biz/En/Reference/Messaging-Api/#Wh-File

AI Builder 12

Https://Developers.Line.Biz/En/Reference/Messaging-Api/#Get-Content

LINE Notify สำหรับ alert message กลับไปเพื่อบอกการทำงานเสร็จสิ้น https://notify-bot.line.me

AI Builder 13

ขั้นตอนสุดท้าย ต้องชวนตัว Bot เข้า Line Group เพื่อที่จะรับไฟล์ (Bot จะไม่สามารถรับไฟล์จากการคุยแบบ 1:1 ได้)
ซึ่งในที่นี้ผมให้อยู่กลุ่มเดียวกันกับที่ตั้ง LINE Notify ไว้

AI Builder 14

Power Automate

เครื่องมือหลักในการทำงานแบบ Automation และความสามารถในการเชื่อมต่อระบบต่างๆ เข้ากับบริการและ Application ของ Microsoft โดยเราจะนำเครื่องมือนี้มาใช้ integration ระหว่าง LINE App, AI Builder และระบบ ERP 

AI Builder 15

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
AI Builder 16

search trigger : Request
เลือก When an HTTP request is received
เลือกสร้าง json format จาก sample ตัวอย่างของ webhook message และนำ url ไป setup ไว้ที่ bot webhook url

AI Builder 17

search action : condition
เลือกตัวแปร type จาก step ก่อนหน้ามาเป็นเงื่อนไข

AI Builder 18

search action : HTTP
ระบุค่าตามรูป และนำ access token จาก bot มาระบุด้วย

AI Builder 19

search action : AI Builder
เลือก Process and save information from forms
ระบุชื่อ model และ file type ที่จะรับค่า

AI Builder 20

search action : Parse JSON
เพื่อแปลงข้อมูลจาก AI Builder (ในส่วนของ schema อาจจะต้องใช้เวลาในการศึกษาจาก output ของ step AI Builder ซึ่งจะแตกต่างกันไม่ตายตัว ขึ้นอยู่กับการ train)

AI Builder 21

search action : Dynamics 365 for Fin & Ops
เลือก Create record , Entity name : VendorInvoiceHeaders
ระบุค่าสำหรับรายการที่เป็น invoice header

AI Builder 22

search action : Apply to each เพื่อวนลูปข้อมูลที่เป็นตาราง

 

search action : Dynamics 365 for Fin & Ops
เลือก Create record , Entity name : VendorInvoiceLines
ระบุค่าสำหรับรายการที่เป็น invoice lines

AI Builder 23

search action : HTTP
ระบุค่าตามรูป และนำ token จาก line notify มาระบุด้วย

AI Builder 24

ทดสอบโดยการโยนไฟล์ pdf ลงไปใน Line Group

AI Builder 25
AI Builder 26
AI Builder 27

ก้าวเข้าสู่ Digital Business

ดูผลิตภัณฑ์ที่เกี่ยวข้องได้ที่นี่

Table of Content