feat(review): 取证层多源化 + 视觉多图(整体+2x2 象限)
- 新增 evidence_model.py:统一证据模型(source_type + images 列表),访问器兼容旧 image_b64/image_mime 单图字段 - phases/evidence.py:新增 collect() 多源分发 seam(仅 CAD)、capture_images() 整体+等分象限多图(结束复位视口)、sub_windows() - phases/review.py:多图逐张下采样喂 LLM,payload 增加 source_type - config.py:EVIDENCE_DETAIL_TILES=4 / EVIDENCE_MAX_IMAGES=5(默认开启多图) - 新增 tests/test_evidence_model.py,更新 evidence/review 断言与 fakes 归一
This commit is contained in:
1 parent
22db93b6f5
commit
1c9fc72839
10 files changed
+396
-32
No files matched your search
+16
-3
@@ -10,6 +10,7 @@
|
||||
|
||||
import json
|
||||
|
||||
from dwg_review import evidence_model
|
||||
from dwg_review.cad_tools import CadTools
|
||||
from dwg_review.checklist import DEFAULT_CHECKLIST
|
||||
from dwg_review.context import ReviewContext
|
||||
@@ -313,10 +314,23 @@ def make_evidence(
|
||||
bbox=(0.0, 0.0, 100.0, 50.0),
|
||||
image_b64=None,
|
||||
image_mime=None,
|
||||
images=None,
|
||||
source_type=None,
|
||||
**over,
|
||||
):
|
||||
"""构造 collect_frame 的返回值(evidence)。"""
|
||||
"""构造 collect_frame 的返回值(evidence)。
|
||||
|
||||
兼容旧的 `image_b64`/`image_mime` 单图入参:若给了 image_b64 而未给 images,
|
||||
则归一进 `images` 列表(与 `evidence_model.evidence_images` 的归一保持一致)。
|
||||
"""
|
||||
if images is None:
|
||||
images = []
|
||||
if image_b64:
|
||||
images.append(
|
||||
evidence_model.make_image(image_b64, image_mime or "image/png")
|
||||
)
|
||||
ev = {
|
||||
"source_type": source_type or evidence_model.SOURCE_CAD,
|
||||
"index": index,
|
||||
"frame": frame(bbox),
|
||||
"window": {
|
||||
@@ -330,8 +344,7 @@ def make_evidence(
|
||||
"dimensions": {"total": 0, "items": []},
|
||||
"blocks": {"total": 0, "items": []},
|
||||
"polylines": {"total": 0, "items": []},
|
||||
"image_b64": image_b64,
|
||||
"image_mime": image_mime,
|
||||
"images": images,
|
||||
}
|
||||
ev.update(over)
|
||||
return ev
|
||||
Reference in new issue
Block a user