diff --git a/src/runner/templates/agents/python/pydantic-ai/template.njk b/src/runner/templates/agents/python/pydantic-ai/template.njk index 07c47e0..a4943c7 100644 --- a/src/runner/templates/agents/python/pydantic-ai/template.njk +++ b/src/runner/templates/agents/python/pydantic-ai/template.njk @@ -53,23 +53,26 @@ def {{ tool.name }}(context: RunContext, {% for param in tool.parameters.require {% endif %} {% endfor %} + try: {% if user_content is string %} - result = await agent.run("{{ user_content }}") + result = await agent.run("{{ user_content }}") {% else %} - # Multimodal content - build message parts - message_parts = [] + # Multimodal content - build message parts + message_parts = [] {% for part in user_content %} {% if part.type == 'text' %} - message_parts.append("{{ part.text }}") + message_parts.append("{{ part.text }}") {% elif part.type == 'image' %} - message_parts.append(ImageUrl(url="data:{{ part.mediaType }};base64,{{ part.base64 }}")) + message_parts.append(ImageUrl(url="data:{{ part.mediaType }};base64,{{ part.base64 }}")) {% endif %} {% endfor %} - result = await agent.run(message_parts) + result = await agent.run(message_parts) {% endif %} - # Print response - print(f"Turn {{ loop.index }} Response: {result.output}") + # Print response + print(f"Turn {{ loop.index }} Response: {result.output}") + except Exception as e: + print(f"Turn {{ loop.index }} Error: {type(e).__name__}: {e}") {% if not loop.last %} print() # Blank line between turns {% endif %}