mgbam commited on
Commit
78d3c76
·
verified ·
1 Parent(s): 2eda30d

Update core/utils.py

Browse files
Files changed (1) hide show
  1. core/utils.py +17 -14
core/utils.py CHANGED
@@ -1,21 +1,24 @@
1
  # algoforge_prime/core/utils.py
2
-
3
- # This file can contain various helper functions used across the core modules.
4
- # For example, text parsing, sanitization, logging helpers, etc.
5
 
6
  def basic_text_cleanup(text: str) -> str:
7
- """A very basic cleanup for LLM outputs."""
8
- if not text:
9
  return ""
10
- # Remove common code block markers if they are at the very start/end of the whole string
11
  text = text.strip()
12
- if text.startswith("```python"):
13
- text = text[len("```python"):].strip()
14
- elif text.startswith("```"):
15
- text = text[3:].strip()
 
16
 
17
- if text.endswith("```"):
18
- text = text[:-3].strip()
19
- return text
 
 
 
20
 
21
- # Add more utilities as needed.
 
 
1
  # algoforge_prime/core/utils.py
2
+ import re
 
 
3
 
4
  def basic_text_cleanup(text: str) -> str:
5
+ """A basic cleanup for LLM outputs that might be wrapped in markdown code blocks."""
6
+ if not text or not isinstance(text, str):
7
  return ""
8
+
9
  text = text.strip()
10
+ # Common markdown code block patterns
11
+ patterns = [
12
+ r"^```python\s*(.*?)\s*```$", # ```python ... ```
13
+ r"^```\s*(.*?)\s*```$", # ``` ... ```
14
+ ]
15
 
16
+ for pattern in patterns:
17
+ match = re.match(pattern, text, re.DOTALL | re.IGNORECASE)
18
+ if match:
19
+ return match.group(1).strip() # Return content within the markers
20
+
21
+ return text # Return original if no common markers found
22
 
23
+ # Add more utilities as needed.
24
+ print("DEBUG: core.utils - Module defined.")