-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Open
Assignees
Labels
@sugawarayss
Description
Initial Checks
- I confirm that I'm using the latest version of Pydantic AI
- I confirm that I searched for my issue in https://github.com/pydantic/pydantic-ai/issues before opening this issue
Description
i facing issue about it is not working BinaryContent with AzureOpenAI "gpt-4.1-mini" model .
Agent.run
have user_prompt string(written in japanese) and 9 image files (base64 encoded content).
gpt-4.1-mini model is not include BinaryContent in request_tokens like following Usage information.
does pydantic-ai not support "gpt-4.1-mini"? or my code is not something bad???
When i use "gpt-4o-mini" model
Usage( requests=1, request_tokens=78480, response_tokens=124, total_tokens=78604, details={'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0, 'cached_tokens': 0} )
When i use "gpt-4.1-mini" model
Usage( requests=1, request_tokens=2889, # it is not include BinaryContent???? response_tokens=17, total_tokens=2906, details={'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0, 'cached_tokens': 0} )
Example Code
model = OpenAIModel( model_name=MY_AZURE_DEPLOYMENT_NAME, # deploy model:"gpt-4.1-mini" with model_ver: "2025-04-14" provider=AzureProvider( azure_endpoint=MY_AZURE_ENDPOINT, api_key=MY_AZURE_API_KEY, api_version=MY_AZURE_API_VERSION, # "2024-10-21" ) my_agent = Agent( model=model, system_prompt=MY_SYSTEM_PROMPT, output_type=MyResultPydanticModel, ) binary_contents: list[BinaryContent] = [BinaryContent(data=file.content, media_type=str(file.mime_type)) for file in params.files] user_prompt = [ USER_PROMPT_TEMPLATE, *binary_contents, ] agent_run: AgentRunResult[Any] = await my_agent.run(user_prompt=user_prompt) print(f"{agent_run.usage()}")
Python, Pydantic AI & LLM client version
Python: 3.13.1
Pydantic: 2.11.3
Pydantic-ai: 0.6.2
Model: gpt-4.1-mini(AzureOpenAI)