# Implementation Tasks ## 1. Backend API Changes - [x] 1.1 Update `app/schemas/task.py` to add `layout_model` enum type - [x] 1.2 Update `app/routers/tasks.py` to replace `pp_structure_params` with `layout_model` parameter - [x] 1.3 Update `app/services/ocr_service.py` to map `layout_model` to `layout_detection_model_name` - [x] 1.4 Remove custom PP-Structure engine creation logic (use model selection instead) - [x] 1.5 Add backward compatibility: default to "chinese" if no model specified ## 2. Backend Configuration - [x] 2.1 Keep `layout_detection_model_name` in `config.py` as fallback default - [x] 2.2 Keep fine-tuning parameters in `config.py` (not exposed to API) - [x] 2.3 Document available layout models in config comments ## 3. Frontend Changes - [x] 3.1 Remove `PPStructureParams.tsx` component - [x] 3.2 Update `src/types/apiV2.ts`: - Remove `PPStructureV3Params` interface - Add `LayoutModel` type: `"default" | "chinese" | "cdla"` - Update `ProcessingOptions` to use `layout_model` instead of `pp_structure_params` - [x] 3.3 Create `LayoutModelSelector.tsx` component with: - Radio buttons or dropdown for model selection - Clear descriptions for each model option - Default selection: "chinese" - [x] 3.4 Update task start form to use new `LayoutModelSelector` - [x] 3.5 Update API calls to send `layout_model` instead of `pp_structure_params` ## 4. Internationalization - [x] 4.1 Add i18n strings for layout model options: - `layoutModel.default`: "Standard Model (English documents)" - `layoutModel.chinese`: "Chinese Document Model (Recommended)" - `layoutModel.cdla`: "CDLA Model (Chinese layout analysis)" - [x] 4.2 Add i18n strings for model descriptions ## 5. Testing - [x] 5.1 Create new tests for `layout_model` parameter (`test_layout_model_api.py`, `test_layout_model.py`) - [x] 5.2 Archive tests for `pp_structure_params` validation (moved to `tests/archived/`) - [x] 5.3 Add tests for layout model selection (19 tests passing) - [x] 5.4 Test backward compatibility (no model specified → use chinese default) ## 6. Documentation - [ ] 6.1 Update API documentation for task start endpoint - [ ] 6.2 Remove PP-Structure parameter documentation - [ ] 6.3 Add layout model selection documentation ## 7. Cleanup - [x] 7.1 Remove localStorage keys for PP-Structure params (`pp_structure_params_presets`, `pp_structure_params_last_used`) - [x] 7.2 Remove any unused imports/types related to PP-Structure params - [x] 7.3 Archive old PP-Structure params test files