--- base_model: Qwen/Qwen3.5-9B library_name: peft license: apache-2.0 pipeline_tag: image-text-to-text tags: - lora - peft - presentation - slide-editing - visual-qa --- # EditPPT Vision Validator (LoRA on Qwen3.5-9B) A LoRA adapter that checks whether an edit to a PowerPoint slide **newly introduced a severe visual defect**, and if so, returns a repair as tool calls — in one generation. It serves as the vision validator of EditPPT. Given the slide rendered **before** and **after** an edit, plus the edit instruction, the tool calls that made the edit and the slide's shape JSON, the model returns: ```json {"HasCriticalIssues": "Yes", "Issues": [{"IssueType": "ELEMENT_OVERLAP", "AffectedShapeIDs": [2], "TechnicalDiagnosis": "textbox 2 overlaps the caption below it by about 20 pt"}], "ToolCalls": [{"name": "adjust_layout", "arguments": {"slide_number": 3, "shape_id": 2, "top": 470}}]} ``` * **Defect types:** `CONTENT_OFF_SLIDE`, `ELEMENT_OVERLAP`, `LOW_CONTRAST`. * **Repair tools:** `set_shape_font_size`, `adjust_layout`, `set_text_style`. Values are absolute targets in slide points. * Defects already present in the BEFORE image are treated as the deck's own design and are not reported. ## Usage See `inference_example.py` and `prompt_template.txt`. * Message order: `[image BEFORE, image AFTER, prompt text]`. * Images: 960x540 (`min_pixels = max_pixels = 960*540`). One slide point = one pixel for a 16:9 deck. * Greedy decoding, default chat template. ## Training | | | |---|---| | Base | Qwen3.5-9B, bf16 | | Adapter | LoRA, r 16, alpha 32, on the language model and the vision encoder | | Data | 7,260 training samples (plus 374 for validation) with human-confirmed labels, from publicly licensed decks (CC0 / CC-BY) | ## Evaluation Held-out set of 750 samples from decks not seen in training: | Metric | Value | |---|---| | Verdict accuracy, edits without a repair (n=497) | 0.932 (base model: 0.60) | | Verdict accuracy, all 750 samples | 0.955 | | Defect precision / recall / F1, all 750 samples | 0.963 / 0.954 / 0.959 | | Repair targets the right shapes with a permitted tool, all 750 samples | 0.948 | ## License Apache-2.0, following the base model.