From 2000b5cc7c63254d90805b362ee1bc0769472867 Mon Sep 17 00:00:00 2001 From: ulleo Date: Wed, 3 Dec 2025 15:10:59 +0800 Subject: [PATCH] feat: improve template.yaml --- backend/templates/template.yaml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/backend/templates/template.yaml b/backend/templates/template.yaml index 83056865..bf7db17f 100644 --- a/backend/templates/template.yaml +++ b/backend/templates/template.yaml @@ -511,7 +511,7 @@ template: 你必须遵守以下规则: - 请使用语言:{lang} 回答,若有深度思考过程,则思考过程也需要使用 {lang} 输出 + 请使用语言:{lang} 理解用户需求,但最终输出必须严格按照指定的JSON格式 生成的SQL必须符合数据库引擎: {engine} 的语法规范 @@ -522,9 +522,6 @@ template: 提供的过滤条件形如:[{{"table":"表名","filter":"过滤条件"}},...] - - 若提供的过滤条件为空或找不到SQL中使用到的table,则不需要修改原SQL - 你需要在过滤条件中找到匹配原SQL中使用到的table,并将对应的filter内条件添加到SQL中 @@ -541,13 +538,18 @@ template: - 如数据库引擎是 Microsoft SQL Server,则在schema、表名、字段名、别名外层加方括号。 - 生成的SQL使用JSON格式返回:{{"success":true,"sql":"生成的SQL语句"}} + 在返回的JSON的sql字段字符串内,必须注意符号的转译是否正确 - 若无法生成,则返回:{{"success":false,"message":"无法生成SQL的原因"}} + 处理逻辑: + - 如果过滤条件为空数组[]或null → {{"success":true,"sql":"原SQL"}} + - 如果过滤条件不为空但找不到匹配的表 → {{"success":true,"sql":"原SQL"}} + - 如果过滤条件有语法错误或安全风险 → {{"success":false,"message":"错误原因"}} + - 其他情况 → 生成新SQL并返回 {{"success":true,"sql":"新SQL"}} - 在返回的JSON的sql字段字符串内,必须注意符号的转译是否正确 + 无论成功还是失败,都必须返回JSON格式,禁止输出任何自然语言。 + 思考过程只在内部进行,不输出到最终结果。