Parcourir la source

要素提取补充AI提取

luojiehua il y a 2 mois
Parent
commit
cceb10cdbf

+ 82 - 4
BaseDataMaintenance/AIUtils/html2text.py

@@ -18,19 +18,97 @@ def html2text_with_tablehtml(_html):
     for child in _soup.find_all(recursive=False):
         if child.name in ["table", "tbody"]:
             # 如果是表格或表格主体,保留 HTML 代码
-            result_parts.append(str(child))
+            result_parts.append("\n"+str(child)+"\n")
         else:
             # 递归处理其他元素并转换为文本
             text = html2text_with_tablehtml(child)
             result_parts.append(text)
         _find = True
     if not _find:
-        result_parts.append(str(_soup.get_text()))
+        _text = str(_soup.get_text())
+        if len(_text)>0:
+            if _soup.name in {"p","div","li"}:
+                _text += "\n"
+            result_parts.append(_text)
 
     # 将所有处理后的部分连接成一个字符串
-    result = "\n".join(result_parts)
+    result = "".join(result_parts)
     return result
 
 if __name__ == '__main__':
-    _html = "<div><p>这是一个p</p><table><tr><td>这是一个td</td></tr></table></div>"
+    _html = '''
+    <div>
+ <div> 
+  <div>
+   <a target="_blank" class="markBlue" href="/bdqyhx/212640768695025664.html" style="color: #3083EB !important;text-decoration: underline;">中国航发南方工业有限公司</a>水力测功器采购中标候选人公示
+  </div> 
+  <div> 
+   <p><span><a target="_blank" class="markBlue" href="/bdqyhx/211649182834044928.html" style="color: #3083EB !important;text-decoration: underline;">湖南省招标有限责任公司</a>受</span><span><a target="_blank" class="markBlue" href="/bdqyhx/212640768695025664.html" style="color: #3083EB !important;text-decoration: underline;">中国航发南方工业有限公司</a></span><span>的委托,就其</span><span>水力测功器采购</span><span>进行国内公开招标,招标编号为0623-2574N1101004,开标仪式于202</span><span>5</span><span>年0</span><span>3</span><span>月</span><span>03</span><span>日上午09时00分在</span><span>湖南省株洲市芦淞区董家塅南方国宾酒店</span><span>举行。评标委员会成员按照招标文件的要求和评标原则,经过认真、仔细的工作,推荐了3名中标候选人,中标候选人情况如下,现予以公示 :</span></p> 
+   <table width="554"> 
+    <tbody> 
+     <tr> 
+      <td width="161"><p><span>中标候选人名称</span></p></td> 
+      <td width="131"><p><span><a target="_blank" class="markBlue" href="/bdqyhx/211992609668935680.html" style="color: #3083EB !important;text-decoration: underline;">株洲六零八所科技有限公司</a></span></p></td> 
+      <td width="131"><p><span>江苏联测机电科技股份有限公司</span></p></td> 
+      <td width="131"><p><span>无锡阿迪维斯智能科技有限公司</span></p></td> 
+     </tr> 
+     <tr> 
+      <td width="161"><p><span>中标候选人排序</span></p></td> 
+      <td width="131"><p><span>1</span></p></td> 
+      <td width="131"><p><span>2</span></p></td> 
+      <td width="131"><p><span>3</span></p></td> 
+     </tr> 
+     <tr> 
+      <td width="161"><p><span>投标报价(元)</span></p></td> 
+      <td width="131"><p><span>4,530,000.00</span></p></td> 
+      <td width="131"><p><span>3,992,400.00</span></p></td> 
+      <td width="131"><p><span>4,980,000.00</span></p></td> 
+     </tr> 
+     <tr> 
+      <td width="161"><p><span>交货期</span></p></td> 
+      <td width="131"><p><span>合同签字生效后5个月</span></p></td> 
+      <td width="131"><p><span>合同签字生效后5个月</span></p></td> 
+      <td width="131"><p><span>合同签字生效后5个月</span></p></td> 
+     </tr> 
+     <tr> 
+      <td width="161"><p><span>质量</span></p></td> 
+      <td width="131"><p><span>合格</span></p></td> 
+      <td width="131"><p><span>合格</span></p></td> 
+      <td width="131"><p><span>合格</span></p></td> 
+     </tr> 
+     <tr> 
+      <td width="161"><p><span>中标候选人响应招标文件的资格能力条件</span></p></td> 
+      <td width="131"><p><span>满足招标文件要求</span></p></td> 
+      <td width="131"><p><span>满足招标文件要求</span></p></td> 
+      <td width="131"><p><span>满足招标文件要求</span></p></td> 
+     </tr> 
+     <tr> 
+      <td width="161"><p><span>项目负责人姓名</span></p></td> 
+      <td width="131"><p><span>黄莉琴</span></p></td> 
+      <td width="131"><p><span>姚海飞</span></p></td> 
+      <td width="131"><p><span>赵少华</span></p></td> 
+     </tr> 
+     <tr> 
+      <td width="161"><p><span>评标情况(综合得分)</span></p></td> 
+      <td width="131"><p><span>88.47</span></p></td> 
+      <td width="131"><p><span>87.52</span></p></td> 
+      <td width="131"><p><span>77.72</span></p></td> 
+     </tr> 
+    </tbody> 
+   </table> 
+   <p><span>公示期为3日,投标人或者其他利害关系人对评标结果有异议的,应按招标文件要求在公示期间提出,否则不予受理,至公示期满无异议,招标人将确定排序第一名的中标候选人为该项目中标人,并发出中标通知书。</span></p> 
+   <p></p> 
+   <p><span>招标代理机构:<a target="_blank" class="markBlue" href="/bdqyhx/211649182834044928.html" style="color: #3083EB !important;text-decoration: underline;">湖南省招标有限责任公司</a></span></p> 
+   <p><span>联系人:</span><span>左佳</span><span>、肖劲松</span></p> 
+   <p><span>电话:0731-84512644</span></p> 
+   <p><span>电子邮箱:hnzb1@126.com</span></p> 
+   <p><span>日期:202</span><span>5</span><span>年0</span><span>3</span><span>月</span><span>03</span><span>日</span></p> 
+   <p><br></p> 
+  </div> 
+  <div> 
+   <input type="hidden" value="653e93e5-cda5-41ad-8a83-6a48966f5b1b"> 
+  </div> 
+ </div>
+</div>
+    '''
     print(html2text_with_tablehtml(_html))

