Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion sentry_sdk/integrations/pydantic_ai/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,6 @@ async def sentry_wrap_run(
with sentry_sdk.isolation_scope(), invoke_agent_span(
user_prompt=ctx.prompt,
agent=ctx.agent,
model=ctx.model,
model_settings=ctx.model_settings,
) as span:
try:
Expand Down
7 changes: 6 additions & 1 deletion sentry_sdk/integrations/pydantic_ai/spans/ai_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,12 @@ def ai_client_context(
if hasattr(model_obj, "system"):
context.span.set_attribute(SPANDATA.GEN_AI_PROVIDER_NAME, model_obj.system)

_set_model_data(context.span, agent, model, model_settings)
# Set model name
model_name = _get_model_name(model_obj)
if model_name:
context.span.set_attribute(SPANDATA.GEN_AI_REQUEST_MODEL, model_name)

_set_model_data(context.span, agent, model_settings)
_set_available_tools(context.span, agent)

# Set input messages (full conversation history)
Expand Down
4 changes: 1 addition & 3 deletions sentry_sdk/integrations/pydantic_ai/spans/invoke_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
from typing import Any, Optional, Sequence, Union

from pydantic_ai import Agent, UserContent
from pydantic_ai.models import AbstractModel
from pydantic_ai.realtime.settings import RealtimeModelSettings
from pydantic_ai.settings import ModelSettings

Expand All @@ -36,7 +35,6 @@
def invoke_agent_span(
user_prompt: "Optional[Union[str, Sequence[UserContent]]]",
agent: "Optional[Agent]",
model: "AbstractModel",
model_settings: "Optional[Union[ModelSettings, RealtimeModelSettings]]",
) -> "Span":
"""Create a span for invoking the agent."""
Expand All @@ -55,7 +53,7 @@ def invoke_agent_span(
)

_set_agent_data(span, agent)
_set_model_data(span, agent, model, model_settings)
_set_model_data(span, agent, model_settings)

# Add user prompt and system prompts if available and prompts are enabled
if not sentry_sdk.get_client().options["data_collection"]["gen_ai"]["inputs"]:
Expand Down
12 changes: 0 additions & 12 deletions sentry_sdk/integrations/pydantic_ai/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ def _get_model_name(
def _set_model_data(
span: "Span",
agent: "Optional[Agent]",
model: "Union[Model, AbstractModel]",
model_settings: "Optional[Union[ModelSettings, RealtimeModelSettings]]",
) -> None:
"""Set model-related data on a span.
Expand All @@ -68,17 +67,6 @@ def _set_model_data(
model: Model object (can be None, will try to get from agent if not provided)
model_settings: Model settings (can be None, will try to get from agent if not provided)
"""
# Extract model information
model_obj = model
if not model_obj and agent and hasattr(agent, "model"):
model_obj = agent.model

if model_obj:
# Set model name
model_name = _get_model_name(model_obj)
if model_name:
span.set_attribute(SPANDATA.GEN_AI_REQUEST_MODEL, model_name)

# Extract model settings
settings = model_settings
if not settings and agent and hasattr(agent, "model_settings"):
Expand Down
4 changes: 2 additions & 2 deletions tests/integrations/pydantic_ai/test_pydantic_ai.py
Original file line number Diff line number Diff line change
Expand Up @@ -2452,7 +2452,7 @@ async def test_invoke_agent_span_with_callable_instruction(
mock_agent._instructions = ["Static instruction", mock_callable]

# Create span
span = invoke_agent_span("Test prompt", mock_agent, None, None)
span = invoke_agent_span("Test prompt", mock_agent, None)
span.end()


Expand Down Expand Up @@ -2485,7 +2485,7 @@ async def test_invoke_agent_span_with_string_instructions(
mock_agent._instructions = "Single instruction string"

# Create span
span = invoke_agent_span("Test prompt", mock_agent, None, None)
span = invoke_agent_span("Test prompt", mock_agent, None)
span.end()


Expand Down
Loading