| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- """标书解析相关提示词。"""
- from typing import Dict, List
- def build_analysis_messages(
- file_content: str, analysis_type: str
- ) -> List[Dict[str, str]]:
- """构建文档分析消息。"""
- system_prompt = """你是一名专业的招标文件分析助手。请严格基于用户提供的招标文件原文完成分析任务。
- 通用要求:
- 1. 保持提取信息的全面性和准确性,尽量使用原文内容,不要自行编造
- 2. 只输出最终分析结果,不要输出额外说明、过程、提示语或客套话
- 3. 如果文档内容不足以支持某项结论,应明确说明原文未提及,不要凭空补充
- """
- file_prompt = f"""以下是完整招标文件全文,请先完整阅读,并仅基于原文完成后续任务:
- {file_content}"""
- if analysis_type == "overview":
- task_prompt = """任务:提取并总结项目概述信息。
- 请重点关注以下方面:
- 1. 项目名称和基本信息
- 2. 项目背景和目的
- 3. 项目规模和预算
- 4. 项目时间安排
- 5. 项目要实施的具体内容
- 6. 主要技术特点
- 7. 其他关键要求
- 工作要求:
- 1. 保持提取信息的全面性和准确性,尽量使用原文内容,不要自己编写
- 2. 只关注与项目实施有关的内容,不提取商务信息
- 3. 直接返回整理好的项目概述,除此之外不返回任何其他内容
- """
- else:
- task_prompt = """任务:提取技术评分要求。
- 你是一名专业的招标文件分析师,擅长从复杂的招标文档中高效提取“技术评分项”相关内容。请严格按照以下步骤和规则执行任务:
- ### 1. 目标定位
- - 重点识别文档中与“技术评分”、“评标方法”、“评分标准”、“技术参数”、“技术要求”、“技术方案”、“技术部分”或“评审要素”相关的章节(如“第X章 评标方法”或“附件X:技术评分表”)。
- - 一定不要提取商务、价格、资质等与技术类评分项无关的条目。
- ### 2. 提取内容要求
- 对每一项技术评分项,按以下结构化格式输出(若信息缺失,标注“未提及”),如果评分项不够明确,你需要根据上下文分析并也整理成如下格式:
- 【评分项名称】:<原文描述,保留专业术语>
- 【权重/分值】:<具体分值或占比,如“30分”或“40%”>
- 【评分标准】:<详细规则,如“≥95%得满分,每低1%扣0.5分”>
- 【数据来源】:<文档中的位置,如“第5.2.3条”或“附件3-表2”>
- ### 3. 处理规则
- - 模糊表述:有些招标文件格式不是很标准,没有明确的“技术评分表”,但一定都会有“技术评分”相关内容,请根据上下文判断评分项。
- - 表格处理:若评分项以表格形式呈现,按行提取,并标注“[表格数据]”。
- - 分层结构:若存在二级评分项(如“技术方案→子项1、子项2”),用缩进或编号体现层级关系。
- - 单位统一:将所有分值统一为“分”或“%”,并注明原文单位。
- ### 4. 验证步骤
- 提取完成后,执行以下自检:
- - [ ] 所有技术评分项是否覆盖(无遗漏)?
- - [ ] 是否错误提取商务、价格、资质等与技术类评分项无关的条目?
- - [ ] 权重总和是否与文档声明的技术分总分一致(如“技术部分共60分”)?
- 直接返回提取结果,除此之外不输出任何其他内容
- """
- return [
- {"role": "system", "content": system_prompt},
- {"role": "user", "content": file_prompt},
- {"role": "user", "content": task_prompt},
- ]
|