# Appsmith 图片识别应用：把到货照片中的可见物与遮挡项分开记录

## 实际范围

需要可用Appsmith实例、视觉模型和上传能力；社区代码Apache-2.0。图片为原创生成输入，未运行模型识别。

已实际执行：原创输入生成、PDF渲染、文件哈希/教材事实检查与两条故意错误拒绝。人工reference-manual.json不冒充目标工具输出；actual-template.json为空模板，不能视为实际结果。

## 使用

```bash
python3 verify.py
python3 verify.py --actual my-observation.json
```

默认材料检查使用Python标准库；可选的--pdf深度检查需要pypdf，且只接受本题定义的PDF契约。不连接任何外部服务或数据库。--actual检查你填写的规范化事实记录，不自动识别任意工具原生导出；仍须逐项回读原生输出。

## 七步操作

1. 先分开照片和装箱清单

delivery-input.png 是本站原创生成的教学输入照片，不是到货实拍或模型检测结果。packing-list.csv 是待核对清单；照片可见数量须人工复核，不能倒推图上一定有几件。

2. 建立Filepicker与观察列表

在实际 Appsmith 添加 Filepicker、生成按钮和可编辑的检查项表。先让原图可查看，再显示识别结果，方便同屏回读遮挡位置。

3. 接入实际支持视觉的模型

官方 Vision 命令可用图片链接或base64，Filepicker data字段按当前版本核对。文档旧模型例子可能退役，使用自己实际可用的视觉模型。

4. 传图片和明确的可见边界

把 prompt.md 与真实上传的图片传入查询。将“图上可见”与“清单期待”作为两列，不能把清单当图像证据；未执行模型时不要制造检测框截图。

5. 逐项人工确认遮挡

对照照片数集线器、线缆和袋子；若生成照片本身数量与清单不同，记录差异。遮挡区域始终允许未知，不要求模型猜出牛皮纸下面是什么。

6. 保存实际检查单

按 actual-template.json 整理自己的观察，counts_are_photo_ground_truth 保持false，表示清单不是视觉真值证明。核验脚本只检查未知边界和本题字段，无法自动验证图片内数量。

7. 检查过度推断负例

负例会拒绝将遮挡区域补成确定数量或将清单自称视觉真值。保留原图、实际模型结果和人工修订三个文件。本站没有运行Appsmith Vision。

## 原创与图片身份

source.pdf及数据文件是本站原创虚构教材。页面官方截图只说明工具入口；人工真值图与材料核验图都注明身份，未生成目标软件的假界面或假模型结果。

## 官方依据

- Vision与Filepicker参数: https://docs.appsmith.com/connect-data/reference/open-ai
- REST数据源入口: https://docs.appsmith.com/connect-data/reference
