- Notifications
You must be signed in to change notification settings - Fork1k
Open
Description
Initial Checks
- I confirm that I'm using the latest version of Pydantic AI
- I confirm that I searched for my issue inhttps://github.com/pydantic/pydantic-ai/issues before opening this issue
Description
I realised that if model use tools, my script fails with that error.
File "D:\programming\\.venv\Lib\site-packages\pydantic_ai\agent.py", line 893, in run_sync return get_event_loop().run_until_complete( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 684, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "D:\programming\\.venv\Lib\site-packages\pydantic_ai\agent.py", line 494, in run async for _ in agent_run: File "D:\programming\\.venv\Lib\site-packages\pydantic_ai\agent.py", line 1985, in __anext__ next_node = await self._graph_run.__anext__() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\programming\\.venv\Lib\site-packages\pydantic_graph\graph.py", line 809, in __anext__ return await self.next(self._next_node) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\programming\\.venv\Lib\site-packages\pydantic_graph\graph.py", line 782, in next self._next_node = await node.run(ctx) ^^^^^^^^^^^^^^^^^^^ File "D:\programming\\.venv\Lib\site-packages\pydantic_ai\_agent_graph.py", line 331, in run return await self._make_request(ctx) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\programming\\.venv\Lib\site-packages\pydantic_ai\_agent_graph.py", line 391, in _make_request model_response = await ctx.deps.model.request(message_history, model_settings, model_request_parameters) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\programming\\.venv\Lib\site-packages\pydantic_ai\models\openai.py", line 236, in request model_response = self._process_response(response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\programming\\.venv\Lib\site-packages\pydantic_ai\models\openai.py", line 352, in _process_response timestamp = number_to_datetime(response.created) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\programming\\.venv\Lib\site-packages\pydantic_ai\_utils.py", line 327, in number_to_datetime return _datetime_ta.validate_python(x) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\programming\\.venv\Lib\site-packages\pydantic\type_adapter.py", line 421, in validate_python return self.validator.validate_python( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Example Code
fromdotenvimportload_dotenvfrompydantic_aiimportAgent,RunContextfrompydantic_ai.models.openaiimportOpenAIModelfrompydantic_ai.providers.openrouterimportOpenRouterProviderimportosload_dotenv()fast_model=OpenAIModel("deepseek/deepseek-chat-v3-0324:free",provider=OpenRouterProvider(api_key=os.getenv("OPENROUTER_API_KEY")))fast_agent=Agent(fast_model)@fast_agent.tool_plaindefget_servers_status()->list[dict]:"""Get main servers' characteristics and resources, that are available to use."""return [ {"id":1,"location":"Berlin, Germany","CPU":"AMD Ryzen 7800X3D","CPU_FREQUENCY-GHZ":"3","CPU_CORES":16,"HDD-GB":1024,"SSD-GB":100,"RAM-MB":20480,"RAM_TYPE":"DDR3" }, {"id":2,"location":"London, United Kingdom","CPU":"Intel Pentium Gold","CPU_FREQUENCY-GHZ":"1","CPU_CORES":2,"HDD-GB":200,"SSD-GB":5000,"RAM-MB":40960,"RAM_TYPE":"DDR6" } ]if__name__=="__main__":print(fast_agent.run_sync("Give me servers' info").output)
Python, Pydantic AI & LLM client version
Python 3.12.1, Pydantic AI 0.4.3