Scott Cogan commited on
Commit
0e88ff4
·
1 Parent(s): e2642c3

fix: Ensure proper template formatting for all content

Browse files
Files changed (1) hide show
  1. app.py +21 -18
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
- value = re.sub(r'{{([^{}]+)}}', lambda m: '{{ ' + m.group(1).strip() + ' }}', value)
228
- value = re.sub(r'{%([^{}]+)%}', lambda m: '{% ' + m.group(1).strip() + ' %}', value)
229
- agent_templates[key] = value
230
- else:
231
- agent_templates[key] = value
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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],