Skip to content

Commit 689244b

Browse files
committed
Added 'Validator response:' prefix to default response template.
1 parent 4ccfe5b commit 689244b

File tree

5 files changed

+21
-10
lines changed

5 files changed

+21
-10
lines changed

docs/agents.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -852,7 +852,7 @@ with capture_run_messages() as messages: # (2)!
852852
)
853853
],
854854
usage=Usage(
855-
requests=1, request_tokens=72, response_tokens=8, total_tokens=80
855+
requests=1, request_tokens=74, response_tokens=8, total_tokens=82
856856
),
857857
model_name='gpt-4o',
858858
timestamp=datetime.datetime(...),

pydantic_ai_slim/pydantic_ai/messages.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ def otel_event(self, _settings: InstrumentationSettings) -> Event:
423423
error_details_ta = pydantic.TypeAdapter(list[pydantic_core.ErrorDetails], config=pydantic.ConfigDict(defer_build=True))
424424

425425

426-
DEFAULT_MODEL_RESPONSE_TEMPLATE = '{description}\n\nFix the errors and try again.'
426+
DEFAULT_MODEL_RESPONSE_TEMPLATE = 'Validator response:\n{description}\n\nFix the errors and try again.'
427427

428428

429429
@dataclass(repr=False)

tests/models/test_instrumented.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ async def test_instrumented_model(capfire: CaptureLogfire):
214214
{
215215
'body': {
216216
'content': """\
217+
Validator response:
217218
retry_prompt1
218219
219220
Fix the errors and try again.\
@@ -238,6 +239,7 @@ async def test_instrumented_model(capfire: CaptureLogfire):
238239
{
239240
'body': {
240241
'content': """\
242+
Validator response:
241243
retry_prompt2
242244
243245
Fix the errors and try again.\
@@ -596,6 +598,7 @@ async def test_instrumented_model_attributes_mode(capfire: CaptureLogfire):
596598
{
597599
'event.name': 'gen_ai.tool.message',
598600
'content': """\
601+
Validator response:
599602
retry_prompt1
600603
601604
Fix the errors and try again.\
@@ -609,6 +612,7 @@ async def test_instrumented_model_attributes_mode(capfire: CaptureLogfire):
609612
{
610613
'event.name': 'gen_ai.user.message',
611614
'content': """\
615+
Validator response:
612616
retry_prompt2
613617
614618
Fix the errors and try again.\

tests/models/test_model_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ async def my_ret(x: int) -> str:
121121
),
122122
ModelResponse(
123123
parts=[ToolCallPart(tool_name='my_ret', args={'x': 0}, tool_call_id=IsStr())],
124-
usage=Usage(requests=1, request_tokens=61, response_tokens=8, total_tokens=69),
124+
usage=Usage(requests=1, request_tokens=63, response_tokens=8, total_tokens=71),
125125
model_name='test',
126126
timestamp=IsNow(tz=timezone.utc),
127127
),
@@ -134,7 +134,7 @@ async def my_ret(x: int) -> str:
134134
),
135135
ModelResponse(
136136
parts=[TextPart(content='{"my_ret":"1"}')],
137-
usage=Usage(requests=1, request_tokens=62, response_tokens=12, total_tokens=74),
137+
usage=Usage(requests=1, request_tokens=64, response_tokens=12, total_tokens=76),
138138
model_name='test',
139139
timestamp=IsNow(tz=timezone.utc),
140140
),

tests/test_agent.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ def return_model(messages: list[ModelMessage], info: AgentInfo) -> ModelResponse
113113
),
114114
ModelResponse(
115115
parts=[ToolCallPart(tool_name='final_result', args='{"a": 42, "b": "foo"}', tool_call_id=IsStr())],
116-
usage=Usage(requests=1, request_tokens=87, response_tokens=14, total_tokens=101),
116+
usage=Usage(requests=1, request_tokens=89, response_tokens=14, total_tokens=103),
117117
model_name='function:return_model:',
118118
timestamp=IsNow(tz=timezone.utc),
119119
),
@@ -172,6 +172,7 @@ def check_b(cls, v: str) -> str:
172172
retry_prompt = user_retry.parts[0]
173173
assert isinstance(retry_prompt, RetryPromptPart)
174174
assert retry_prompt.model_response() == snapshot("""\
175+
Validator response:
175176
1 validation errors: [
176177
{
177178
"type": "value_error",
@@ -229,7 +230,7 @@ def validate_output(ctx: RunContext[None], o: Foo) -> Foo:
229230
),
230231
ModelResponse(
231232
parts=[ToolCallPart(tool_name='final_result', args='{"a": 42, "b": "foo"}', tool_call_id=IsStr())],
232-
usage=Usage(requests=1, request_tokens=63, response_tokens=14, total_tokens=77),
233+
usage=Usage(requests=1, request_tokens=64, response_tokens=14, total_tokens=78),
233234
model_name='function:return_model:',
234235
timestamp=IsNow(tz=timezone.utc),
235236
),
@@ -288,7 +289,7 @@ def return_tuple(_: list[ModelMessage], info: AgentInfo) -> ModelResponse:
288289
parts=[
289290
ToolCallPart(tool_name='final_result', args='{"response": ["foo", "bar"]}', tool_call_id=IsStr())
290291
],
291-
usage=Usage(requests=1, request_tokens=72, response_tokens=8, total_tokens=80),
292+
usage=Usage(requests=1, request_tokens=74, response_tokens=8, total_tokens=82),
292293
model_name='function:return_tuple:',
293294
timestamp=IsNow(tz=timezone.utc),
294295
),
@@ -828,7 +829,7 @@ def call_tool(messages: list[ModelMessage], info: AgentInfo) -> ModelResponse:
828829
tool_call_id=IsStr(),
829830
)
830831
],
831-
usage=Usage(requests=1, request_tokens=68, response_tokens=13, total_tokens=81),
832+
usage=Usage(requests=1, request_tokens=70, response_tokens=13, total_tokens=83),
832833
model_name='function:call_tool:',
833834
timestamp=IsDatetime(),
834835
),
@@ -1487,7 +1488,7 @@ def empty(_: list[ModelMessage], _info: AgentInfo) -> ModelResponse:
14871488
),
14881489
ModelResponse(
14891490
parts=[ToolCallPart(tool_name='foobar', args='{}', tool_call_id=IsStr())],
1490-
usage=Usage(requests=1, request_tokens=65, response_tokens=4, total_tokens=69),
1491+
usage=Usage(requests=1, request_tokens=67, response_tokens=4, total_tokens=71),
14911492
model_name='function:empty:',
14921493
timestamp=IsNow(tz=timezone.utc),
14931494
),
@@ -1527,7 +1528,7 @@ def empty(m: list[ModelMessage], _info: AgentInfo) -> ModelResponse:
15271528
),
15281529
ModelResponse(
15291530
parts=[TextPart(content='success')],
1530-
usage=Usage(requests=1, request_tokens=65, response_tokens=3, total_tokens=68),
1531+
usage=Usage(requests=1, request_tokens=67, response_tokens=3, total_tokens=70),
15311532
model_name='function:empty:',
15321533
timestamp=IsNow(tz=timezone.utc),
15331534
),
@@ -2651,6 +2652,12 @@ def foo_tool(foo: Foo) -> int:
26512652
'tool_call_id': IsStr(),
26522653
'timestamp': IsStr(),
26532654
'part_kind': 'retry-prompt',
2655+
'model_message_template': """\
2656+
Validator response:
2657+
{description}
2658+
2659+
Fix the errors and try again.\
2660+
""",
26542661
}
26552662
],
26562663
'instructions': None,

0 commit comments

Comments
 (0)