สถาปัตยกรรมระบบ

เอกสารนี้อธิบายสถาปัตยกรรมระบบ AI สำหรับองค์กร โดยใช้ OpenWebUI + MCP Server เป็นแกนกลาง และเชื่อมต่อกับระบบงานต่างๆ

สถาปัตยกรรมภาพรวม

ระบบแบ่งออกเป็น 4 ชั้นหลัก:

1. Presentation Layer - OpenWebUI

OpenWebUI ใช้แทน ChatGPT - หลักๆ เป็น Generative AI เหมือนเดิม แต่มีข้อมูลขององค์กรในทุกส่วน

คุณสมบัติหลัก:

  • Web UI เหมือน ChatGPT - ทีมใช้งานได้ทันทีเพราะคุ้นเคย
  • Multi-user Support - แต่ละคนมี Account และ History แยกกัน
  • อัพโหลด Data เสริม - อัพโหลดเอกสาร PDF, Word, Text เข้าไปเพื่อให้ AI เข้าถึง Knowledge Base, FAQ, Best Practices
  • เชื่อม MCP Server แยก Agent - แต่ละทีม/ส่วนงานเชื่อม MCP Server ของตัวเอง เพื่อเข้าถึงข้อมูลเฉพาะ
  • Custom Models - ใช้งาน LLM หลายแบบ (GPT-4, Claude, Local Models)
OpenWebUI
Document Upload
MCP Server Integration
2. AI Layer - LLM + MCP Server (แยก Agent)

MCP Server (Model Context Protocol) แยก Agent แต่ละส่วนงาน เพื่อให้แต่ละทีมเข้าถึงข้อมูลเฉพาะของตัวเอง

วิธีทำงาน:

  • แยก Agent ตามทีม - แต่ละทีมมี MCP Server ของตัวเอง เชื่อมกับ OpenWebUI แยกกัน
  • Custom Tools - แต่ละ Agent มี Tools สำหรับเข้าถึงข้อมูลเฉพาะ (CRM, Database, APIs)
  • Function Calling - AI เรียกใช้ Functions เพื่อดึงข้อมูลจากระบบต่างๆ
  • Document RAG - อัพโหลดเอกสารเข้า OpenWebUI แล้ว AI จะใช้ RAG ค้นหาจากเอกสารเหล่านั้น

MCP Agents ที่จะสร้าง (แยกตามทีม):

Admin Agent - CRM MCP Server

เข้าถึงข้อมูลลูกค้า, ประวัติการทำธุรกรรม, บัญชีลูกค้า + อัพโหลด FAQ, Best Practices

Marketing Agent - Ads MCP Server

เข้าถึงข้อมูลแคมเปญโฆษณา, Performance, Budget + อัพโหลด Content Templates

Management Agent - Analytics MCP Server

เข้าถึงข้อมูล KPI, งบประมาณ, Performance Metrics + อัพโหลด Reports Templates

Content Agent - Media MCP Server

เข้าถึงข้อมูล Assets, Content Performance, Brand Guidelines + อัพโหลด Templates

Technical Agent - System MCP Server

เข้าถึงข้อมูล Logs, Documentation, System Metrics + อัพโหลด Tech Specs

MCP Protocol
LLM (GPT-4 / Claude)
Document RAG
Agent Separation
3. Integration Layer

เชื่อมต่อกับระบบงานจริงต่างๆ

ระบบที่ต้องเชื่อมต่อ:

  • Chatwoot - เชื่อม LINE OA หลายแบรนด์ → หน้าเดียวแทนการเปิดหน้าต่าง LINE OA 10 หน้าต่าง
  • CRM - ข้อมูลลูกค้า ประวัติการทำธุรกรรม
  • LINE OA - หลาย Account (รวมผ่าน Chatwoot)
  • Ad Platforms - Facebook Ads, Google Ads (Social Media Marketing)
  • Analytics - Google Analytics, Internal Analytics
  • Database - ข้อมูลภายในองค์กร
Chatwoot API
LINE Messaging API
REST APIs
Webhooks
4. Data Layer

เก็บและจัดการข้อมูล

Data Sources:

  • PostgreSQL - ข้อมูลโครงสร้าง (User, Teams, Logs)
  • Vector DB - Knowledge Base, FAQ, Best Practices (Pinecone/Weaviate)
  • Redis - Cache, Session Management
  • File Storage - Documents, Images
PostgreSQL
Vector DB (Pinecone)
Redis
S3/MinIO

ระบบที่จำเป็นที่สุด

  • Slack + Chatwoot + GitHub + Notion/GDrive
  • OpenWebUI + เอกสารสำคัญ 3–5 ชุด (RAG)

ต่อยอดได้ในอนาคต

  • Self-host (Mattermost), Dashboard รายงาน, Sentry/Grafana
  • Data Lakehouse และนโยบายข้อมูลละเอียดขึ้น

