690524:1919 ADR-028-228-migration #04
CI / CD Pipeline / build (push) Successful in 4m10s
CI / CD Pipeline / deploy (push) Successful in 3m52s

This commit is contained in:
2026-05-24 19:19:46 +07:00
parent 93fd95a6b3
commit 1564f8648d
22 changed files with 1422 additions and 255 deletions
@@ -7,7 +7,7 @@
## Summary
Implement ADR-023A AI Architecture Revision: เปลี่ยน model stack จาก 3-model (gemma4:9b + Typhoon + nomic-embed-text) เป็น 2-model (gemma4:e4b Q8_0 + nomic-embed-text), แยก BullMQ เป็น 2 queues (`ai-realtime`/`ai-batch`), เพิ่ม OCR auto-detection, enforce multi-tenant QdrantService, implement Legacy Migration pipeline และ migration_review_queue, และลบ Typhoon Cloud API ออกจาก codebase ทั้งหมด
Implement ADR-023A AI Architecture Revision: เปลี่ยน model stack จาก 3-model (gemma4:9b + Typhoon + nomic-embed-text) เป็น 2-model (gemma4:e2b + nomic-embed-text), แยก BullMQ เป็น 2 queues (`ai-realtime`/`ai-batch`), เพิ่ม OCR auto-detection, enforce multi-tenant QdrantService, implement Legacy Migration pipeline และ migration_review_queue, และลบ Typhoon Cloud API ออกจาก codebase ทั้งหมด
---
@@ -22,7 +22,7 @@ Implement ADR-023A AI Architecture Revision: เปลี่ยน model stack
**Testing**: Jest (NestJS unit/integration)
**Target Platform**: QNAP NAS (NestJS container) + Admin Desktop Desk-5439 (Ollama)
**Performance Goals**: ai-suggest < 30s; rag-query < 10s (p95 dequeue-to-response)
**Constraints**: VRAM ≤ 5GB peak, concurrency=1 per queue (prevent GPU overflow)
**Constraints**: VRAM ≤ 3GB peak, concurrency=1 per queue (prevent GPU overflow)
**Scale/Scope**: ~20,000 legacy docs (migration), ~50 new docs/day (production)
---
@@ -82,7 +82,7 @@ backend/src/modules/ai/
│ ├── ai-realtime.processor.ts # new: ai-realtime consumer
│ └── ai-batch.processor.ts # new: ai-batch consumer (replaces existing)
├── services/
│ ├── ollama.service.ts # update: model → gemma4:e4b
│ ├── ollama.service.ts # update: model → gemma4:e2b
│ ├── qdrant.service.ts # update: enforce projectPublicId param
│ ├── ocr.service.ts # new: OCR auto-detect + PaddleOCR routing
│ ├── migration.service.ts # new: Legacy Migration pipeline
@@ -123,7 +123,7 @@ Tasks: T001T008
### Phase 1: Core AI Pipeline
**Goal**: OCR auto-detect, gemma4:e4b integration, ai-suggest + embed-document flows
**Goal**: OCR auto-detect, gemma4:e2b integration, ai-suggest + embed-document flows
Tasks: T009T022