MCPcopy Create free account
hub / github.com/datawhalechina/all-in-rag / fix_sql

Method fix_sql

code/C4/text2sql/sql_generator.py:52–81  ·  view source on GitHub ↗

修复SQL语句

(self, original_sql: str, error_message: str, knowledge_results: List[Dict[str, Any]])

Source from the content-addressed store, hash-verified

50 return sql.strip()
51
52 def fix_sql(self, original_sql: str, error_message: str, knowledge_results: List[Dict[str, Any]]) -> str:
53 """修复SQL语句"""
54 context = self._build_context(knowledge_results)
55
56 prompt = f"""请修复以下SQL语句的错误。
57
58数据库信息:
59{context}
60
61原始SQL:
62{original_sql}
63
64错误信息:
65{error_message}
66
67请返回修复后的SQL语句(只返回SQL,不要解释):"""
68
69 messages = [HumanMessage(content=prompt)]
70 response = self.llm.invoke(messages)
71
72 # 清理SQL语句
73 fixed_sql = response.content.strip()
74 if fixed_sql.startswith("```sql"):
75 fixed_sql = fixed_sql[6:]
76 if fixed_sql.startswith("```"):
77 fixed_sql = fixed_sql[3:]
78 if fixed_sql.endswith("```"):
79 fixed_sql = fixed_sql[:-3]
80
81 return fixed_sql.strip()
82
83 def _build_context(self, knowledge_results: List[Dict[str, Any]]) -> str:
84 """构建上下文信息"""

Callers 1

queryMethod · 0.80

Calls 1

_build_contextMethod · 0.95

Tested by

no test coverage detected