소스 검색

AI提取上线,优化金额检查

luojiehua 2 달 전
부모
커밋
1075a6131a

+ 78 - 24
BaseDataMaintenance/AIUtils/request_qwq_32b.py

@@ -48,29 +48,83 @@ def request_llm(prompt, model="deepseek-r1:1.5b"):
 if __name__ == '__main__':
 
     a = '''
-#公告内容开始:
--------------------------------
-%s
--------------------------------
-#公告内容结束
-##任务开始
-#角色
-招投标信息提取专家
-#工作流程
-1. 通读全文
-2. 找到其中的招标人
-3. 找到其中的中标信息,如中标人所在标段的中标金额
-#规范
-1. 要求提取的招标人和中标人必须是机构实体,如不是,则为""
-2. 招标人是招标公告的业主单位
-3. 中标人必须是该标的中标企业
-4. 标段号是指中标人所中标的包号:如A包则为A,1包则为1
-5. 中标信息中的中标人名称、中标金额和标段号必须和文中的信息对应,如果有多个,则再数组中返回多个
-6. 中标人只需要提取能明确是第一中标人的,如未明确第一中标人的情况下,不应随意提取
-7. 招标人联系方式只提取属于招标人的联系方式,联系电话只需要固话和手机
-8. 项目预算和中标金额返回金额+单位的格式
-#返回结果
-结果返回json格式{"招标信息":{"招标人名称":"","项目预算":"","招标人联系方式":[{"联系人":"","联系电话":""}]},"中标信息":[{"中标人名称":"","中标金额":"":"标段号":""}]}
+
+一、 *采购人名称:桐城市东关小学
+
+二、 *履约供应商名称:桐城市博瑞电脑器材销售有限公司
+
+三、 *采购项目编号:2971451000000741040
+
+四、 *合同编号:30974996
+
+五、 *验收单位:桐城市东关小学
+
+六、 *验收日期:2025年3月26日
+
+七、 *验收结果:
+
+序号	服务内容	验收数量	验收金额(元)	验收标准\规格型号\技术标准	验收结果	备注
+1	得力 卡纸 卡纸	2	90.0	得力/deli\卡纸	验收通过	
+2	斯伯丁 83-218Y 篮球	2	530.0	斯伯丁/Spalding\83-218Y	验收通过	
+3	得力 24830 奖状/证书	600	1200.0	得力/deli\24830	验收通过	
+4	得力 党员徽章 铭牌	32	160.0	得力/deli\党员徽章	验收通过	
+5	梅花 挂锁 挂锁	20	120.0	梅花\挂锁	验收通过	
+6	梅花 挂锁 挂锁	10	120.0	梅花\挂锁	验收通过	
+7	威露士 健康抑菌洗手液 洗手液	24	360.0	威露士/Walch\健康抑菌洗手液	验收通过	
+8	得力 名片盒/本/夹/册	10	480.0	得力/deli\A5皮面记事本	验收通过	
+9	得力 名片盒/本/夹/册	80	1600.0	得力/deli\16K皮面记事本	验收通过	
+10	得力 名片盒/本/夹/册	150	1200.0	得力/deli\备课笔记本	验收通过	
+11	得力 名片盒/本/夹/册	150	1050.0	得力/deli\听课笔记	验收通过	
+12	晨光 名片盒/本/夹/册	20	120.0	晨光/M&G\会议记录本	验收通过	
+13	航天 六角粉笔 粉笔	2	300.0	航天\六角粉笔	验收通过	
+14	航天 六角粉笔 粉笔	4	400.0	航天\六角粉笔	验收通过	
+15	妙洁 背心式垃圾袋大号 垃圾袋	1	750.0	妙洁/magic\背心式垃圾袋大号	验收通过	
+16	妙洁 背心式垃圾袋大号 垃圾袋	1	500.0	妙洁/magic\背心式垃圾袋大号	验收通过	
+17	得力 A3打印纸 打印/复印纸	4	1032.0	得力/deli\A3打印纸	验收通过	
+18	得力 莱茵河 80g A4 打印/复印纸	7	1806.0	得力/deli\莱茵河 80g A4	验收通过	
+19	柯尼卡美能达 TN119 粉盒	2	336.0	柯尼卡美能达/KONICA MINOLTA\TN119	验收通过	
+20	得力 33415 档案袋	20	160.0	得力/deli\33415	验收通过	
+21	得力 5910 档案袋	20	120.0	得力/deli\5910	验收通过	
+22	得力 7103 胶水	84	252.0	得力/deli\7103	验收通过	
+23	南孚 5号2粒(2代) 普通干电池	50	250.0	南孚/NANFU\5号2粒(2代)	验收通过	
+24	公牛 GN-604-3米 多功能插座	5	340.0	公牛/BULL\GN-604-3米	验收通过	
+25	公牛 GN-218 5m 多功能插座	3	234.0	公牛/BULL\GN-218 5m	验收通过	
+26	上汇 0051 票夹/长尾夹	10	220.0	上汇\0051	验收通过	
+27	南孚+7号5粒(4代)电池 普通干电池	100	250.0	南孚/NANFU\南孚+7号5粒(4代)电池	验收通过	
+28	晨光 黑板擦	48	384.0	晨光/M&G\ASC99364	验收通过	
+29	晨光 MG2160 白板笔	20	50.0	晨光/M&G\MG2160	验收通过	
+30	晨光 APYVG608 复写纸	4	880.0	晨光/M&G\APYVG608	验收通过	
+31	齐心 D4032 复写纸(粉色)	2	720.0	齐心/Comix\D4032	验收通过	
+32	得力 9378 复写纸(大红色)	1	360.0	得力\9378	验收通过	
+33	心相印 DT15100 抽纸	24	528.0	心相印/Mind Act Upon Mind\DT15100	验收通过	
+34	晨光 8001A 中性笔芯	84	2100.0	晨光/M&G\8001A	验收通过	
+35	晨光 8001A 中性笔芯	84	2100.0	晨光/M&G\8001A	验收通过	
+36	舒肤佳 纯白清香型108g 香皂	30	180.0	舒肤佳/safeguard\纯白清香型108g	验收通过	
+37	洁丽雅 7416 毛巾/面巾/方巾	30	600.0	洁丽雅/grace\7416	验收通过	
+38	得力 S856 中性笔	12	432.0	得力/deli\S856	验收通过	
+39	得力 硬面抄	60	240.0	得力/deli\T3272	验收通过	
+40	得力 8591F 票夹/长尾夹	10	240.0	得力/deli\8591F	验收通过	
+41	得力 33425 票夹/长尾夹	10	150.0	得力/deli\33425	验收通过	
+42	齐心 AP-117 档案袋	200	200.0	齐心/Comix\AP-117	验收通过	
+43	奔图 PD-206 硒鼓	4	580.0	奔图/Pantum\PD-206	验收通过	
+44	得力 7304 胶水	24	144.0	得力/deli\7304	验收通过	
+45	公牛 GN-609 1.8米 电源插座	5	225.0	公牛/BULL\GN-609 1.8米	验收通过	
+46	晨光 ADM92990 档案盒	12	216.0	晨光/M&G\ADM92990	验收通过	
+47	得力 1529 电子计算器	2	110.0	得力/deli\1529	验收通过	
+48	得力 0037 回形针座/盒	20	50.0	得力/deli\0037	验收通过	
+49	得力 0027 订书钉	20	40.0	得力/deli\0027	验收通过	
+50	得力 0466 订书机	2	70.0	得力/deli\0466	验收通过	
+51	得力 S128 中性笔签字笔	60	300.0	得力/deli\S128	验收通过	
+52	得力 S128 中性笔签字笔	24	648.0	得力/deli\S128	验收通过	
+53	齐心 A1457 档案盒	24	312.0	齐心/Comix\A1457	验收通过	
+54	齐心 A1285 档案盒	24	360.0	齐心/Comix\A1285	验收通过	
+55	金晨鸣 70g A4 打印/复印纸	12	2640.0	金晨鸣\70g A4	验收通过	
+56	【运费】	1	0.0		验收通过	
+
+验收报告:
+验收人员名单: ah0881036011
+
+提取出以上内容的中标人和中标金额
     '''
