q_a优化,提示词优化
This commit is contained in:
		| @@ -8,7 +8,7 @@ question_and_answer = [ | ||||
|                FROM YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database p | ||||
|                WHERE p.internal_dept IN (SELECT "id" | ||||
|                                          FROM "IUAP_APDOC_BASEDOC"."org_orgs" START | ||||
|                WITH "name" LIKE '%综合处%' | ||||
|                WITH "name"||"shortname" LIKE '%综合处%' | ||||
|                CONNECT BY PRIOR "id" = "parentid" | ||||
|                    ) | ||||
|                       AND p.dr = 0 | ||||
| @@ -198,7 +198,7 @@ question_and_answer = [ | ||||
|                   from YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database | ||||
|                   where internal_dept in (SELECT "id" | ||||
|                                           FROM "IUAP_APDOC_BASEDOC"."org_orgs" START | ||||
|                   WITH "name" LIKE '%数信中心%' | ||||
|                   WITH "name"||"shortname" LIKE '%数信中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||
|                   CONNECT BY PRIOR "id" = "parentid" | ||||
|                       ) | ||||
|  | ||||
| @@ -224,7 +224,7 @@ question_and_answer = [ | ||||
|                     JOIN IUAP_APDOC_BASEDOC.org_orgs o ON p.internal_dept = o.id | ||||
|                     WHERE p.internal_dept IN ( | ||||
|                         SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs"  | ||||
|                         START WITH "name" LIKE '%数信中心%' | ||||
|                         START WITH "name"||"shortname" LIKE '%数信中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||
|                         CONNECT BY PRIOR "id" = "parentid" | ||||
|                     ) | ||||
|                     AND p.dr = 0 | ||||
| @@ -262,7 +262,7 @@ question_and_answer = [ | ||||
|                     AND ps."date_value" LIKE '2025-10%' | ||||
|                     and p.internal_dept in (SELECT "id" | ||||
|                                           FROM "IUAP_APDOC_BASEDOC"."org_orgs" START | ||||
|                   WITH "name" LIKE '%数信中心%' | ||||
|                   WITH "name" || "shortname" LIKE '%数信中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||
|                   CONNECT BY PRIOR "id" = "parentid" | ||||
|                       ) | ||||
|                     AND p."dr" = 0 | ||||
| @@ -279,7 +279,7 @@ question_and_answer = [ | ||||
|                   ''' | ||||
|     }, | ||||
|     { | ||||
|         "question": "员工年龄段分布图", | ||||
|         "question": "数信中心员工年龄段分布图", | ||||
|         "answer": ''' | ||||
|                     SELECT  | ||||
|                         CASE  | ||||
| @@ -301,7 +301,10 @@ question_and_answer = [ | ||||
|                             WHERE "parentid" IN ( | ||||
|                                 SELECT "id"  | ||||
|                                 FROM "IUAP_APDOC_BASEDOC"."org_orgs"  | ||||
|                             ) | ||||
|                                 WHERE name || shortname LIKE '%数信中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||
|                             ) OR id IN (SELECT "id"  | ||||
|                                 FROM "IUAP_APDOC_BASEDOC"."org_orgs"  | ||||
|                                 WHERE name || shortname LIKE '%数信中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%') | ||||
|                         ) | ||||
|                     GROUP BY  | ||||
|                         CASE  | ||||
| @@ -328,14 +331,15 @@ question_and_answer = [ | ||||
|                   WHERE p."dr" = 0 | ||||
|                     AND o."id" IN (SELECT "id" | ||||
|                                    FROM "IUAP_APDOC_BASEDOC"."org_orgs" START | ||||
|                   WITH "name" LIKE '%综合处%' | ||||
|                   WITH "name"||"shortname" LIKE '%综合处%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||
|                   CONNECT BY PRIOR "id" = "parentid") | ||||
|                          AND p."birthday" IS NOT NULL | ||||
|                          AND p."birthday" != '' | ||||
|                   ORDER BY o."name" ASC, p."birthday" DESC | ||||
|                       LIMIT 1000; | ||||
|                   ''' | ||||
|     },{ | ||||
|     }, | ||||
|     { | ||||
|         "question": "查询综合处下面的员工的平均年龄", | ||||
|         "answer": ''' | ||||
|                   SELECT ROUND(AVG(2025 - CAST(SUBSTR(p."birthday", 1, 4) AS INT)), 2) AS "平均年龄" | ||||
| @@ -344,12 +348,45 @@ question_and_answer = [ | ||||
|                   WHERE p."dr" = 0 | ||||
|                     AND o."id" IN (SELECT "id" | ||||
|                                    FROM "IUAP_APDOC_BASEDOC"."org_orgs" START | ||||
|                   WITH "name" LIKE '%综合处%' | ||||
|                   WITH "name"||"shortname" LIKE '%综合处%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||
|                   CONNECT BY PRIOR "id" = "parentid") | ||||
|                          AND p."birthday" IS NOT NULL | ||||
|                          AND p."birthday" != '' | ||||
|                       LIMIT 1000; | ||||
|                   ''' | ||||
|     }, | ||||
|     { | ||||
|         "question": "综合处有几个人,男员工,女员工分别有多少", | ||||
|         "answer": ''' | ||||
|                     SELECT COUNT(*) AS "总人数",  | ||||
|                     SUM(CASE WHEN p."gender" = '1' THEN 1 ELSE 0 END) AS "男员工数",  | ||||
|                     SUM(CASE WHEN p."gender" = '2' THEN 1 ELSE 0 END) AS "女员工数" | ||||
|                     FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p | ||||
|                     WHERE p."internal_dept" IN ( | ||||
|                         SELECT "id" | ||||
|                         FROM "IUAP_APDOC_BASEDOC"."org_orgs" | ||||
|                         START WITH "name" LIKE '%综合处%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||
|                         CONNECT BY PRIOR "id" = "parentid" | ||||
|                     ) | ||||
|                     AND p."dr" = 0 | ||||
|                     LIMIT 1000; | ||||
|                   ''' | ||||
|     }, | ||||
|     { | ||||
|         "question": "综合处女员工有多少", | ||||
|         "answer": ''' | ||||
|                     SELECT (SELECT COUNT(*)  | ||||
|                     FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p  | ||||
|                     WHERE p."internal_dept" IN (SELECT "id" | ||||
|                                FROM "IUAP_APDOC_BASEDOC"."org_orgs" | ||||
|                                START WITH "name"||"shortname" LIKE '%综合处%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||
|                                CONNECT BY PRIOR "id" = "parentid" | ||||
|                               ) | ||||
|                     AND p."gender" = '2' | ||||
|                     AND p."dr" = 0 | ||||
|                     ) AS "女员工数" | ||||
|                       ''' | ||||
|     } | ||||
|  | ||||
|  | ||||
| ] | ||||
|   | ||||
| @@ -963,6 +963,35 @@ org_orgs_ddl = ''' | ||||
|       "role": "dimension", | ||||
|       "tags": ["部门名称","部门简称","部门缩写"] | ||||
|     }, | ||||
|     { | ||||
|       "name": "enable", | ||||
|       "type": "INT", | ||||
|       "comment": "启用状态", | ||||
|       "value":{ | ||||
|         "1":"启用" | ||||
|         "2":"未启用" | ||||
|       }, | ||||
|       "role": "dimension", | ||||
|       "tags": ["部门启用","部门状态","是否启用"] | ||||
|     }, | ||||
|     { | ||||
|       "name": "level", | ||||
|       "type": "INT", | ||||
|       "comment": "部门或单位层级", | ||||
|       "role": "dimension", | ||||
|       "tags": ["部门层级","级别"] | ||||
|     }, | ||||
|     { | ||||
|       "name": "dr", | ||||
|       "type": "INT", | ||||
|       "comment": "删除标志", | ||||
|       "value": { | ||||
|         "0": "正常", | ||||
|         "1": "删除" | ||||
|       }, | ||||
|       "role": "dimension", | ||||
|       "tags": ["状态标识", "软删除", "枚举"] | ||||
|     } | ||||
|   ], | ||||
|   | ||||
|   "tags": ["部门id","部门信息","部门名称"] | ||||
|   | ||||
| @@ -1,7 +1,8 @@ | ||||
| import logging | ||||
| from typing import Optional | ||||
|  | ||||
| from orjson import orjson | ||||
|  | ||||
| logger = logging.getLogger(__name__) | ||||
| keywords = { | ||||
|     # "gender":{"1":"男","2":"女"}, | ||||
|     "person_status":{"1":"草稿","2":"审批中","3":"制卡中","4":"已入库","5":"停用"}, | ||||
| @@ -43,7 +44,8 @@ def extract_nested_json(text): | ||||
|     stack = [] | ||||
|     start_index = -1 | ||||
|     results = [] | ||||
|  | ||||
|     if not text: | ||||
|         logger.warning("extract_nested_json: text is empty") | ||||
|     for i, char in enumerate(text): | ||||
|         if char in '{[': | ||||
|             if not stack:  # 记录起始位置 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 yujj128
					yujj128