Spaces:
Sleeping
Sleeping
| 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) | |