Cartex¶
Cartex 是面向建筑工程文件工程量清单的子项目富化管道。
它接收来自 Cato-v2 的结构化提取结果——从建筑 PDF 页面提取的表格、文字备注及图像上下文——并利用辅助表、通用备注、图例图示、尺寸卡片和多标签解析,为每个清单行填充目标列数据。
工作原理¶
- 提取 — Cato-v2 将 PDF 页面渲染为图像并发送至 Gemini 视觉 AI,生成包含表格和上下文信息的
ExtractionResult。 - 富化 — Cartex 将提取结果路由至并发执行的专业策略,再将各策略输出合并为一个
list[EnrichedRow]。
富化后的行直接映射到用户定义的工程量清单模板(窗、门、幕墙等)的各列。
快速入门¶
1. 配置本地环境¶
创建虚拟环境、安装依赖,并将 cartex 命令加入当前 shell 的可执行路径。
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
chmod +x ./cartex
export PATH="$PWD:$PATH"
2. 运行 Cartex 命令¶
可用于启动 UI、执行多文档批处理,或直接打开文档站点。
3. 以 Python API 集成¶
当你需要在 Python 工作流中集成 Cartex 时,可直接调用 run(...)。
from main import run
from src.models import UserTableSchema
from src.templates import TemplateType
schema = UserTableSchema(
template=TemplateType.STANDARD_TAKEOFF,
columns=["Product", "Operability", "Width", "Height",
"Quantity", "Location", "Material",
"Rough Opening Measurements", "Special Notes"],
)
result = run("path/to/document.pdf", page_numbers=[0], schema=schema)
如需多文档回归批跑,请参考 使用 Cartex 中的批处理说明。