690519:0819 Prepare refactor AI [skip ci]

This commit is contained in:
Nattanin
2026-05-19 08:19:40 +07:00
parent 7e6ad0d346
commit 3e25097470
25 changed files with 1307 additions and 59916 deletions
+421
View File
@@ -0,0 +1,421 @@
🧠 🎯 เป้าหมาย: AI DMS (Document Management System อัจฉริยะ)
> จาก “เก็บเอกสาร” → กลายเป็น “ผู้ช่วยควบคุมเอกสาร”
---
🏗️ 1. Architecture ภาพรวม
[User]
(Web UI / Chat UI)
AI Agent Layer ← (หัวใจ)
| RAG Engine (ค้นหาเอกสาร)
| Workflow Engine (RFA logic)
| Tool Layer (DB / File / API)
[Database + File Storage]
---
🔥 2. Core Components (ต้องมี)
2.1 AI Agent (สมอง)
ใช้แนวคิดจาก:
LangChain / OpenClaw / CrewAI
💡 ทำอะไร:
เข้าใจคำถาม user
ตัดสินใจว่าจะ:
query DB
search document
run workflow
---
2.2 RAG System (ค้นหาเอกสาร)
💡 ใช้:
vector DB (เช่น Qdrant / Chroma)
💡 ทำอะไร:
search PDF / Drawing / Spec
ตอบคำถามจาก content
👉 use case:
“Drawing A-101 revision ล่าสุดคืออะไร”
“RFA นี้เกี่ยวข้องกับ drawing ไหน”
---
2.3 Tool Layer (สำคัญมาก)
AI จะไม่เก่งถ้าไม่มี tools
tools ที่ต้องมี:
get_rfa(id)
get_drawings_by_rfa(rfa_id)
get_latest_revision(drawing_code)
search_documents(query)
get_transmittal_history()
👉 ตรงนี้ = bridge ระหว่าง AI กับ DB จริงของคุณ
---
2.4 Workflow Engine (logic ธุรกิจ)
💡 ไม่ให้ AI มั่ว
เช่น:
RFA status flow
approval logic
revision control
👉 AI = “ช่วยคิด”
👉 workflow = “ของจริง”
---
2.5 File Storage
เก็บไฟล์จริง (PDF, DWG)
version control
naming convention
👉 ตรงกับ backlog คุณข้อ 9 พอดี
---
⚙️ 3. Database Design (ต่อยอดของเดิมคุณ)
คุณมีอยู่แล้ว:
RFAs
Drawings
Revisions
👉 เพิ่ม:
🧩 ai_embeddings
document_id
chunk_text
vector
🧩 ai_logs
user_query
agent_decision
tool_used
🧩 ai_tasks (optional)
background job
document indexing
---
🤖 4. AI Use Cases (ของจริงที่ควรทำ)
🔎 1. Smart Search
> “ขอ drawing structural ล่าสุดของ zone B”
AI:
เข้าใจ intent
query DB + RAG
---
📄 2. Document QA
> “สรุป spec นี้”
AI:
อ่าน PDF
summarize
---
🔗 3. Relationship Mapping
> “RFA นี้เกี่ยวกับ drawing อะไร”
AI:
join:
rfa → drawing → revision
---
📊 4. Timeline Analysis
> “RFA นี้ delay เพราะอะไร”
AI:
วิเคราะห์ revision timeline
---
🧠 5. Auto Classification
upload file → AI tag:
type
discipline
revision
---
⚠️ 6. Alert / Assistant
“Drawing นี้ outdated”
“RFA ใกล้ deadline”
---
🧩 5. UI Design (สำคัญมาก)
5.1 Hybrid UI
Table (DataTables)
Chat (AI assistant)
[ Table RFAs ] | [ AI Chat ]
| > RFA ล่าสุดคืออะไร
| > Drawing ไหนยังไม่ approve
👉 best of both worlds
---
5.2 Drawing Page (โคตรสำคัญ)
แสดง:
revision history
related RFAs
AI summary
---
⚡ 6. Tech Stack (แนะนำตรงๆ)
Backend
PHP (ของเดิมคุณ)
Python (AI service)
AI Layer
LangChain หรือ custom agent
Ollama (local) หรือ OpenAI
Vector DB
Qdrant (แนะนำ)
Frontend
DataTables (ตาม backlog)
Chat UI
---
🔥 7. Flow การทำงานจริง
📥 Upload Drawing
1. user upload PDF
2. system:
extract text (OCR)
chunk
embed → vector DB
3. AI tag metadata
---
🔎 Query
user:
> “drawing ล่าสุดของ contract นี้”
AI:
1. เข้าใจ intent
2. call tool:
get_drawings(contract_id)
3. filter revision ล่าสุด
4. ตอบ
---
🧠 8. Insight สำคัญ (อย่าพลาด)
❌ อย่าทำแบบนี้
ให้ AI query DB ตรงๆ
ให้ AI ตัดสินใจ workflow
✅ ต้องทำแบบนี้
AI → call function (tool)
system → validate logic
---
🚀 9. Roadmap (ทำจริง)
Phase 1 (24 สัปดาห์)
AI chat + query DB
basic tools
Phase 2
RAG (search document)
embedding
Phase 3
automation
alert
classification
---
🎯 10. ถ้าจะทำให้ “โหดจริง”
👉 ultimate version:
AI = Document Controller
auto check:
revision mismatch
missing approval
outdated drawing
---
💡 สรุปสั้น
AI DMS =
> “AI + Workflow + Document + Database”
ไม่ใช่แค่ chatbot
---
จากเนื้อหาข้างบน เทียบกับ repo ของผม ขอสรุป แบบละเฮียกทีละข้อ