Spaces:
Sleeping
Sleeping
File size: 727 Bytes
d103a0f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import re
def normalize_answer(raw: str) -> str:
"""Remove common LLM answer preambles and formatting."""
text = raw.strip().lower()
text = re.sub(r"the (answer|result) is:?\s*", "", text)
text = re.sub(r"\*+", "", text)
text = re.sub(r"```.*?```", "", text, flags=re.DOTALL)
text = re.sub(r"`[^`]+`", lambda m: m.group().strip("`"), text)
text = re.sub(r"\s+", " ", text)
return text.strip()
FORBIDDEN_KEYWORDS = [
"DROP",
"DELETE",
"INSERT",
"UPDATE",
"ALTER",
"CREATE",
"TRUNCATE",
]
def is_safe_query(query: str) -> bool:
"""Check if query is safe (SELECT-only)."""
upper = query.upper()
return not any(kw in upper for kw in FORBIDDEN_KEYWORDS)
|