Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -9,20 +9,29 @@ client = InferenceClient()
|
|
| 9 |
|
| 10 |
|
| 11 |
def preprocess_latex(content):
|
| 12 |
-
"""
|
|
|
|
|
|
|
| 13 |
lines = content.split("\n") # Split response into lines
|
| 14 |
processed_lines = []
|
| 15 |
-
|
| 16 |
for line in lines:
|
| 17 |
-
if "[" in line and "]" in line: # Detect
|
| 18 |
while "[" in line and "]" in line:
|
| 19 |
start = line.index("[")
|
| 20 |
end = line.index("]") + 1
|
| 21 |
-
math_expr = line[start:end].strip(
|
| 22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
processed_lines.append(line)
|
| 24 |
|
| 25 |
-
return "\n".join(processed_lines)
|
| 26 |
|
| 27 |
|
| 28 |
|
|
|
|
| 9 |
|
| 10 |
|
| 11 |
def preprocess_latex(content):
|
| 12 |
+
"""
|
| 13 |
+
Preprocess the AI response using sympy to properly format mathematical expressions.
|
| 14 |
+
"""
|
| 15 |
lines = content.split("\n") # Split response into lines
|
| 16 |
processed_lines = []
|
| 17 |
+
|
| 18 |
for line in lines:
|
| 19 |
+
if "[" in line and "]" in line: # Detect mathematical expressions in brackets
|
| 20 |
while "[" in line and "]" in line:
|
| 21 |
start = line.index("[")
|
| 22 |
end = line.index("]") + 1
|
| 23 |
+
math_expr = line[start + 1 : end - 1].strip()
|
| 24 |
+
try:
|
| 25 |
+
# Parse the math expression and convert to LaTeX
|
| 26 |
+
sympy_expr = sympify(math_expr)
|
| 27 |
+
latex_expr = latex(sympy_expr)
|
| 28 |
+
line = line[:start] + f"$$ {latex_expr} $$" + line[end:]
|
| 29 |
+
except Exception:
|
| 30 |
+
# Fallback to raw math if parsing fails
|
| 31 |
+
line = line[:start] + f"$$ {math_expr} $$" + line[end:]
|
| 32 |
processed_lines.append(line)
|
| 33 |
|
| 34 |
+
return "\n".join(processed_lines)
|
| 35 |
|
| 36 |
|
| 37 |
|