1.23 修了开评定标提示词 废标无效标 增加了'十、废标条件' 这种的提取

This commit is contained in:
zy123 2025-01-23 14:30:26 +08:00
parent d8d5ece4fc
commit d3558a9c21

View File

@ -19,7 +19,7 @@ def clean_dict_datas(extracted_contents, keywords, excludes): # 让正则表达
# 定义用于分割句子的正则表达式,包括中文和西文的结束标点
split_pattern = r'(?<=[。!?\!\?])'
clean_pattern = (r'^\s*(?:[(]\s*\d+\s*[))]|'
r'[A-Za-z]?\d+(?:\.\s*\d+)*[\s\.、.)\]+|'
r'[A-Za-z]?\d+(?:\.\s*\d+)*[\s\.、.)\]?|' #12.1
r'[一二三四五六七八九十]+、|'
r'[A-Za-z][)\.、.]?\s*)')
idx = 0 # 共享的序号标记
@ -31,7 +31,10 @@ def clean_dict_datas(extracted_contents, keywords, excludes): # 让正则表达
if any(exclude in data for exclude in excludes):
continue # 如果包含任何排除字符串,跳过这个数据
# 去掉开头的序号eg:1 | (1) |2 | 1. | 2全角点| 3、 | 1.1 | 2.3.4 | A1 | C1.1 | 一、
print("--------------")
print(data)
data = re.sub(clean_pattern, '', data).strip()
print(data)
keyword_match = re.search(keywords, data)
if keyword_match:
# 从关键词位置开始查找结束标点符号
@ -582,54 +585,54 @@ def combine_find_invalid(invalid_docpath, output_dir):
os.path.join(output_dir, "temp1.txt"),
"否决和无效投标情形"
),
(
r'\s*标',
"""以下是从招标文件中摘取的内容,文本中序号分明,文本内之间的信息以'...............'分割。
任务目标
请根据以下内容筛选出 废标项的情况 明确描述导致 废标 的情况并返回对应的序号
要求与指南
文本中可能存在无关的信息请准确筛选符合条件的信息并将符合条件的信息的序号返回
输出格式
返回结果以 [x, x, x] 的形式其中 x 为符合条件的信息的序号为自然数无需额外返回解释与说明
如果文本中没有任何符合条件的废标情况请返回 []
示例输出,仅供格式参考
[1,3,4,6]
文本内容{full_text}
""",
os.path.join(output_dir, "temp2.txt"),
"废标项"
),
(
r'\s*得(?!\s*(分|力))|禁\s*止\s*投\s*标',
"""以下是从招标文件中摘取的内容,文本中序号分明,文本内的条款以'...............'分割。条款规定了各方不得存在的情形。请根据以下要求进行筛选:
**投标相关主体与非投标相关主体的定义**
投标相关主体包括但不限于投标人中标人供应商联合体投标各方响应人应答人或其他描述投标方的词语
非投标相关主体包括但不限于招标人采购人评标委员会或其他描述非投标方的词语
**筛选要求**
1. **仅筛选**明确描述投标相关主体禁止情形或不得存在的情形的条款不包含笼统或未具体说明情形的条款例如
若条款内容包含'投标人不得存在的其他关联情形'这样的笼统描述而未说明具体的情形则无需添加该条款
2. **排除**仅描述非投标相关主体行为限制或禁止情形的条款例如招标人不得泄露信息评标委员会不得收受贿赂则无需返回
3. 若条款同时描述了对投标相关主体与非投标相关主体的行为限制禁止情形也需返回
4. **特殊情况**如果条款中包含磋商小组各方等既能指代投标相关主体又能指代非投标相关主体的词汇
若在语境中其指代或包含投标相关主体则应将其考虑在内否则排除该条款
**输出格式**
返回结果以 [x, x, x] 的形式其中 x 为符合条件的条款的序号为自然数无需额外返回解释与说明
如果没有符合条件的条款返回 `[]`
**示例**
- **符合条件**
- `1. 投标人不得...` 包含返回序号 1
- `3. 联合体投标各方不得...` 包含返回序号 3
- **不符合条件**
- `2. 采购人不得...` 主语为采购人排除
-示例输出: [1,3]
请根据上述筛选要求阅读以下文本内容并返回符合条件的条款序号
文本内容{full_text}
""",
os.path.join(output_dir, "temp3.txt"),
"不得存在的情形"
)
# (
# r'废\s*标',
# """以下是从招标文件中摘取的内容,文本中序号分明,文本内之间的信息以'...............'分割。
# 任务目标
# 请根据以下内容,筛选出 废标项的情况 (明确描述导致 废标 的情况)并返回对应的序号
# 要求与指南
# 文本中可能存在无关的信息,请准确筛选符合条件的信息,并将符合条件的信息的序号返回。
# 输出格式
# 返回结果以 [x, x, x] 的形式,其中 x 为符合条件的信息的序号,为自然数。无需额外返回解释与说明。
# 如果文本中没有任何符合条件的废标情况,请返回 []。
# 示例输出,仅供格式参考
# [1,3,4,6]
# 文本内容:{full_text}
# """,
# os.path.join(output_dir, "temp2.txt"),
# "废标项"
# ),
# (
# r'不\s*得(?!\s*(分|力))|禁\s*止\s*投\s*标',
# """以下是从招标文件中摘取的内容,文本中序号分明,文本内的条款以'...............'分割。条款规定了各方不得存在的情形。请根据以下要求进行筛选:
# **投标相关主体与非投标相关主体的定义**
# 投标相关主体:包括但不限于“投标人”、“中标人”、“供应商”、“联合体投标各方”、“响应人”、“应答人”或其他描述投标方的词语。
# 非投标相关主体:包括但不限于“招标人”、“采购人”、“评标委员会”或其他描述非投标方的词语。
# **筛选要求**
# 1. **仅筛选**明确描述投标相关主体禁止情形或不得存在的情形的条款,不包含笼统或未具体说明情形的条款。例如:
# 若条款内容包含'投标人不得存在的其他关联情形'这样的笼统描述,而未说明具体的情形,则无需添加该条款。
# 2. **排除**仅描述非投标相关主体行为限制或禁止情形的条款,例如“招标人不得泄露信息”或“评标委员会不得收受贿赂”,则无需返回。
# 3. 若条款同时描述了对投标相关主体与非投标相关主体的行为限制、禁止情形,也需返回。
# 4. **特殊情况**:如果条款中包含“磋商小组”、”各方“等既能指代投标相关主体又能指代非投标相关主体的词汇:
# 若在语境中其指代或包含投标相关主体,则应将其考虑在内;否则,排除该条款。
#
# **输出格式**
# 返回结果以 [x, x, x] 的形式,其中 x 为符合条件的条款的序号,为自然数。无需额外返回解释与说明。
# 如果没有符合条件的条款,返回 `[]`。
# **示例**
# - **符合条件**
# - `1. 投标人不得...` → 包含,返回序号 1
# - `3. 联合体投标各方不得...` → 包含,返回序号 3
# - **不符合条件**
# - `2. 采购人不得...` → 主语为“采购人”,排除。
# -示例输出: [1,3]
# 请根据上述筛选要求,阅读以下文本内容,并返回符合条件的条款序号
#
# 文本内容:{full_text}
# """,
# os.path.join(output_dir, "temp3.txt"),
# "不得存在的情形"
# )
]
results = []