职责:
关键产出:
职责:
关键产出:
职责:
关键产出:
pdf_table_to_docx/ — PDF 表格提取与还原llm/llm_utils.py — LLM 调用封装(分析、抽取、填充)职责:
关键产出:
Phase 1: 招标文件解析
│
├── PDF 文本提取 (PyMuPDF)
├── PDF 表格提取 → docx 表格 (pdf_table_to_docx)
└── 结构化存储 (JSON)
Phase 2: 投标大纲构建
│
├── LLM 分析招标文件需求
├── 参考历史投标文件结构
└── 输出:投标目录大纲 + 需补充信息清单
Phase 3: 公司信息收集
│
├── 根据 Phase 2 的信息清单生成 JSON 模板
├── 投标公司填写/上传材料(文本 + 图片)
└── 输出:已填充的 bid_fill_draft.json
Phase 4: 内容填充
│
├── 招标表格原样还原(保留格式、合并单元格等)
├── LLM 填充正文内容(参考历史投标文件)
├── 图片/扫描件嵌入
└── 一致性校验(附件编号、名称对应)
Phase 5: 投标文件生成
│
├── JSON → DOCX 渲染
├── 表格、图片、签章占位符还原
└── 输出:最终投标文件.docx
Phase 6: 测试验证
│
├── 表格完整性检查
├── 附件引用一致性检查
├── 评分标准覆盖检查
└── 输出:测试报告
基于本次分析,已生成 output/company_info_template.json,包含:
| 分类 | 字段数 | 必需字段 | 支持图片 |
|---|---|---|---|
| 公司基本信息 | 20 | 8 | 0 |
| 法定代表人及授权委托人信息 | 14 | 11 | 7 |
| 资质证书 | 9 | 8 | 9 |
| 财务状况 | 4 | 4 | 4 |
| 企业声明函 | 5 | 4 | 5 |
| 团队人员信息 | 16 | 13 | 2 |
| 历史业绩 | 4 | 3 | 3 |
| 报价信息 | 7 | 6 | 5 |
| 设备资源 | 2 | 1 | 1 |
| 服务方案参考 | 3 | 0 | 1 |
| 合计 | 84 | 58 | 35 |
pdf_table_to_docx 提取为 docx 格式attachment_registry(附件注册表)image_path(本地路径)或 image_base64(Base64 编码)llm_utils.py 封装了三种场景:analyze / extract / fillresponse_format={"type": "json_object"}