มาจดไว้ก่อน เพราะได้ตั้งโจทย์ลองทำ Local LLM + n8n ทำสรุปข่าวนี้ โดยตั้งต้นจาก devblogs.microsoft แต่ทิ้งไว้่ Week นึงแล้วไม่มีข่าวอะไรมาเลยต้องลองหาสาเหตุ ได้เป็น Blog ตามนี้
Table of Contents
สำหรับรายละเอียดตามนี้เลย เริ่มจาก

📌 Schedule Trigger ผมตั้งไว้ตอนตี 4
📌 RSS Feed ผมให้มันดึงจาก https://devblogs.microsoft.com/feed
📌 Filter เขียน javascript ต้นทางจะมี isoDate เอาตัดมาเฉพาะวันที่ แล้วเอามาเทียบกับวันที่ปัจจุบัน เพื่อกรองออก
📌 Node IF
- ถ้าไม่มีให้เข้า Path No New On Today
- ถ้ามีส่งใน Node AI Agent จัดการก่อน
📌 ตอนนี้จะเป็น Node AI Agent ผมเชื่อมกับ Ollama และใช้ Model Qwen3 แล้วแจ้งตาม Prompt ดังนี้
คุณเป็นผู้เชี่ยวชาญด้านข่าว IT รบกวนสรุปข่าวเป็นภาษาไทย ให้หน่อยครับ จากข้อมูล ดังนี้ {{ $json.title }} {{ $json["content:encodedSnippet"] }} {{ $json.link }} รวมถึงแสดง Link ที่มา เพื่อเข้าไปอ่านเพิ่มเติม
📌 หลังจากนั้นรอ AI มันทำ ถ้าทำเสร็จเราจะได้ json array มา ที่นี่ มันจะมีส่วนของ Model Qwen3 มันคิด (Tag think) ผมก็เลยจะตัดออก โดยใช้ Code แปะลง Node Code ตามนี้
const results = $input.all().map(obj => { let str = obj.json.output || ""; // ตัด <think>...</think> ทั้งหมด (รวมข้ามบรรทัด) str = str.replace(/<think>[\s\S]*?<\/think>/g, '').trim(); return str + "\n\n---\n\n"; }).join('\n\n'); return [{ json: { output: results } }]
📌 ข้อมูลที่ได้จาก Node Code จะเป็น json array มีข้อมูลข่าวสรุป โดยอยู่ใน Format MarkDown แต่ผมจะส่งเมล์ เลยให้ Node MarkDown แปลง MarkDown มาเป็น HTML
📌 สุดท้าย เมื่อ Data พร้อม ผมใช้ Node Send Mail เอาผลลัพธ์ที่ได้ส่งเมล์ไปครับ ถ้าใช้ gmail ทำ app password และเอามาใส่ได้เหมือนกันครับ
แต่หลังจากรอไป 1 อาทิตย์ เงียบสนิท เริ่มสงสัยและ ว่ามันเกิดอะไรขึ้น ปรากฏว่ามันเข้า Path No New On Today
ปัญหา มัน คือ อะไร
📌 ตอนแรก เราขี้เกียจรอ เลย Filter แบบกำหนดวันไปก็เจอข้อมูล ตาม RSS แต่ทว่าตัว RSS ที่ devblogs.microsoft ให้มัน ดันช้ากว่าบทความจริงที่อยู่หน้าเว็บ อาทิ เช่น
- หน้าเว็บ 20-Aug-2025 แต่ RSS ดันได้ 15-Aug-2025
- หน้าเว็บ 20-Aug-2025 แต่ RSS ดันได้ 18-Apr-2025
📌 สรุปได้ว่า RSS Feed จากหน้า Home มันน่าจะมาแบบสุ่ม และเราเองไปสั่ง RSS ให้ดึงตามวันที่นั่นนี้ไม่ได้ด้วย
📌 ตอนแรกจะถอดใจและ เอาแต่ดึง 5 ข่าวแรกมา แต่ระหว่างลองไปอ่านๆข่าวอื้่นๆ เล่นไปก่อน ปรากฏว่า
ได้ทางแก้ แต่ถึกหน่อย
📌 ที่ได้ทางแก้เพราะ ไปลองไปแล้วๆ
- ถ้าเอา RSS Feed จากหน้า Home มันน่าจะมาแบบสุ่ม ถ้าดู lastbuild วันมันเก่ากว่าปัจจุบัน

- ถ้าเอา RSS Feed จากแต่ละ Catagory มันมาแบบเรียงวันที่ และเอาล่าสุดขึ้นก่อนด้วย


📌 มาปรับ Flow กันครับ ผมเลือก Catagory และใส่ Node RSS แยกไว้ และให้ Node Merge เอาผลลัพธ์มารวมกันครับ (จริงๆ อยากจัดให้สวยกว่านี้เหมือนกัน 555)

📌 ลองใช้งาน ได้เมล์แล้วคร้บ ^__^

นอกจากนี้เรื่องของเวลา RSS ต้นทางแล้ว สิ่งที่ต้องดูตัว n8n เราตั้ง timezone ที่ไหน อย่างของผมกำหนดเป็น Bangkok เวลาดึง RSS จะมีเคสว่าช่วงเช้ามีข้อมูล แต่พอเย็นๆ แล้วไม่มีข้อมูล เวลาไม่ตรงกัน ต้องมาปรับนิดนึง หรือ ถ้า RSS มี UTCTime จะดีมากครับ
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.