From 520c8b19d006b273ed242e7f9c13ae4bae95c1b6 Mon Sep 17 00:00:00 2001 From: panda <1415243231@qq.com> Date: Sun, 24 May 2026 22:44:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BA=94=E8=BD=AE=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=A0=B9=E5=9B=A0=E4=BF=AE=E5=A4=8D=20-=20?= =?UTF-8?q?=E8=AF=84=E5=88=86=E5=85=AC=E5=BC=8F=E5=8E=BB=E6=8E=89field=5Fc?= =?UTF-8?q?overage=E6=9D=83=E9=87=8D,=20namespace=E6=97=A0=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E6=A3=80=E6=9F=A5,=20OCR=E8=87=AA=E5=8A=A8=E5=8F=91?= =?UTF-8?q?=E7=8E=B0=E6=96=87=E6=A1=A3=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agent/nodes.py | 6 +++--- prompts/initial_generation.md | 6 +++++- prompts/skeleton_generation.md | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/agent/nodes.py b/agent/nodes.py index 42fdff9..a9bc08b 100644 --- a/agent/nodes.py +++ b/agent/nodes.py @@ -1317,9 +1317,9 @@ def _check_ocr_fidelity(jrxml: str, state: dict) -> dict: f"OCR 布局分析有 {ocr_columns} 列" ) - # 综合评分(元素覆盖为主权重 0.8,字段覆盖为辅助 0.2) - # 英文字段名 vs 中文 OCR 字段名天然不匹配是预期行为,字段覆盖仅作参考 - score = round(element_coverage * 0.8 + field_coverage * 0.2, 3) + # 综合评分(只依赖元素覆盖,字段名语言不匹配是预期行为) + # field_coverage 仅作信息提示,不参与评分计算 + score = round(element_coverage, 3) return { "score": score, "field_coverage": round(field_coverage, 3), diff --git a/prompts/initial_generation.md b/prompts/initial_generation.md index a3b6a30..25b964e 100644 --- a/prompts/initial_generation.md +++ b/prompts/initial_generation.md @@ -4,7 +4,11 @@ JRXML 必须兼容 JasperReports 7.0.6 schema。 关键规则: - 只输出 JRXML 代码,不要解释,不要 markdown 标记。 - 报表正文中使用的每个字段必须在 部分中声明。 -- 根元素为 ,包含正确的 xmlns 属性。 +- 根元素为 ,包含正确的 xmlns 属性。**禁止在元素标签上使用 ns0: 前缀**。正确的根元素格式: + ```xml + + ``` + 删除所有 `xmlns:ns0` 声明,删除所有元素标签上的 `ns0:` 前缀。 - 包含 ,在 中包含 SQL 查询。 - 确保所有交叉引用(字段名称、band 元素)保持一致。 diff --git a/prompts/skeleton_generation.md b/prompts/skeleton_generation.md index 2551a1f..69f7517 100644 --- a/prompts/skeleton_generation.md +++ b/prompts/skeleton_generation.md @@ -5,7 +5,7 @@ - 使用 $F{{field_1}}, $F{{field_2}}, ... 作为占位字段名,并在 部分声明它们。 - 报表结构必须正确(title, pageHeader, columnHeader, detail, pageFooter 等 band)。 - 元素位置使用近似值即可,后续会精确调整。 -- 根元素为 ,命名空间和 schemaLocation 必须精确,不可使用其他 URL(如 jaspersoft.com)。 +- 根元素为 ,命名空间和 schemaLocation 必须精确,不可使用其他 URL(如 jaspersoft.com)。**禁止在元素标签上使用 ns0: 前缀**。 - 包含 ,在 中放置占位 SQL(SELECT * FROM table_name)。 - 确保 JRXML 兼容 JasperReports 7.0.6。