Skip to content

Latest commit

 

History

History
58 lines (41 loc) · 6.99 KB

File metadata and controls

58 lines (41 loc) · 6.99 KB

สรุประบบ AI, ML, Chatbot และการแจ้งเตือน (Tigersoft Smart Office SPU)

เอกสารนี้สรุปการทำงานของฟีเจอร์หลักในโปรเจคที่เกี่ยวข้องกับ Artificial Intelligence (AI), Machine Learning (ML), ระบบ Chatbot และระบบการแจ้งเตือน (รวมถึง Email/Line)


1. งานด้าน AI และ Machine Learning (AI & ML)

ระบบประมวลผลและสร้างข้อมูลเชิงลึกด้านพลังงาน แบ่งออกเป็น 3 ส่วนหลัก:

1.1 การพยากรณ์การใช้พลังงาน (Electricity Forecasting)

  • โมเดลที่ใช้: XGBoost (XGBRegressor สำหรับ Time Series Forecasting)
  • หน้าที่: นำข้อมูลการใช้ไฟฟ้าย้อนหลัง (จาก Kafka / MongoDB) มาพยากรณ์แนวโน้มการใช้ไฟล่วงหน้าแบบ 30 วัน
  • การแสดงผล: ทำงานแบบเบื้องหลัง (Background Job) ทุกเที่ยงคืน เพื่อเตรียมข้อมูลพยากรณ์รายเดือน และประเมินแนวโน้มค่าไฟฟ้า (Estimated Cost) ที่จะเกิดขึ้น

1.2 การตรวจจับความผิดปกติ (Anomaly Detection)

  • โมเดลที่ใช้: Isolation Forest ร่วมกับการวิเคราะห์ตามเงื่อนไข (Rule-based)
  • หน้าที่: ตรวจสอบพฤติกรรมการใช้ไฟฟ้าที่ผิดปกติของแต่ละอุปกรณ์
  • Dynamic Thresholds: มีการปรับลิมิตการแจ้งเตือนกระแสไฟเกินแบบอัตโนมัติตามชื่ออุปกรณ์
    • 4000W สำหรับอุปกรณ์ประเภท breaker หรือ main
    • 2900W สำหรับอุปกรณ์ทั่วไปประเภท plug หรือ switch

1.3 ผู้ช่วย AI วิเคราะห์เชิงลึก (AI Insight)

  • โมเดลที่ใช้: Google Gemini (gemini-2.5-flash API)
  • หน้าที่: วิเคราะห์ข้อมูลจากการใช้งานจริงและการเกิด Anomaly เพื่อแปลงเป็นคำแนะนำภาษาคน (Natural Language)
  • ผลลัพธ์: สรุปคำแนะนำสำหรับการประหยัดพลังงาน ประเมินค่าความคุ้มค่า และการปรับพฤติกรรมเป็นรายเดือน (Monthly Savings Estimation)

2. งานด้าน Chatbot (Energy Chat)

ระบบมี Chatbot สำหรับตอบคำถามและให้ข้อมูลเรื่องพลังงานแก่ผู้ใช้งานในระบบ:

  • Frontend Interface: มีหน้าต่าง ChatWidget เพื่อรับข้อความจากผู้ใช้งานผ่านแอปพลิเคชัน
  • API & Middleware: เมื่อส่งข้อความ ระบบจะยิงไปที่ Next.js API (/api/chat/route.ts)
  • AI Integration & Automation: ฝั่ง API จะทำหน้าที่เป็นตัวกลางส่งข้อมูล (Payload) ไปยัง n8n Webhook (https://n8n.../webhook/energy-chat) ซึ่งระบบ n8n จะรับหน้าที่รัน Workflow เพื่อสื่อสารกับ AI, ดึงข้อมูล และส่งคำตอบกลับมายังหน้าบ้าน

3. งานด้านการแจ้งเตือน (Notifications & Emails)

ระบบการแจ้งเตือนถูกออกแบบมาให้ส่งออกหลายช่องทาง ทั้งในแอปพลิเคชัน (In-App), Email และ Line โดยมีศูนย์กลางการส่งออกที่ n8n:

3.1 การแจ้งเตือนจากฝั่ง AI (Python)

  • การทำงาน: เมื่อระบบพบความผิดปกติ (Anomaly) แบบรุนแรง (เช่น ไฟกระชาก, โหลดเกิน) ระบบจะส่งข้อมูลผ่านสคริปต์ notify_n8n.py
  • ข้อมูลที่ส่ง: ส่งระดับความรุนแรง (วิกฤต, เฝ้าระวัง, ปกติ), ชนิดการแจ้งเตือน, ชื่ออุปกรณ์, และค่ากำลังไฟปัจจุบัน (W) พร้อมจัดเตรียมข้อความสรุปสำหรับส่งเข้า Email หรือ Line

3.2 การแจ้งเตือนจากฝั่ง Core Backend (Go)

  • Notification Service: ระบบจัดการการแจ้งเตือนภายในแอปพลิเคชัน (In-App) ซึ่งมีการแจ้งเตือนหลากหลายประเภท เช่น:
    • อุปกรณ์ออนไลน์ / ออฟไลน์
    • การควบคุมอุปกรณ์ล้มเหลว
    • การตั้งเวลา (Schedule) ทำงานสำเร็จ/ล้มเหลว
    • สรุปค่าไฟรายวัน หรือพบการใช้ไฟที่สูงผิดปกติ
  • การเชื่อมต่อภายนอก: ระบบ Backend ของ Go สามารถทำการยิงข้อมูลแบบ Asynchronous ขนานไปยัง n8n Webhook ตัวเดียวกัน เพื่อที่จะส่งข้อมูลสรุปเหล่านี้ไปยังผู้ดูแลระบบผ่านทาง Email ทันทีที่มีเหตุกาณ์สำคัญเกิดขึ้น
  • User Preferences: รองรับการตั้งค่าโดยผู้ใช้งาน (Tenant Configuration) ว่าต้องการเปิดหรือปิดรับการแจ้งเตือนระดับใด (Critical, Warning, Info)

Generated by Antigravity