Spaces:
Runtime error
Runtime error
Scott Cogan commited on
Commit ·
0e88ff4
1
Parent(s): e2642c3
fix: Ensure proper template formatting for all content
Browse files
app.py
CHANGED
|
@@ -211,24 +211,27 @@ with open("prompts.yaml", 'r') as stream:
|
|
| 211 |
agent_templates[key] = {}
|
| 212 |
for subkey, subvalue in value.items():
|
| 213 |
if isinstance(subvalue, str):
|
| 214 |
-
# Only process if template syntax exists
|
| 215 |
-
if '{{' in subvalue or '{%' in subvalue:
|
| 216 |
-
# Ensure proper spacing in template expressions
|
| 217 |
-
subvalue = re.sub(r'{{([^{}]+)}}', lambda m: '{{ ' + m.group(1).strip() + ' }}', subvalue)
|
| 218 |
-
subvalue = re.sub(r'{%([^{}]+)%}', lambda m: '{% ' + m.group(1).strip() + ' %}', subvalue)
|
| 219 |
-
agent_templates[key][subkey] = subvalue
|
| 220 |
-
else:
|
| 221 |
-
agent_templates[key][subkey] = subvalue
|
| 222 |
-
else:
|
| 223 |
-
if isinstance(value, str):
|
| 224 |
-
# Only process if template syntax exists
|
| 225 |
-
if '{{' in value or '{%' in value:
|
| 226 |
# Ensure proper spacing in template expressions
|
| 227 |
-
|
| 228 |
-
|
| 229 |
-
|
| 230 |
-
|
| 231 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 232 |
|
| 233 |
logger.debug("Templates for agent:")
|
| 234 |
for key, value in agent_templates.items():
|
|
@@ -238,7 +241,7 @@ with open("prompts.yaml", 'r') as stream:
|
|
| 238 |
logger.debug(f" {subkey}: {str(subvalue)[:200]}...")
|
| 239 |
else:
|
| 240 |
logger.debug(f"{key}: {str(value)[:200]}...")
|
| 241 |
-
|
| 242 |
agent = CodeAgent(
|
| 243 |
model=model,
|
| 244 |
tools=[final_answer, DuckDuckGoSearchTool(), calculate_min_price, extract_price_from_snippet, get_current_time_in_timezone],
|
|
|
|
| 211 |
agent_templates[key] = {}
|
| 212 |
for subkey, subvalue in value.items():
|
| 213 |
if isinstance(subvalue, str):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 214 |
# Ensure proper spacing in template expressions
|
| 215 |
+
content = subvalue
|
| 216 |
+
# Add spaces around template expressions if missing
|
| 217 |
+
content = re.sub(r'{{([^{}]+)}}', r'{{ \1 }}', content)
|
| 218 |
+
content = re.sub(r'{%([^{}]+)%}', r'{% \1 %}', content)
|
| 219 |
+
# Wrap non-template content in a simple template expression
|
| 220 |
+
if '{{' not in content and '{%' not in content:
|
| 221 |
+
content = f'{{{{ "{content.replace('"', '\\"')}" }}}}'
|
| 222 |
+
agent_templates[key][subkey] = content
|
| 223 |
+
elif isinstance(value, str):
|
| 224 |
+
# Ensure proper spacing in template expressions
|
| 225 |
+
content = value
|
| 226 |
+
# Add spaces around template expressions if missing
|
| 227 |
+
content = re.sub(r'{{([^{}]+)}}', r'{{ \1 }}', content)
|
| 228 |
+
content = re.sub(r'{%([^{}]+)%}', r'{% \1 %}', content)
|
| 229 |
+
# Wrap non-template content in a simple template expression
|
| 230 |
+
if '{{' not in content and '{%' not in content:
|
| 231 |
+
content = f'{{{{ "{content.replace('"', '\\"')}" }}}}'
|
| 232 |
+
agent_templates[key] = content
|
| 233 |
+
else:
|
| 234 |
+
agent_templates[key] = value
|
| 235 |
|
| 236 |
logger.debug("Templates for agent:")
|
| 237 |
for key, value in agent_templates.items():
|
|
|
|
| 241 |
logger.debug(f" {subkey}: {str(subvalue)[:200]}...")
|
| 242 |
else:
|
| 243 |
logger.debug(f"{key}: {str(value)[:200]}...")
|
| 244 |
+
|
| 245 |
agent = CodeAgent(
|
| 246 |
model=model,
|
| 247 |
tools=[final_answer, DuckDuckGoSearchTool(), calculate_min_price, extract_price_from_snippet, get_current_time_in_timezone],
|