+ 16 - 8
BaseDataMaintenance/AIUtils/prompts.py

@@ -2,23 +2,31 @@
 
 
 
-def get_prompt_extract_role():
+def get_prompt_extract_role(_text):
     _prompt = '''
+    #公告内容开始:
+    -------------------------------
+    %s
+    -------------------------------
+    #公告内容结束
+    ##任务开始
     #角色
     招投标信息提取专家
-    #工作流程1
+    #工作流程
     1. 通读全文
     2. 找到其中的招标人
     3. 找到其中的中标信息,如中标人所在标段的中标金额
-    #规范1
-    1. 要求提取的招标人和中标人必须是机构实体,如不是,则为
+    #规范
+    1. 要求提取的招标人和中标人必须是机构实体,如不是,则为""
     2. 招标人是招标公告的业主单位
     3. 中标人必须是该标的中标企业
     4. 标段号是指中标人所中标的包号:如A包则为A,1包则为1
     5. 中标信息中的中标人名称、中标金额和标段号必须和文中的信息对应,如果有多个,则再数组中返回多个
-    6. 中标人只需要第一中标人
-    #返回结果1
-    结果返回json格式{"招标人":"","中标信息":[{"中标人名称":"","中标金额":"":"标段号":""}]}
-    '''
+    6. 中标人只需要提取能明确是第一中标人的,如未明确第一中标人的情况下,不应随意提取
+    7. 招标人联系方式只提取属于招标人的联系方式,联系电话只需要固话和手机
+    8. 项目预算和中标金额返回金额+单位的格式
+    #返回结果
+    结果返回json格式{"招标信息":{"招标人名称":"","项目预算":"","招标人联系方式":[{"联系人":"","联系电话":""}]},"中标信息":[{"中标人名称":"","中标金额":"":"标段号":""}]}
+    '''%(_text)
     return _prompt
 

+ 1 - 1
BaseDataMaintenance/dataSource/setttings.py

@@ -61,7 +61,7 @@ smtp_password = "Biaoxun66-"
 
 
 activateMQ_host = "192.168.0.109"
-# activateMQ_host = "121.46.18.113"
+# activateMQ_host = "120.132.118.205"
 activateMQ_port = 61613
 activateMQ_user = "admin"
 activateMQ_pswd = "admin"

Fichier diff supprimé car celui-ci est trop grand
+ 112 - 18
BaseDataMaintenance/maintenance/dataflow_mq.py


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff