Skip to content

pydantic_core._pydantic_core.ValidationError: 1 validation error for datetime Input should be a valid datetime [type=datetime_type, input_value=None, input_type=NoneType] #2238

@R0boji

Description

@R0boji

Initial Checks

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

from dotenv import load_dotenv
from pydantic_ai import Agent, RunContext
from pydantic_ai.models.openai import OpenAIModel
from pydantic_ai.providers.openrouter import OpenRouterProvider
import os
load_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_plain
def get_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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions