3.3 KiB
3.3 KiB
Session — 2026-06-18 (OCR Prompt Separation + VRAM Monitor Fix)
Summary
ตรวจสอบและแก้ไข frontend compliance ตาม spec 238 (OCR AI Prompt Separation) และแก้ไข VRAM Monitor ที่แสดงผลไม่ถูกต้อง
ปัญหาที่พบ (Root Cause)
1. Feature 238 - OCR AI Prompt Separation
- SandboxTabs ไม่ได้ส่ง active prompt version ที่ถูกต้อง - ส่ง
selectedVersionNumberแทนที่จะส่งactivePromptVersionที่โหลดจาก service - SandboxTabs แสดง prompt info เฉพาะ ocr_system - ไม่แสดง prompt info สำหรับทั้ง Step 1 (ocr_system) และ Step 2 (ocr_extraction) ตาม FR-009, FR-010
2. VRAM Monitor
- GPU VRAM Usage แสดง 0/0 ตลอด - Backend ส่ง
loadedModelsเป็นstring[](แค่ชื่อโมเดล) แต่ frontend ต้องการLoadedModelInfo[]ที่มีvramUsageMB - ไม่แสดงโมเดลที่โหลดอยู่ - เนื่องจากข้อมูลไม่ครบถ้วน
- ขึ้น "หน่วยความจำไม่เพียงพอ (OOM Guard)" เสมอ - เนื่องจาก VRAM data ไม่ถูกต้อง
การแก้ไข (Fix)
Feature 238 - OCR AI Prompt Separation
| ไฟล์ | การเปลี่ยนแปลง |
|---|---|
frontend/components/admin/ai/SandboxTabs.tsx |
เปลี่ยนจากโหลด prompt เดียวเป็นโหลดทั้ง ocr_system และ ocr_extraction จาก service, แสดง prompt info ทั้ง 2 steps, ส่ง activeExtractionVersion ไปใน sandbox AI extract call |
VRAM Monitor
| ไฟล์ | การเปลี่ยนแปลง |
|---|---|
backend/src/modules/ai/services/vram-monitor.service.ts |
เปลี่ยน VramStatus.loadedModels เป็น Array<{modelId, modelName, vramUsageMB}> และคำนวณ vramUsageMB จาก size_vram (bytes → MB) |
frontend/lib/services/admin-ai.service.ts |
อัปเดต normalizeVramStatus() ให้รองรับ format ใหม่ |
backend/src/modules/ai/tests/vram-monitor.service.spec.ts |
อัปเดต test expectations ให้ตรงกับ format ใหม่ |
กฎที่ Lock แล้ว
- SandboxTabs ต้องโหลด active prompts ทั้ง ocr_system และ ocr_extraction จาก service เพื่อแสดง prompt info ทั้ง 2 steps ตาม FR-009, FR-010
- Backend VRAM service ต้องส่ง loadedModels พร้อม vramUsageMB เพื่อให้ frontend แสดงผล VRAM usage ของแต่ละ model ได้ถูกต้อง
Verification
- Frontend build ผ่าน
- Backend build ผ่าน
- SandboxTabs แสดง prompt info ทั้ง Step 1 และ Step 2
- SandboxTabs ส่ง active prompt version ที่ถูกต้อง
- VRAM Monitor ส่งข้อมูล format ใหม่ที่มี vramUsageMB