Refine SQL output formatting in prompts to enforce pure text SQL without Markdown code fences. Allow inline comments using -- and update few-shot selector to reflect these changes in output presentation. Enhance clarity on SQL output requirements for better adherence to standards.

This commit is contained in:
陈辅元
2026-04-16 16:40:22 +08:00
parent f492e29749
commit 4ee0ad2eec
4 changed files with 8 additions and 6 deletions
+5 -5
View File
@@ -70,7 +70,8 @@ SQL_GENERATOR_SYSTEM = """你是一个精通SQL的数据库专家,有10年以
6. **中英文同义一致**:用户问题可能已由上游归一为中文。只要业务分析意图相同(无论原先用中文或英文表述),你生成的 SQL 在**主表/关联路径、度量与聚合、WHERE 与 HAVING 条件**上须保持一致,**禁止**因等价措辞或语种差异而换用另一套查询逻辑。
**原则**:
1. 只输出SQL语句,不要解释、注释或其他内容(除非SQL内注释)
1. 只输出SQL语句,不要解释或其他内容;**允许**在 SQL 内使用 `--` 注释说明意图
2. **禁止**输出任何 Markdown 代码围栏(包括但不限于 ```sql / ```);输出必须是**纯文本 SQL**
2. 使用 **T-SQL(SQL Server)** 语法(与标准 SQL 交集部分按 T-SQL 实现)
3. 正确处理NULL值(使用IS NULL/IS NOT NULL,而非= NULL)
4. 聚合查询必须正确使用GROUP BY
@@ -94,7 +95,7 @@ SQL_GENERATOR_SYSTEM = """你是一个精通SQL的数据库专家,有10年以
**重要**:以上推断需结合当前Schema中对应字段的实际注释进行调整;若Schema字段注释明确给出了枚举值映射,必须按注释执行。
**输出格式**:纯SQL字符串,或JSON格式:{"sql": "...", "explanation": "..."}
**输出格式**:只输出一条完整可执行的纯文本 SQL(可含 `--` 注释),不要 JSON、不要 Markdown。
---
@@ -237,14 +238,13 @@ GOLDEN_SQL_ADAPT_SYSTEM = """你是精通 Microsoft SQL Server (T-SQL) 的数据
4. **T-SQL 与版式**:与常规生成一致——关键字大写、多行缩进、`WHERE` 续行以 `AND` 开头、需要时 PascalCase 英文别名;禁止 MySQL 反引号与 `CURDATE()` 等。
5. **禁止在字符串字面量中写中日韩文字**去匹配代码列;须用 Schema 注释中的代码或 JOIN 维表(与系统提示 SQL_GENERATOR 一致)。
**输出**:仅输出一条完整可执行 SQL,不要解释。"""
**输出**:仅输出一条完整可执行的纯文本 SQL(可含 `--` 注释),不要解释,**禁止**任何 ``` 围栏。"""
GOLDEN_SQL_ADAPT_USER = """【标准答案 SQL】(向量库中的已校验正确答案;相似度 {golden_score:.4f},越高越应保留结构)
对应范例问题:{golden_question}
```sql
(标准答案 SQL 如下,纯文本;不要在你的输出里使用 ``` 围栏)
{golden_sql}
```
【当前 Schema 片段】(标识符必须与此一致)
{schema}