690519:0819 Prepare refactor AI [skip ci]
This commit is contained in:
@@ -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 (2–4 สัปดาห์)
|
||||
|
||||
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 ของผม ขอสรุป แบบละเฮียกทีละข้อ
|
||||
Reference in New Issue
Block a user