Compare commits
	
		
			2 Commits
		
	
	
		
			039b15341e
			...
			e72b24e7f7
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | e72b24e7f7 | ||
|   | 7837b95766 | 
| @@ -54,6 +54,9 @@ template: | |||||||
|           <rule-detail>生成的SQL必须避免与数据库关键字冲突。</rule-detail> |           <rule-detail>生成的SQL必须避免与数据库关键字冲突。</rule-detail> | ||||||
|           <rule-detail>注意列名定义和使用的先后顺序,例如:SELECT阶段定义了列名,如果GROUP BY阶段先与SELECT阶段执行时,是不许在GROUP BY阶段引用列名的。</rule-detail> |           <rule-detail>注意列名定义和使用的先后顺序,例如:SELECT阶段定义了列名,如果GROUP BY阶段先与SELECT阶段执行时,是不许在GROUP BY阶段引用列名的。</rule-detail> | ||||||
|           <rule-detail>在ORDER BY、GROUP BY、WHERE子句中不要使用SELECT中定义的别名</rule-detail> |           <rule-detail>在ORDER BY、GROUP BY、WHERE子句中不要使用SELECT中定义的别名</rule-detail> | ||||||
|  |           <rule-detail>当SELECT中同时包含聚合列和非聚合列时,需要在GROUP BY中指定所有非聚合列</rule-detail> | ||||||
|  |           <rule-detail>递归 WITH 子句必须具有列别名列表</rule-detail> | ||||||
|  |           <rule-detail>CONNECT BY子查询是独立的,无法访问外部查询的表别名,因此涉及CONNECT BY子查询时,里面禁止使用表别名</rule-detail> | ||||||
|         </rule> |         </rule> | ||||||
|         <rule> |         <rule> | ||||||
|           <rule-title>数据查询与排序</rule-title> |           <rule-title>数据查询与排序</rule-title> | ||||||
| @@ -115,6 +118,10 @@ template: | |||||||
|           <rule-detail>若用户提问中提及参考SQL,需先判断该SQL是否为一个合法的、只读的查询语句。</rule-detail> |           <rule-detail>若用户提问中提及参考SQL,需先判断该SQL是否为一个合法的、只读的查询语句。</rule-detail> | ||||||
|           <rule-detail>忽略问题中提到的“数据源名称”或“数据源描述”等无关信息,聚焦于核心的业务需求。</rule-detail> |           <rule-detail>忽略问题中提到的“数据源名称”或“数据源描述”等无关信息,聚焦于核心的业务需求。</rule-detail> | ||||||
|         </rule> |         </rule> | ||||||
|  |         <rule> | ||||||
|  |         <rule-title>图表字段注意事项</rule-title> | ||||||
|  |         <rule-detail>基于参考SQL的查询结果,请确保图表配置中的value字段与SQL结果字段别名完全一致。例如SELECT "external_unit" AS "外部单位" 图表配置的value应为“外部单位”而非“external_unit”。</rule-detail> | ||||||
|  |         </rule> | ||||||
|       </Rules> |       </Rules> | ||||||
|       ### 以下 <example> 块帮助你理解问题及返回格式,**请勿将此块内的任何表结构用于回答用户的问题**。 |       ### 以下 <example> 块帮助你理解问题及返回格式,**请勿将此块内的任何表结构用于回答用户的问题**。 | ||||||
|       <example> |       <example> | ||||||
| @@ -185,10 +192,6 @@ template: | |||||||
|               <words><word>数信中心</word><word>建设处</word><word>规划发展部</word><word>综合处</word></words> |               <words><word>数信中心</word><word>建设处</word><word>规划发展部</word><word>综合处</word></words> | ||||||
|               <description>这些都可能是单位的名称,属于内部部门</description> |               <description>这些都可能是单位的名称,属于内部部门</description> | ||||||
|             </terminology> |             </terminology> | ||||||
|             <terminology> |  | ||||||
|               <words><word>external_unit</word><word>external_dept</word></words> |  | ||||||
|               <description>这些直接是外部单位和外部部门的字段,值是名称,非编号</description> |  | ||||||
|             </terminology> |  | ||||||
|           </terminologies> |           </terminologies> | ||||||
|         <!-- [RAG 集成区] --> |         <!-- [RAG 集成区] --> | ||||||
|         <!-- 将从向量数据库/知识库中检索到的最相关的N个问答对放在这里 --> |         <!-- 将从向量数据库/知识库中检索到的最相关的N个问答对放在这里 --> | ||||||
| @@ -247,9 +250,15 @@ template: | |||||||
|         <rule> |         <rule> | ||||||
|           你需要在JSON内生成一个图表的标题,放在"title"字段内,这个标题需要尽量精简 |           你需要在JSON内生成一个图表的标题,放在"title"字段内,这个标题需要尽量精简 | ||||||
|         </rule> |         </rule> | ||||||
|  |         <rule> | ||||||
|  |           基于参考SQL的查询结果,请确保图表配置中的value字段与SQL结果字段别名完全一致。例如SELECT "external_unit" AS "外部单位" 图表配置的value应为“外部单位”而非“external_unit” | ||||||
|  |         </rule> | ||||||
|         <rule> |         <rule> | ||||||
|           涉及查询男女性别比例时建议采用表格或者柱状图展示,禁止采用饼状图 |           涉及查询男女性别比例时建议采用表格或者柱状图展示,禁止采用饼状图 | ||||||
|         </rule> |         </rule> | ||||||
|  |         <rule> | ||||||
|  |           表格作为保底配置,当生成某中图表配置有困难时一律用表格 | ||||||
|  |         </rule> | ||||||
|         <rule> |         <rule> | ||||||
|           如果需要表格,JSON格式应为: |           如果需要表格,JSON格式应为: | ||||||
|           {{"type":"table", "title": "标题", "columns": [{{"name":"{lang}字段名1", "value": "SQL 查询列 1(有别名用别名,去掉外层的反引号、双引号、方括号)"}}, {{"name": "{lang}字段名 2", "value": "SQL 查询列 2(有别名用别名,去掉外层的反引号、双引号、方括号)"}}]}} |           {{"type":"table", "title": "标题", "columns": [{{"name":"{lang}字段名1", "value": "SQL 查询列 1(有别名用别名,去掉外层的反引号、双引号、方括号)"}}, {{"name": "{lang}字段名 2", "value": "SQL 查询列 2(有别名用别名,去掉外层的反引号、双引号、方括号)"}}]}} | ||||||
|   | |||||||
| @@ -468,54 +468,53 @@ question_and_answer = [ | |||||||
|                                             FROM "IUAP_APDOC_BASEDOC"."org_orgs" START |                                             FROM "IUAP_APDOC_BASEDOC"."org_orgs" START | ||||||
|                   WITH "name"||"shortname" LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' |                   WITH "name"||"shortname" LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||||
|                   CONNECT BY PRIOR "id" = "parentid" |                   CONNECT BY PRIOR "id" = "parentid" | ||||||
|                       ) |                   ) | ||||||
|                          AND p.id IN ( |                   AND p.code IN ( | ||||||
|                   SELECT person_id |                   SELECT person_id | ||||||
|                   FROM "YJOA_APPSERVICE_DB"."t_yj_person_status" |                   FROM "YJOA_APPSERVICE_DB"."t_yj_person_status" | ||||||
|                   WHERE status = '1001' |                   WHERE status = '1001' | ||||||
|                     AND date_value = TO_CHAR(SYSDATE |                   AND date_value = TO_CHAR(SYSDATE, 'yyyy-MM-dd') | ||||||
|                       , 'yyyy-MM-dd') |                   AND dr = 0) | ||||||
|                     AND dr = 0) |                   AND p.dr = 0 | ||||||
|                     AND p.dr = 0 |  | ||||||
|                   GROUP BY o.name |                   GROUP BY o.name | ||||||
|                   ORDER BY "人数" DESC |                   ORDER BY "人数" DESC | ||||||
|                       LIMIT 1000 |                   LIMIT 1000 | ||||||
|                   ''', |               ''', | ||||||
|         "tags": ["员工", "部门", "考勤", "在岗人数"], |             "tags": ["员工", "部门", "考勤", "在岗人数"], | ||||||
|         "category": "考勤管理" |             "category": "考勤管理" | ||||||
|     }, |         }, | ||||||
|     { |         { | ||||||
|         "question": "XX部门昨天在岗人员数量", |             "question": "XX部门昨天在岗人员数量", | ||||||
|         "answer": ''' |             "answer": ''' | ||||||
|                   SELECT COUNT(p.id) AS "人数" |                     SELECT COUNT(p.id) AS "人数"  | ||||||
|                   FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p |                     FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p  | ||||||
|                            JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p.internal_dept = o.id |                             JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p.internal_dept = o.id  | ||||||
|                            JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" s ON p.id = s.person_id |                             JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" s ON p.code = s.person_id  | ||||||
|                   WHERE o.id IN (SELECT id |                     WHERE o.id IN (SELECT id  | ||||||
|                                  FROM "IUAP_APDOC_BASEDOC"."org_orgs" START |                                    FROM "IUAP_APDOC_BASEDOC"."org_orgs"  | ||||||
|                   WITH "name" || "shortname" LIKE '%XX%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' |                     START WITH "name" || "shortname" LIKE '%XX%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%'  | ||||||
|                   CONNECT BY PRIOR "id" = "parentid") |                     CONNECT BY PRIOR "id" = "parentid")  | ||||||
|                          AND s.status = '1001' |                             AND s.status = '1001'  | ||||||
|                          AND s.date_value = TO_CHAR(SYSDATE - 1 |                             AND s.date_value = TO_CHAR(SYSDATE - 1,  | ||||||
|                            , 'yyyy-MM-dd') |                             'yyyy-MM-dd')  | ||||||
|                          AND s.dr = 0 |                             AND s.dr = 0  | ||||||
|                          AND p.dr = 0 LIMIT 1000 |                             AND p.dr = 0 LIMIT 1000 | ||||||
|                   ''', |                     ''', | ||||||
|         "tags": ["员工", "部门", "考勤", "在岗人数"], |             "tags": ["员工", "部门", "考勤", "在岗人数"], | ||||||
|         "category": "考勤管理" |             "category": "考勤管理" | ||||||
|     }, |         }, | ||||||
|     { |         { | ||||||
|         "question": "XX中心的李四十月份休息了多少天", |             "question": "XX中心的李四十月份休息了多少天", | ||||||
|         "answer": """ |             "answer": """ | ||||||
|                   SELECT COUNT(*) AS rest_days |               SELECT COUNT(*) AS rest_days  | ||||||
|                   FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p |               FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p  | ||||||
|                            INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps |               INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps  | ||||||
|                                       ON p."code" = ps."person_id" |               ON p."code" = ps."person_id"  | ||||||
|                   WHERE p."name" = '谭杰明' |               WHERE p."name" = '谭杰明'  | ||||||
|                     AND p."internal_dept" IN (SELECT "id" |               AND p."internal_dept" IN ( | ||||||
|                                               FROM "IUAP_APDOC_BASEDOC"."org_orgs" START |                   SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs"  | ||||||
|                   WITH ("name" LIKE '%xx中心%' OR "shortname" LIKE '%xx中心%') |                   START WITH ("name" LIKE '%数信中心%' OR "shortname" LIKE '%数信中心%')  | ||||||
|                       AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' |                   AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'  | ||||||
|                   CONNECT BY PRIOR "id" = "parentid" |                   CONNECT BY PRIOR "id" = "parentid" | ||||||
|                       ) |                       ) | ||||||
|                          AND ps."status" = '1003' |                          AND ps."status" = '1003' | ||||||
| @@ -935,3 +934,4 @@ question_and_answer = [ | |||||||
|     } |     } | ||||||
|  |  | ||||||
| ] | ] | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user