diff --git a/backend/config/__pycache__/prompts.cpython-312.pyc b/backend/config/__pycache__/prompts.cpython-312.pyc index 4eae589..6d87c73 100644 Binary files a/backend/config/__pycache__/prompts.cpython-312.pyc and b/backend/config/__pycache__/prompts.cpython-312.pyc differ diff --git a/backend/config/prompts.py b/backend/config/prompts.py index 9f28354..7d42f0b 100644 --- a/backend/config/prompts.py +++ b/backend/config/prompts.py @@ -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} diff --git a/backend/utils/__pycache__/fewshot_selector.cpython-312.pyc b/backend/utils/__pycache__/fewshot_selector.cpython-312.pyc index 28f8ee2..078654d 100644 Binary files a/backend/utils/__pycache__/fewshot_selector.cpython-312.pyc and b/backend/utils/__pycache__/fewshot_selector.cpython-312.pyc differ diff --git a/backend/utils/fewshot_selector.py b/backend/utils/fewshot_selector.py index 2a77b23..2cea36d 100644 --- a/backend/utils/fewshot_selector.py +++ b/backend/utils/fewshot_selector.py @@ -491,7 +491,9 @@ class FewShotSelector: lines.append(f"## {ex.qid}. {ex.question_zh[:50]}") lines.append(f"评分: {ex.rating}/10") lines.append(f"标签: {', '.join(ex.tags)}") - lines.append(f"```sql\n{ex.sql}\n```\n") + lines.append("SQL(纯文本,允许 -- 注释;禁止 ``` 围栏):") + lines.append(ex.sql) + lines.append("") return "\n".join(lines)