Skip to content

Commit b1e89cf

Browse files
authored
fix(pydantic-ai): Add error handling to agent execution
2 parents eb62d06 + e5abb3a commit b1e89cf

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

src/runner/templates/agents/python/pydantic-ai/template.njk

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,23 +53,26 @@ def {{ tool.name }}(context: RunContext, {% for param in tool.parameters.require
5353
{% endif %}
5454
{% endfor %}
5555

56+
try:
5657
{% if user_content is string %}
57-
result = await agent.run("{{ user_content }}")
58+
result = await agent.run("{{ user_content }}")
5859
{% else %}
59-
# Multimodal content - build message parts
60-
message_parts = []
60+
# Multimodal content - build message parts
61+
message_parts = []
6162
{% for part in user_content %}
6263
{% if part.type == 'text' %}
63-
message_parts.append("{{ part.text }}")
64+
message_parts.append("{{ part.text }}")
6465
{% elif part.type == 'image' %}
65-
message_parts.append(ImageUrl(url="data:{{ part.mediaType }};base64,{{ part.base64 }}"))
66+
message_parts.append(ImageUrl(url="data:{{ part.mediaType }};base64,{{ part.base64 }}"))
6667
{% endif %}
6768
{% endfor %}
68-
result = await agent.run(message_parts)
69+
result = await agent.run(message_parts)
6970
{% endif %}
7071

71-
# Print response
72-
print(f"Turn {{ loop.index }} Response: {result.output}")
72+
# Print response
73+
print(f"Turn {{ loop.index }} Response: {result.output}")
74+
except Exception as e:
75+
print(f"Turn {{ loop.index }} Error: {type(e).__name__}: {e}")
7376
{% if not loop.last %}
7477
print() # Blank line between turns
7578
{% endif %}

0 commit comments

Comments
 (0)