สร้างระบบ AI วิเคราะห์ผมร่วง + เขียน Email อัตโนมัติ ด้วย Local LLM ใน 1 วัน

ผมนั่งคุยกับเพื่อนที่เปิดคลินิกปลูกผม เขาบ่นว่าทุกวันต้องนั่งดูรูปคนไข้ วิเคราะห์ระดับผมร่วง แล้วก็เขียน email ตอบกลับ ซ้ำๆ เหมือนกันทุกวัน

“ถ้ามี AI ช่วยวิเคราะห์รูป แล้วเขียน email ให้เลยล่ะ?”

ผมก็เลยลองทำดู


🎯 โจทย์คืออะไร

คลินิกปลูกผมรับรูปคนไข้มาประเมินทุกวัน ขั้นตอนเดิมคือ:

  1. ดูรูป 6-10 รูป ต่อคนไข้
  2. วิเคราะห์ระดับ Norwood Scale (1-7)
  3. ประเมินจำนวน graft ที่ต้องปลูก
  4. เขียน email ตอบกลับลูกค้า
  5. เขียนรายงานให้ทีมแพทย์

ทำทุกวัน วันละหลายสิบเคส เหนื่อย และใช้เวลามาก


🛠️ เลือก Stack

เพื่อนไม่อยากส่งรูปคนไข้ขึ้น cloud (privacy concern) ดังนั้นต้อง Local LLM เท่านั้น

Hardware ที่มี:

  • CPU: Intel i9-12900K
  • RAM: 64GB
  • GPU: RTX 4090 (24GB VRAM)

Models ที่เลือกใช้:

  • qwen3-vl:30b – Vision model สำหรับวิเคราะห์รูป
  • glm-4.7-flash – Text model สำหรับเขียน email

ทั้งคู่รันผ่าน Ollama บนเครื่อง local


🔥 ปัญหาแรก: GPU ไม่ทำงาน

ตอนแรกใช้ qwen3-vl:32b (20GB file) แต่พอโหลดจริงมันกลายเป็น 26GB

RTX 4090 มี VRAM แค่ 24GB

ผลคือ model ต้อง offload บางส่วนไป CPU ทำให้ช้ามาก CPU พุ่ง 60% แต่ GPU แค่ 18%

วิธีแก้: เปลี่ยนเป็น qwen3-vl:30b ซึ่งโหลดแล้วใช้ 21GB พอดี VRAM

NAME            SIZE     PROCESSOR
qwen3-vl:30b    21 GB    100% GPU ✅

เร็วขึ้นทันที


🔥 ปัญหาที่สอง: ภาพ Clinical ไม่ใช่ภาพปกติ

รูปที่คลินิกส่งมา ไม่ใช่รูปถ่ายปกติ

แต่เป็นรูปที่ใช้ headband รั้งผมไว้ หรือใช้ clips หนีบผมเปิดให้เห็นหนังศีรษะ

qwen งง คิดว่าคนไข้ใส่ที่คาดผมเป็นแฟชั่น 😅

วิธีแก้: เพิ่มใน prompt ว่า

“นี่คือภาพถ่ายเพื่อประเมินทางคลินิก ผมถูกจัดแต่งโดยใช้ headband หรือ clips เพื่อเปิดเผยบริเวณที่มีปัญหา ให้โฟกัสที่บริเวณหนังศีรษะที่ถูกเปิดออก”

หลังจากเพิ่มตรงนี้ qwen เข้าใจทันที


🔥 ปัญหาที่สาม: Thinking ยาวเกินจน Analysis หาย

qwen3 มี “thinking mode” จะคิดยาวๆ ก่อนตอบ

ปัญหาคือ ตั้ง num_predict: 4096 tokens

มันใช้ไปกับ thinking หมด พอถึง Analysis จริงๆ token หมดพอดี 😭

วิธีแก้: เพิ่มเป็น num_predict: 16384 สำหรับ multi-image


🔥 ปัญหาที่สี่: Norwood Scale ไม่แม่น

qwen รู้จัก Norwood Scale แบบกว้างๆ แต่ไม่รู้รายละเอียด เช่น Stage 3V คืออะไร หรือ Stage 4A ต่างจาก 4 ยังไง

วิธีแก้: สร้าง reference document จาก paper ทางการแพทย์

NORWOOD_QUICK_REFERENCE = """
| Stage | Description | Key Signs | Grafts |
|-------|-------------|-----------|--------|
| 3     | Early baldness | M/V shape | 1,500-2,000 |
| 3V    | Stage 3 + crown | + vertex thinning | 2,000-3,000 |
| 4A    | Variant | Uniform recession | 2,000-3,500 |
...
"""

ใส่ใน prompt ให้ qwen ใช้อ้างอิง


📱 UI ที่ได้

ใช้ Gradio ทำ web UI ง่ายๆ

  • อัปโหลดรูปได้สูงสุด 10 รูป (Gallery component)
  • เลือกภาษา (ไทย/English)
  • เลือกประเภท email (ส่งลูกค้า / รายงานทีมแพทย์)
  • เลือก model สำหรับเขียน email

รัน python app.py แล้วเปิด localhost:7860 ได้เลย


💰 ต้นทุน

รายการราคา
Ollamaฟรี
qwen3-vl:30bฟรี
glm-4.7-flashฟรี
Gradioฟรี
รวม0 บาท

(ถ้านับ hardware ก็ต้องมี GPU ดีๆ หน่อย)


📁 โครงสร้างโปรเจค

xxx Clinic/Emailing/
├── app.py              # Main Gradio UI
├── config.py           # Settings (models, pricing)
├── ollama_client.py    # Ollama API wrapper
├── prompts.py          # AI prompts
├── norwood_reference.py # Norwood Scale data
└── requirements.txt    # Dependencies

🎬 ผลลัพธ์

Input: รูปคนไข้ 6 รูป (หลายมุม)

Output:

ระดับ Norwood Scale: 3V
- Frontal: ถอยร่นที่ขมับทั้งสองข้าง
- Crown: เริ่มบางที่กระหม่อม
- Donor Area: หนาแน่นดี

จำนวน Graft ที่แนะนำ: 2,000-2,500
วิธีการรักษา: FUE

แล้วก็มี email พร้อมส่งลูกค้า + รายงานทางการแพทย์


🤔 สิ่งที่เรียนรู้

  1. Local LLM ทำได้จริง – ไม่ต้องพึ่ง cloud ถ้ามี GPU ดีพอ
  2. Vision model ต้อง context – บอก AI ให้ชัดว่ารูปคืออะไร
  3. Reference data สำคัญ – ใส่ตารางอ้างอิงใน prompt ช่วยได้มาก
  4. Token limit ต้องระวัง – โดยเฉพาะ model ที่มี thinking mode

🚀 Next Steps

  • เพิ่ม Email Style Learning (ให้ AI เรียนรู้ style การเขียน email ของคลินิก)
  • ทำ batch processing สำหรับหลายคนไข้พร้อมกัน
  • เพิ่ม export เป็น PDF

🔗 Links


ถ้าใครมีโจทย์คล้ายๆ กัน (วิเคราะห์รูป + สร้าง document) ลองเอาไปประยุกต์ได้เลยครับ

Local LLM ปี 2026 ทำได้เยอะกว่าที่คิดมาก 🚀

Scroll to Top