清理SQL语句(移除代码块标记和多余前缀)
(self, sql: str)
| 82 | return schema_text.strip() |
| 83 | |
| 84 | def _clean_sql(self, sql: str) -> str: |
| 85 | """清理SQL语句(移除代码块标记和多余前缀)""" |
| 86 | sql = sql.strip() |
| 87 | if sql.startswith("```sql"): |
| 88 | sql = sql[6:] |
| 89 | elif sql.startswith("```"): |
| 90 | sql = sql[3:] |
| 91 | |
| 92 | prefixes = ["SQL:", "SQL:", "sql:", "sql:"] |
| 93 | for prefix in prefixes: |
| 94 | if sql.startswith(prefix): |
| 95 | sql = sql[len(prefix):] |
| 96 | break |
| 97 | |
| 98 | if sql.endswith("```"): |
| 99 | sql = sql[:-3] |
| 100 | |
| 101 | return sql.strip() |
| 102 | |
| 103 | def _generate_sql(self, question: str) -> str: |
| 104 | """生成SQL语句""" |
no outgoing calls
no test coverage detected