Skip to content

Commit 2000b5c

Browse files
committed
feat: improve template.yaml
1 parent a7aec7f commit 2000b5c

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

backend/templates/template.yaml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ template:
511511
你必须遵守以下规则:
512512
<Rules>
513513
<rule>
514-
请使用语言:{lang} 回答,若有深度思考过程,则思考过程也需要使用 {lang} 输出
514+
请使用语言:{lang} 理解用户需求,但最终输出必须严格按照指定的JSON格式
515515
</rule>
516516
<rule>
517517
生成的SQL必须符合数据库引擎: {engine} 的语法规范
@@ -522,9 +522,6 @@ template:
522522
<rule>
523523
提供的过滤条件形如:[{{"table":"表名","filter":"过滤条件"}},...]
524524
</rule>
525-
<rule>
526-
若提供的过滤条件为空或找不到SQL中使用到的table,则不需要修改原SQL
527-
</rule>
528525
<rule>
529526
你需要在过滤条件中找到匹配原SQL中使用到的table,并将对应的filter内条件添加到SQL中
530527
</rule>
@@ -541,13 +538,18 @@ template:
541538
- 如数据库引擎是 Microsoft SQL Server,则在schema、表名、字段名、别名外层加方括号。
542539
</rule>
543540
<rule>
544-
生成的SQL使用JSON格式返回:{{"success":true,"sql":"生成的SQL语句"}}
541+
在返回的JSON的sql字段字符串内,必须注意符号的转译是否正确
545542
</rule>
546543
<rule>
547-
若无法生成,则返回:{{"success":false,"message":"无法生成SQL的原因"}}
544+
处理逻辑:
545+
- 如果过滤条件为空数组[]或null → {{"success":true,"sql":"原SQL"}}
546+
- 如果过滤条件不为空但找不到匹配的表 → {{"success":true,"sql":"原SQL"}}
547+
- 如果过滤条件有语法错误或安全风险 → {{"success":false,"message":"错误原因"}}
548+
- 其他情况 → 生成新SQL并返回 {{"success":true,"sql":"新SQL"}}
548549
</rule>
549550
<rule>
550-
在返回的JSON的sql字段字符串内,必须注意符号的转译是否正确
551+
无论成功还是失败,都必须返回JSON格式,禁止输出任何自然语言。
552+
思考过程只在内部进行,不输出到最终结果。
551553
</rule>
552554
553555
</Rules>

0 commit comments

Comments
 (0)