-    code, answer = request_llm(a)
+    code, answer = request_llm(a,model="deepseek-r1:14b")
     print(answer)

+ 4 - 3
BaseDataMaintenance/maintenance/dataflow.py

@@ -4114,6 +4114,7 @@ class Dataflow_dumplicate(Dataflow):
             _time = time.time()
             list_projects = dumplicate_projects(list_projects)
 
+
             # log("dumplicate projects takes:%.3f"%(time.time()-_time))
             _time = time.time()
             list_projects = self.merge_projects(list_projects,b_log,project_table=project_table,project_table_index=project_table_index)
@@ -5051,9 +5052,9 @@ if __name__ == '__main__':
     # test_attachment_interface()
     df_dump = Dataflow_dumplicate(start_delete_listener=False)
     # df_dump.start_flow_dumplicate()
-    # df_dump.test_dumplicate(604071359
-    #                         )
-    df_dump.dumplicate_comsumer_handle_interface(603504420,document_table="document_0000",document_table_index="document_0000_index",project_table="project_0000",project_table_index="project_0000_index_formerge")
+    df_dump.test_dumplicate(563465267
+                            )
+    # df_dump.dumplicate_comsumer_handle_interface(603504420,document_table="document_0000",document_table_index="document_0000_index",project_table="project_0000",project_table_index="project_0000_index_formerge")
     # compare_dumplicate_check()
     # df_dump.test_merge([391898061
     #                     ],[371551361,])

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 13 - 2
BaseDataMaintenance/maintenance/dataflow_mq.py


+ 3 - 1
BaseDataMaintenance/maxcompute/documentMerge.py

@@ -1803,6 +1803,7 @@ def generate_projects(list_docs):
 
     project_dict = generate_common_properties(list_docs)
 
+
     list_package_properties = generate_packages_properties(list_docs)
 
     #生成包数据
@@ -2257,7 +2258,8 @@ def update_projects_by_project(project_dict,projects):
         _proj.update(_dict)
         if str(_proj.get(project_page_time,""))<=str(project_dict.get(project_page_time,"")):
             _proj[project_page_time] = project_dict.get(project_page_time,"")
-            _proj[project_docchannel] = project_dict.get(project_docchannel,"")
+            if project_dict.get(project_docchannel,"")!="":
+                _proj[project_docchannel] = project_dict.get(project_docchannel,"")
         if project_dict.get(project_sub_project_name) is not None and project_dict.get(project_sub_project_name) not in {"","Project"}:
             if not (_proj.get(project_sub_project_name) is not None and _proj.get(project_sub_project_name) not in {"","Project"}):
                 _proj[project_sub_project_name] = project_dict.get(project_sub_project_name)

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.