|
@@ -0,0 +1,1076 @@
|
|
|
+{
|
|
|
+ "name": "一汽金融信贷助手",
|
|
|
+ "debug": "true",
|
|
|
+ "env": {
|
|
|
+ "question": "一汽金融信贷助手根据模板生成html文件流程"
|
|
|
+ },
|
|
|
+ "nodes": [
|
|
|
+ {
|
|
|
+ "id": "__start__",
|
|
|
+ "type": "__start__",
|
|
|
+ "name": "开始"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "InitConstant_1",
|
|
|
+ "type": "InitConstant",
|
|
|
+ "name": "初始化常量",
|
|
|
+ "config": {
|
|
|
+ "credit_constant": "{{__cfg.env.cfg.credit_constant}}"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "MinioClient_1",
|
|
|
+ "type": "CreditMinioClient",
|
|
|
+ "name": "模板与源文件",
|
|
|
+ "config": {
|
|
|
+ "server_url": "{{__cfg.env.cfg.minio.server_url}}",
|
|
|
+ "access_key": "{{__cfg.env.cfg.minio.access_key}}",
|
|
|
+ "secret_key": "{{__cfg.env.cfg.minio.secret_key}}",
|
|
|
+ "files": "{{__cfg.env.cfg.files}}"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "TemplateVariablesExtractor_1",
|
|
|
+ "type": "VariablesExtractor",
|
|
|
+ "name": "模板变量提取(docx) vars",
|
|
|
+ "config": {
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "CreditPlanner_1",
|
|
|
+ "type": "CreditPlanner",
|
|
|
+ "name": "信审报告计划",
|
|
|
+ "config": {
|
|
|
+ "plans": [
|
|
|
+ "根据输入的文件列表从minio下载文件",
|
|
|
+ "关键词提取目标变量 #E0 = retrieval_keyword(tmplateVars)",
|
|
|
+ "多模态从图片列表中提取模板变量列表中值 v_前缀的vars #E1 = multiLlm([1,2,3],'$Vxxx*') 返回json示例{} ",
|
|
|
+ "金融行业信贷报告的基本结构和所需信息 #E1 = 通过关键词 ${keyword-} 提取 ",
|
|
|
+ "借款人近12个月批发业务余额趋势图 #E2 = 使用#E1 批发业务余额数据,生成趋势图",
|
|
|
+ "表格数据提取 #E3 = 通过关键词或语义检索 retrieval [ 提取数据]",
|
|
|
+ "行业数据 #E4 = tavily_search[汽车行业趋势]",
|
|
|
+ "财务指标数据 #E5 = 使用#E3 通过大模型提问提取",
|
|
|
+ "汇总说明 #E6 = 使用#E3 通过大模型提问提取",
|
|
|
+ "根据提取的目标变量 #E0 的值和信审报告模板(template.docx),生成初始报告 # E7(reportid.docx)",
|
|
|
+ "根据初始报告 #E7, 按照分页符解析拆分为 html 文件内容"
|
|
|
+ ],
|
|
|
+ "tools": [
|
|
|
+ "tavily_search"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "CreditWorker_1",
|
|
|
+ "type": "CreditWorker",
|
|
|
+ "name": "计划并行执行",
|
|
|
+ "config": {
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "ExtractorWorker_1",
|
|
|
+ "type": "ExtractorWorker",
|
|
|
+ "name": "原数据提取",
|
|
|
+ "config": {
|
|
|
+ "chat_base_url": "http://qwen72b.192.168.107.2.nip.io/v1/chat/completions",
|
|
|
+ "chat_model": "Qwen/Qwen2.5-72B-Instruct-AWQ",
|
|
|
+ "vl_base_url": "http://qw2vl72b.192.168.107.2.nip.io/v1",
|
|
|
+ "vl_model": "Qwen/Qwen2-VL-72B-Instruct-AWQ",
|
|
|
+ "bisheng_url": "http://49.232.200.84:9000/api/v1/etl4llm/predict",
|
|
|
+ "tavily_api_key": "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",
|
|
|
+ "offline": false,
|
|
|
+ "datas": {
|
|
|
+ "Affiliate_Table": {
|
|
|
+ "type": "excelToImage",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "集团关联公司调查表"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Sales_Table": {
|
|
|
+ "type": "excelToImage",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "销售数据"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Income_Table": {
|
|
|
+ "type": "excelToImage",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "收益数据"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Cust_Name_kb": {
|
|
|
+ "type": "knowledge",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "营业执照",
|
|
|
+ "question": "名称",
|
|
|
+ "prompt": "首先阅读如下的文档片段: \"\"\" {context} \"\"\" 然后寻找如下问题的答案: \"\"\" 数据提取营业执照{question}, 仅提取名称,不要有多余的描述 \"\"\" ,找不到请直接回答`无法找到答案`。 你的回答:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Cust_Name_multi": {
|
|
|
+ "type": "multi",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "营业执照",
|
|
|
+ "prompt": "提取图片中的公司名称,只输出公司名称,不要其他信息。"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Cust_Name": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "Cust_Name_kb",
|
|
|
+ "Cust_Name_multi"
|
|
|
+ ],
|
|
|
+ "type": "cal",
|
|
|
+ "cal": "nested_map[\"Cust_Name_multi\"].data if nested_map[\"Cust_Name_kb\"].data is None else nested_map[\"Cust_Name_kb\"].data"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "License_Check_date_kb": {
|
|
|
+ "type": "knowledge",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "营业执照",
|
|
|
+ "question": "期限",
|
|
|
+ "prompt": "首先阅读如下的文档片段: \"\"\" {context} \"\"\" 然后寻找如下问题的答案: \"\"\" 数据提取营业执照有效截止{question}, 不要有多余的描述 \"\"\" ,找不到请直接回答`无法找到答案`。 你的回答:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "License_Check_date_multi": {
|
|
|
+ "type": "multi",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "营业执照",
|
|
|
+ "prompt": "提取营业执照有效截止日期,以yyyy-MM-dd展示。若有效期为长期,则回答\"长期\"两个字。严格按照要求输出,你的回答是:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "License_Check_choose": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "License_Check_date_kb",
|
|
|
+ "License_Check_date_multi"
|
|
|
+ ],
|
|
|
+ "type": "cal",
|
|
|
+ "cal": "nested_map[\"License_Check_date_multi\"].data if nested_map[\"License_Check_date_kb\"].data is None else nested_map[\"License_Check_date_kb\"].data"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "License_Check": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "License_Check_choose"
|
|
|
+ ],
|
|
|
+ "type": "cal",
|
|
|
+ "cal": "\"是\" if \"长期\" in nested_map[\"License_Check_choose\"].data or datetime.strptime(nested_map[\"License_Check_choose\"].data, \"%Y-%m-%d\").date() > (datetime.now().date() - timedelta(days=60)) else \"否\""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "CRM_Check": {
|
|
|
+ "type": "mock",
|
|
|
+ "data": {
|
|
|
+ "text": [
|
|
|
+ "是",
|
|
|
+ "否"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "UC_Check": {
|
|
|
+ "type": "mock",
|
|
|
+ "data": {
|
|
|
+ "text": "是"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Check_Discribe2": {
|
|
|
+ "type": "mock",
|
|
|
+ "data": {
|
|
|
+ "text": "短期借款比对不一致"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Balance_Graph_md": {
|
|
|
+ "type": "exCelToMd",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "批发业务余额"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Balance_Graph_labels": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "Balance_Graph_md",
|
|
|
+ "type": "list",
|
|
|
+ "item": [
|
|
|
+ "日期"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Balance_Graph_data": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "Balance_Graph_md",
|
|
|
+ "type": "list",
|
|
|
+ "item": [
|
|
|
+ "金额"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Balance_Graph": {
|
|
|
+ "type": "linechart",
|
|
|
+ "data": {
|
|
|
+ "title": "贷款余额",
|
|
|
+ "data": "${Balance_Graph_data}",
|
|
|
+ "labels": "${Balance_Graph_labels}",
|
|
|
+ "x_size": 10,
|
|
|
+ "y_size": 6
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Discribe3_w": {
|
|
|
+ "type": "webspider",
|
|
|
+ "data": {
|
|
|
+ "text": "北京宇信科技股份有限公司 百度百科"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Discribe3": {
|
|
|
+ "type": "questionByModel",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "Discribe3_w"
|
|
|
+ ],
|
|
|
+ "question": "${Discribe3_w}, \n\n从上文中简单总结该公司的介绍信息,200字左右,按照事实回答"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "RiskInfo_Search_w": {
|
|
|
+ "type": "webspider",
|
|
|
+ "data": {
|
|
|
+ "text": "北京宇信科技股份有限公司 风险信息(最不利)新闻"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "RiskInfo_Search": {
|
|
|
+ "type": "questionByModel",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "RiskInfo_Search_w"
|
|
|
+ ],
|
|
|
+ "question": "#Action:\n阅读以下内容,并形成300字内容总结\n\n#内容 \n\"\"\" ${RiskInfo_Search_w} \"\"\" \n\n\n然后寻找如下问题的答案: \"\"\" 总结上文信息,分析公司风险以及利好信息 \"\"\""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Commerce_Table_md": {
|
|
|
+ "type": "exCelToMd",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "合作情况调查"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Commerce_Table": {
|
|
|
+ "type": "todo_mdtolist",
|
|
|
+ "data": {
|
|
|
+ "source": "Commerce_Table_md",
|
|
|
+ "variable": [
|
|
|
+ "real_company",
|
|
|
+ "product",
|
|
|
+ "coo_date",
|
|
|
+ "edu_new",
|
|
|
+ "edu_old",
|
|
|
+ "pts_yue",
|
|
|
+ "zsh_yue",
|
|
|
+ "rj_yue"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "sum_edu_new": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "list_sum",
|
|
|
+ "sources": [
|
|
|
+ "Commerce_Table"
|
|
|
+ ],
|
|
|
+ "variable": "edu_new",
|
|
|
+ "cal": ""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "sum_edu_old": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "list_sum",
|
|
|
+ "sources": [
|
|
|
+ "Commerce_Table"
|
|
|
+ ],
|
|
|
+ "variable": "edu_old",
|
|
|
+ "cal": ""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "sum_pts_yue": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "list_sum",
|
|
|
+ "sources": [
|
|
|
+ "Commerce_Table"
|
|
|
+ ],
|
|
|
+ "variable": "pts_yue",
|
|
|
+ "cal": ""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "sum_zsh_yue": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "list_sum",
|
|
|
+ "sources": [
|
|
|
+ "Commerce_Table"
|
|
|
+ ],
|
|
|
+ "variable": "zsh_yue",
|
|
|
+ "cal": ""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "sum_rj_yue": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "list_sum",
|
|
|
+ "sources": [
|
|
|
+ "Commerce_Table"
|
|
|
+ ],
|
|
|
+ "variable": "rj_yue",
|
|
|
+ "cal": ""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Discribe2_now": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "sources": [],
|
|
|
+ "type": "cal",
|
|
|
+ "cal": "datetime.now().strftime('%Y-%m-%d')"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Discribe2": {
|
|
|
+ "type": "questionByModel",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "Commerce_Table_md"
|
|
|
+ ],
|
|
|
+ "question": "${Commerce_Table_md}\n根据提供的表格将以下内容补充完整 \"\"\" \n 借款人集团在我司准时化新车授信 万,准时化二手车授信 万,普通式余额 万;截止到${Discribe2_now},在我司总余额 万。 \n\"\"\",(我司总余额=${sum_pts_yue}+${sum_zsh_yue})仅返回内容本身,不要有多余描述。你的回答:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Base_Check_md": {
|
|
|
+ "type": "pdfToMd",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "文件清单"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Base_Check_1": {
|
|
|
+ "type": "questionByModel",
|
|
|
+ "data": {
|
|
|
+ "sources": ["Base_Check_md"],
|
|
|
+ "question": "${Base_Check_md} \n\n\n 提取上文文件清单,以逗号分隔,找不到请直接回答`无法找到答案`。 你的回答:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Base_Check": {
|
|
|
+ "type": "fileExist",
|
|
|
+ "data": {
|
|
|
+ "fileList": "${Base_Check_1}"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "IDCard_Check1_date": {
|
|
|
+ "type": "multi",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "实际控制人身份证",
|
|
|
+ "prompt": "提取身份证有效截止日期,以yyyy-MM-dd展示。严格按照要求输出,你的回答是:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "IDCard_Check1": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "IDCard_Check1_date"
|
|
|
+ ],
|
|
|
+ "type": "cal",
|
|
|
+ "cal": "\"是\" if \"长期\" in nested_map[\"IDCard_Check1_date\"].data or datetime.strptime(nested_map[\"IDCard_Check1_date\"].data, \"%Y-%m-%d\").date() > (datetime.now().date() - timedelta(days=60)) else \"否\"",
|
|
|
+ "default": "否"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "IDCard_Check2_date": {
|
|
|
+ "type": "multi",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "实际经营人身份证",
|
|
|
+ "prompt": "提取身份证有效截止日期,以yyyy-MM-dd展示。严格按照要求输出,你的回答是:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "IDCard_Check2": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "IDCard_Check2_date"
|
|
|
+ ],
|
|
|
+ "type": "cal",
|
|
|
+ "cal": "\"是\" if \"长期\" in nested_map[\"IDCard_Check2_date\"].data or datetime.strptime(nested_map[\"IDCard_Check2_date\"].data, \"%Y-%m-%d\").date() > (datetime.now().date() - timedelta(days=60)) else \"否\"",
|
|
|
+ "default": "否"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "IDCard_Check3_date": {
|
|
|
+ "type": "multi",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "法人代表身份证",
|
|
|
+ "prompt": "提取身份证有效截止日期,以yyyy-MM-dd展示。严格按照要求输出,你的回答是:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "IDCard_Check3": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "IDCard_Check3_date"
|
|
|
+ ],
|
|
|
+ "type": "cal",
|
|
|
+ "cal": "\"是\" if \"长期\" in nested_map[\"IDCard_Check3_date\"].data or datetime.strptime(nested_map[\"IDCard_Check3_date\"].data, \"%Y-%m-%d\").date() > (datetime.now().date() - timedelta(days=60)) else \"否\"",
|
|
|
+ "default": "否"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Guarantee_Check_kb": {
|
|
|
+ "type": "knowledge",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "公司章程",
|
|
|
+ "question": "担保",
|
|
|
+ "prompt": "\"\"\" {context} \"\"\" \n 提取上文中对外担提供保条款,找不到请直接回答`无法找到答案`。 你的回答:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Guarantee_Check_kb_1": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "Guarantee_Check_kb"
|
|
|
+ ],
|
|
|
+ "type": "cal",
|
|
|
+ "cal": "\"否\" if nested_map[\"Guarantee_Check_kb\"].data is None else \"是\""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Guarantee_Check_multi": {
|
|
|
+ "type": "multi",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "公司章程",
|
|
|
+ "prompt": "判断图片中是否存在对外担保的限制性条款信息,如果存在则返回是,如果不存在则返回否。严格回答:是 或 否,仅输出一个字, 你的回答是:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Guarantee_Check_multi1": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "Guarantee_Check_multi"
|
|
|
+ ],
|
|
|
+ "type": "cal",
|
|
|
+ "cal": "\"是\" if any(\"是\" in element for element in nested_map[\"Guarantee_Check_multi\"].data) else \"否\"",
|
|
|
+ "default": "否"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Guarantee_Check": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "Guarantee_Check_kb_1",
|
|
|
+ "Guarantee_Check_multi1"
|
|
|
+ ],
|
|
|
+ "type": "cal",
|
|
|
+ "cal": "\"是\" if \"是\" in nested_map[\"Guarantee_Check_multi1\"].data or \"是\" in nested_map[\"Guarantee_Check_kb\"].data else \"否\"",
|
|
|
+ "default": "否"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Sales_Check_kb": {
|
|
|
+ "type": "knowledge",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "品牌",
|
|
|
+ "question": "品牌",
|
|
|
+ "prompt": "首先阅读如下的文档片段:\n \"\"\" \n {context} \n\"\"\" \n数据提取{question}名称,仅提取单一名称,不要有多余的描述,严格回答:品牌名称,找不到请直接回答`无法找到答案`。你的回答:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Sales_Check_kb_1": {
|
|
|
+ "type": "knowledge",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "品牌",
|
|
|
+ "question": "有效期",
|
|
|
+ "prompt": "首先阅读如下的文档片段:\n \"\"\" \n {context} \n\"\"\" \n数据提取{question}截止日期,以yyyy-MM-dd展示。若未找到,则回答\"长期\"两个字。严格按照要求输出,找不到请直接回答`无法找到答案`。你的回答:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Sales_Check_multi": {
|
|
|
+ "type": "multi",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "品牌",
|
|
|
+ "prompt": "数据提取品牌名称,仅提取单一名称,不要有多余的描述,严格回答:品牌名称,你的回答是:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Sales_Check_multi_2": {
|
|
|
+ "type": "multi",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "品牌",
|
|
|
+ "prompt": "数据提取有效截止日期,以yyyy-MM-dd展示。若未找到长期,则回答\"长期\"两个字。严格按照要求输出,你的回答是:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Sales_Check_md": {
|
|
|
+ "type": "exCelToMd",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "申请信息"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Sales_Check_multi_3": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "Sales_Check_md",
|
|
|
+ "type": "list",
|
|
|
+ "item": [
|
|
|
+ "品牌"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Sales_Check_pinpai": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "cal",
|
|
|
+ "sources": [
|
|
|
+ "Sales_Check_kb",
|
|
|
+ "Sales_Check_multi"
|
|
|
+ ],
|
|
|
+ "cal": "nested_map[\"Sales_Check_multi\"].data if nested_map[\"Sales_Check_kb\"].data is None else nested_map[\"Sales_Check_kb\"].data",
|
|
|
+ "default": "否"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Sales_Check_riqi": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "cal",
|
|
|
+ "sources": [
|
|
|
+ "Sales_Check_kb_1",
|
|
|
+ "Sales_Check_multi_2"
|
|
|
+ ],
|
|
|
+ "cal": "nested_map[\"Sales_Check_multi_2\"].data if nested_map[\"Sales_Check_kb_1\"].data is None else nested_map[\"Sales_Check_kb_1\"].data",
|
|
|
+ "default": "否"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Sales_Check_1": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "cal",
|
|
|
+ "sources": [
|
|
|
+ "Sales_Check_pinpai",
|
|
|
+ "Sales_Check_multi_3"
|
|
|
+ ],
|
|
|
+ "cal": "\"是\" if nested_map[\"Sales_Check_pinpai\"].data in nested_map[\"Sales_Check_multi_3\"].data else \"否\"",
|
|
|
+ "default": "否"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Sales_Check_2": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "cal",
|
|
|
+ "sources": [
|
|
|
+ "Sales_Check_riqi"
|
|
|
+ ],
|
|
|
+ "cal": "\"是\" if \"长期\" in nested_map[\"Sales_Check_riqi\"].data or datetime.strptime(nested_map[\"Sales_Check_riqi\"].data, \"%Y-%m-%d\").date() > (datetime.now().date() - timedelta(days=60)) else \"否\"",
|
|
|
+ "default": "否"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Sales_Check": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "cal",
|
|
|
+ "sources": [
|
|
|
+ "Sales_Check_1",
|
|
|
+ "Sales_Check_2"
|
|
|
+ ],
|
|
|
+ "cal": "\"是\" if \"是\" == nested_map[\"Sales_Check_1\"].data and \"是\" == nested_map[\"Sales_Check_2\"].data else \"否\"",
|
|
|
+ "default": "否"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "zcfz_md": {
|
|
|
+ "type": "exCelToMd",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "资产负债表"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "lirun_md": {
|
|
|
+ "type": "exCelToMd",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "利润表"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_hbzj": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "货币资金",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_yiszk": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "应收账款",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_qtysk": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "其他应收款",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_yufzk": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "预付账款",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_ch": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "存货",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_ldzc": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "流动资产",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_cqtz": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "长期投资",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_gdzcyz": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "固定资产原值",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_gdzchj": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "固定资产合计",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_wxzc": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "无形资产",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_qtzc": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "其他非流动资产",
|
|
|
+ "期末余额"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_wxzcjqtzchj": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "cal",
|
|
|
+ "sources": [
|
|
|
+ "debt_wxzc",
|
|
|
+ "debt_qtzc"
|
|
|
+ ],
|
|
|
+ "cal": "nested_map[\"debt_wxzc\"].data + nested_map[\"debt_qtzc\"].data"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_zchj": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "资产合计",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_dqjk": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "短期借款",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_yfpj": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "应付票据",
|
|
|
+ "期末余额"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_yifzk": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "应付账款",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_yuszk": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "预收账款",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_qtyfk": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "其他应付款",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_ldfz": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "流动负债",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_cqfzhj": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "长期负债合计",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_fzhj": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "负债合计",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_sszb": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "实收资本",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_wfplr": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "未分配利润",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "debt_syzqyhj": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "zcfz_md",
|
|
|
+ "item": [
|
|
|
+ "所有者权益合计",
|
|
|
+ "期末数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "profit_zyyysr": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "lirun_md",
|
|
|
+ "item": [
|
|
|
+ "主营业务收入",
|
|
|
+ "本年累计数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "profit_yyfy": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "lirun_md",
|
|
|
+ "item": [
|
|
|
+ "营业费用",
|
|
|
+ "本年累计数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "profit_yylr": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "lirun_md",
|
|
|
+ "item": [
|
|
|
+ "营业利润",
|
|
|
+ "本年累计数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "profit_glfy": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "lirun_md",
|
|
|
+ "item": [
|
|
|
+ "管理费用",
|
|
|
+ "本年累计数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "profit_cwfy": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "lirun_md",
|
|
|
+ "item": [
|
|
|
+ "财务费用",
|
|
|
+ "本年金额"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "profit_jlr": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "lirun_md",
|
|
|
+ "item": [
|
|
|
+ "净利润",
|
|
|
+ "本年累计数"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Check_Discribe1_multi": {
|
|
|
+ "type": "multi",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "对账单",
|
|
|
+ "prompt": "数据提取最新余额,仅提取最新余额数据。严格回答:余额数字,不要有多余的描述, 你的回答是:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Check_Discribe1_1": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "sum",
|
|
|
+ "sources": [
|
|
|
+ "Check_Discribe1_multi"
|
|
|
+ ],
|
|
|
+ "list": "Check_Discribe1_multi",
|
|
|
+ "cal": ""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Check_Discribe_keyu_md": {
|
|
|
+ "type": "exCelToMd",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "科余"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Check_Discribe_yhck": {
|
|
|
+ "type": "tableByModel",
|
|
|
+ "data": {
|
|
|
+ "source": "Check_Discribe_keyu_md",
|
|
|
+ "item": [
|
|
|
+ "银行存款",
|
|
|
+ "期末余额"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Check_Discribe1": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "cal",
|
|
|
+ "sources": [
|
|
|
+ "Check_Discribe1_1",
|
|
|
+ "debt_hbzj",
|
|
|
+ "Check_Discribe_yhck"
|
|
|
+ ],
|
|
|
+ "cal": "\"货币资金比对一致\" + str(nested_map[\"Check_Discribe1_1\"].data) + \"万元\" if float(nested_map[\"Check_Discribe1_1\"].data) == float(nested_map[\"Check_Discribe_yhck\"].data) else \"货币资金比对不一致, 银行对账单核对金额为\" + str(nested_map[\"Check_Discribe1_1\"].data) + \"万,货币资金\" + str(nested_map[\"debt_hbzj\"].data) + \"万元,其中银行存款\" + str(nested_map[\"Check_Discribe_yhck\"].data) + \"万元,差异为\" + str(round(float(nested_map[\"Check_Discribe1_1\"].data) - float(nested_map[\"Check_Discribe_yhck\"].data), 2)) + \"万元\""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Discribe1_x_kb": {
|
|
|
+ "type": "knowledge",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "授信额度",
|
|
|
+ "question": "新车",
|
|
|
+ "prompt": "首先阅读如下的文档片段:\n \"\"\" \n {context} \n\"\"\" \n数据提取{question}授信额度数值,仅提取单一金额数值,不带单位,不要有多余的描述,严格按要求回答,找不到请直接回答`无法找到答案`。你的回答:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Discribe1_e_kb": {
|
|
|
+ "type": "knowledge",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "授信额度",
|
|
|
+ "question": "二手车",
|
|
|
+ "prompt": "首先阅读如下的文档片段:\n \"\"\" \n {context} \n\"\"\" \n数据提取{question}授信额度数值,仅提取单一金额数值,不带单位,不要有多余的描述,严格按要求回答,找不到请直接回答`无法找到答案`。你的回答:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Discribe1_md": {
|
|
|
+ "type": "exCelToMd",
|
|
|
+ "data": {
|
|
|
+ "keyWord": "申请信息"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Discribe1": {
|
|
|
+ "type": "questionByModel",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "Discribe1_md",
|
|
|
+ "Discribe1_x_kb",
|
|
|
+ "Discribe1_e_kb"
|
|
|
+ ],
|
|
|
+ "question": "${Discribe1_md}, 新车授信额度老数据为${Discribe1_x_kb}万,二手车授信额度老数据为${Discribe1_e_kb}万,现根据上表得处结论:新车授信额度从 万增加(或减少)至 万,二手车授信额度从 万增加(或减少)至 万。仅输出结论,你的回答是:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Debet_Rate1": {
|
|
|
+ "type": "questionByModel",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "zcfz_md"
|
|
|
+ ],
|
|
|
+ "question": "${zcfz_md}, 从上表中获取年初资产负债率,仅回答数据,你的回答是:"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Debet_Rate2": {
|
|
|
+ "type": "questionByModel",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "zcfz_md"
|
|
|
+ ],
|
|
|
+ "question": "${zcfz_md}, 从上表中获取最近一期资产负债率,仅回答数据,你的回答是"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Current_Rate1": {
|
|
|
+ "type": "questionByModel",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "zcfz_md"
|
|
|
+ ],
|
|
|
+ "question": "${zcfz_md}, 从上表中获取年初流动比率,仅回答数据,正确的答案是1.12,你的回答是"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Current_Rate2": {
|
|
|
+ "type": "questionByModel",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "zcfz_md"
|
|
|
+ ],
|
|
|
+ "question": "${zcfz_md}, 从上表中获取最近一期流动比率,仅回答数据,你的回答是"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Finacial_Describe_1": {
|
|
|
+ "type": "questionByModel",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "zcfz_md"
|
|
|
+ ],
|
|
|
+ "question": "${zcfz_md}, \n\n从上表中分析,\n最近一期的流动比率是否正常;\n不要有多余的描述,总结分析"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Finacial_Describe_2": {
|
|
|
+ "type": "questionByModel",
|
|
|
+ "data": {
|
|
|
+ "sources": [
|
|
|
+ "zcfz_md"
|
|
|
+ ],
|
|
|
+ "question": "${zcfz_md}, \n\n从上表中分析,\n最近一期资产负债率是否较高(超70%),如较高请给出原因,否则资产负债率正常;\n最近一期报表数值较年初报表是否发生较大变动(超过30%),如发生较大变动请给出的原因;\n不要有多余的描述,简短总结"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "Finacial_Describe": {
|
|
|
+ "type": "calculate",
|
|
|
+ "data": {
|
|
|
+ "type": "cal",
|
|
|
+ "sources": [
|
|
|
+ "Finacial_Describe_1",
|
|
|
+ "Finacial_Describe_2"
|
|
|
+ ],
|
|
|
+ "cal": "nested_map[\"Finacial_Describe_1\"].data + \"\\n\\n\" + nested_map[\"Finacial_Describe_2\"].data"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "CreditSolver_1",
|
|
|
+ "type": "CreditSolver",
|
|
|
+ "name": "信审报告数据整合验证",
|
|
|
+ "config": {
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "GenWord_1",
|
|
|
+ "type": "GenReport",
|
|
|
+ "name": "报告生成",
|
|
|
+ "config": {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "edges": [
|
|
|
+ {
|
|
|
+ "__start__": "InitConstant_1"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "InitConstant_1": "MinioClient_1"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "MinioClient_1": "TemplateVariablesExtractor_1"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "TemplateVariablesExtractor_1": "CreditPlanner_1"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "CreditPlanner_1": "ExtractorWorker_1"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "ExtractorWorker_1": "CreditWorker_1"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "CreditSolver_1": "GenWord_1"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "GenWord_1": "__end__"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "conditionalEdges": {
|
|
|
+ "CreditWorker_1": {
|
|
|
+ "multiple": "CreditSolver_1",
|
|
|
+ "normal": "GenWord_1"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|