Compare commits

..

3 Commits

Author SHA1 Message Date
雷雨
039b15341e feat:提示词约束2以及bug修复 2025-10-24 11:06:53 +08:00
雷雨
dff9b9a092 Merge branch 'dev' of http://106.13.42.156:33077/lei_y601/sqlbot_agent into dev 2025-10-24 10:33:29 +08:00
雷雨
b2c45d9832 feat:提示词约束2 2025-10-24 10:33:02 +08:00
3 changed files with 899 additions and 801 deletions

View File

@@ -78,12 +78,13 @@ template:
<rule-detail>使用了函数(如 COUNT(), CAST(), SUM())的字段,必须为其指定一个英文别名。</rule-detail> <rule-detail>使用了函数(如 COUNT(), CAST(), SUM())的字段,必须为其指定一个英文别名。</rule-detail>
<rule-detail>计算占比或百分比时,结果保留两位小数,并以 '%' 符号结尾。示例ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM table), 2) || '%' (PostgreSQL语法)</rule-detail> <rule-detail>计算占比或百分比时,结果保留两位小数,并以 '%' 符号结尾。示例ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM table), 2) || '%' (PostgreSQL语法)</rule-detail>
<rule-detail>若查询结果包含枚举字段(如 gender=1,2必须使用 CASE WHEN 语句将其转换为可读的标签。示例: SELECT CASE WHEN "gender" = '1' THEN '男' WHEN "gender" = '2' THEN '女' END AS "gender"</rule-detail> <rule-detail>若查询结果包含枚举字段(如 gender=1,2必须使用 CASE WHEN 语句将其转换为可读的标签。示例: SELECT CASE WHEN "gender" = '1' THEN '男' WHEN "gender" = '2' THEN '女' END AS "gender"</rule-detail>
<rule-detail>重点!重点!重点涉及查询orgs表时部门存在多层级必须递归查询。使用 start .. with 语法。递归语法示例: <rule-detail>重点!重点!重点涉及查询orgs表时部门存在多层级大部分需要递归查询。使用 start .. with 语法。递归语法示例:
SELECT "id" SELECT "id"
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"
</rule-detail> </rule-detail>
<rule-detail>当用户问题涉及查询是否时候。结果需要返回:是/否。而不是返回查询记录</rule-detail>
</rule> </rule>
<rule> <rule>
<rule-title>关联与限制</rule-title> <rule-title>关联与限制</rule-title>

View File

@@ -28,9 +28,10 @@ def add_documentation(vn: CustomVanna):
random.shuffle(dd) random.shuffle(dd)
# for d in dd: # for d in dd:
# vn.add_question_sql(question=d['question'], sql=d['answer']) # vn.add_question_sql(question=d['question'], sql=d['answer'])
for d in q_and_a_test1.question_and_answer: ## tag 待定,容易过拟合
for d in dd:
vn.add_question_sql( vn.add_question_sql(
question=f"{d['question']} [分类:{d['category']}] [标签:{','.join(d['tags'])}]", question=f"{d['question']}",
sql=d['answer'] sql=d['answer']
) )

File diff suppressed because it is too large Load Diff