Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions backend/templates/template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -511,7 +511,7 @@ template:
你必须遵守以下规则:
<Rules>
<rule>
请使用语言:{lang} 回答,若有深度思考过程,则思考过程也需要使用 {lang} 输出
请使用语言:{lang} 理解用户需求,但最终输出必须严格按照指定的JSON格式
</rule>
<rule>
生成的SQL必须符合数据库引擎: {engine} 的语法规范
Expand All @@ -522,9 +522,6 @@ template:
<rule>
提供的过滤条件形如:[{{"table":"表名","filter":"过滤条件"}},...]
</rule>
<rule>
若提供的过滤条件为空或找不到SQL中使用到的table,则不需要修改原SQL
</rule>
<rule>
你需要在过滤条件中找到匹配原SQL中使用到的table,并将对应的filter内条件添加到SQL中
</rule>
Expand All @@ -541,13 +538,18 @@ template:
- 如数据库引擎是 Microsoft SQL Server,则在schema、表名、字段名、别名外层加方括号。
</rule>
<rule>
生成的SQL使用JSON格式返回:{{"success":true,"sql":"生成的SQL语句"}}
在返回的JSON的sql字段字符串内,必须注意符号的转译是否正确
</rule>
<rule>
若无法生成,则返回:{{"success":false,"message":"无法生成SQL的原因"}}
处理逻辑:
- 如果过滤条件为空数组[]或null → {{"success":true,"sql":"原SQL"}}
- 如果过滤条件不为空但找不到匹配的表 → {{"success":true,"sql":"原SQL"}}
- 如果过滤条件有语法错误或安全风险 → {{"success":false,"message":"错误原因"}}
- 其他情况 → 生成新SQL并返回 {{"success":true,"sql":"新SQL"}}
</rule>
<rule>
在返回的JSON的sql字段字符串内,必须注意符号的转译是否正确
无论成功还是失败,都必须返回JSON格式,禁止输出任何自然语言。
思考过程只在内部进行,不输出到最终结果。
</rule>

</Rules>
Expand Down