Flow การทำงานหลัก

Use Case: Admin ตอบลูกค้าผ่าน Chatwoot

  1. ลูกค้าส่งข้อความใน LINE OA → Chatwoot รับข้อความ
  2. Admin เปิด Chatwoot Dashboard → เห็นข้อความใหม่
  3. Chatwoot ใช้ OpenAI API (Built-in) → AI ช่วยคิดคำตอบอัตโนมัติ
  4. AI ดึงข้อมูลจาก:
    • FAQ ที่อัพโหลดใน Chatwoot
    • Knowledge Base (ถ้าตั้งค่าไว้)
    • Context จากบทสนทนา
  5. AI สร้าง Draft คำตอบ → แสดงใน Chatwoot
  6. Admin ตรวจและแก้ไข → แล้วส่งไปให้ลูกค้า
  7. หรือ Admin เปิด OpenWebUI → ใช้ Admin Agent (MCP) เพื่อดึงข้อมูลเพิ่มเติม (CRM, ประวัติ) → แก้ไขคำตอบ → Copy กลับไป Chatwoot

Tech Stack แนะนำ

Component Technology เหตุผล
UI Layer OpenWebUI Open Source, User-friendly, Multi-user, Plugin System
AI Protocol MCP (Model Context Protocol) มาตรฐานจาก Anthropic, Flexible, Extensible
LLM OpenAI GPT-4 / Claude คุณภาพสูง, ภาษาไทยดี, Function Calling
Chatwoot Self-hosted / Cloud รองรับ LINE OA หลาย Account, Dashboard กลาง
Vector DB Pinecone / Weaviate RAG สำหรับ Knowledge Base
Database PostgreSQL Reliable, ACID, Support JSON
Cache Redis Fast, Session Management
Backend Python/FastAPI MCP Server Development, API Integration

Integration Architecture

Chatwoot + LINE OA Integration

Chatwoot มี OpenAI API integration อยู่แล้ว - ไม่ต้องพัฒนาเอง เพียงแค่ตั้งค่า API Key ใน Chatwoot Settings

LINE OA Accounts (หลาย Account)
    ↓
Chatwoot Channels (1 Account per LINE OA)
    ↓
Chatwoot Inbox (รวมหลาย Channel ใน Dashboard เดียว)
    ↓
Admin Dashboard (เห็นทุกข้อความในที่เดียว)
    ↓
Chatwoot OpenAI Integration (Built-in)
    ├─ AI ช่วยคิดคำตอบอัตโนมัติ
    ├─ ใช้ FAQ ที่อัพโหลดใน Chatwoot
    └─ Context จากบทสนทนา
    ↓
Admin ตรวจและแก้ไข → ส่ง
    ↓
LINE OA (ลูกค้ารับข้อความ)

Alternative Flow (ถ้าต้องการข้อมูลเพิ่ม):
    ↓
OpenWebUI + Admin Agent (MCP)
    ├─ ดึงข้อมูล CRM
    ├─ ดึงข้อมูลประวัติลูกค้า
    └─ อัพโหลด FAQ/Best Practices
    ↓
Admin Copy คำตอบ → กลับไปส่งใน Chatwoot
    

Security & Privacy

Authentication

OpenWebUI มี User Management ในตัว ใช้ OAuth หรือ LDAP ได้

API Keys

เก็บใน Environment Variables หรือ Secrets Manager

Data Storage

Self-hosted - ข้อมูลอยู่ใน Server ภายในองค์กร

Audit Logs

บันทึกทุกการใช้งาน AI, API Calls, และการเข้าถึงข้อมูล

Alternative Solutions

ทางเลือกอื่นที่อาจเหมาะสม

Solution ข้อดี ข้อเสีย
Custom FastAPI + React ควบคุมได้เต็มที่, Customizable สูง ต้องพัฒนาเองทั้งหมด, ใช้เวลานาน
LangChain + Streamlit Rapid Development, Python-based UI ไม่สวย, Multi-user ไม่ดี
Continued (Chatbot UI) UI สวย, Open Source ไม่มี Plugin System ดีเท่า OpenWebUI
OpenWebUI + MCP ดีที่สุด - Balance ระหว่าง Features และ Flexibility อาจต้อง Customize บ้าง

คำแนะนำ: เริ่มด้วย OpenWebUI + MCP ก่อน เพราะพัฒนาเร็ว มี Community Support แล้วค่อย Customize ตามความต้องการ

📈 Scalability

ระบบถูกออกแบบให้ Scale ได้:

  • Horizontal Scaling: OpenWebUI และ MCP Servers รันได้หลาย instances
  • Caching: Redis Cache เพื่อลดการเรียก API
  • Rate Limiting: จำกัดการใช้งานเพื่อควบคุมต้นทุน LLM
  • Load Balancing: ใช้ Load Balancer เมื่อต้อง Scale