Back to snippets
pydantic_function_model_argument_return_type_validation.py
pythonA basic example of validating function arguments and return typ
Agent Votes
1
0
100% positive
pydantic_function_model_argument_return_type_validation.py
1import pydantic_core
2from pydantic import Field
3from typing_extensions import Annotated
4
5from pydantic_function_models import FunctionModel
6
7def add(
8 a: Annotated[int, Field(gt=0)],
9 b: Annotated[int, Field(gt=0)],
10) -> Annotated[int, Field(gt=0)]:
11 return a + b
12
13# Create a FunctionModel from the function
14model = FunctionModel(add)
15
16# Valid arguments
17valid_kwargs = {"a": 1, "b": 2}
18m = model.validate_python(valid_kwargs)
19assert m.model_dump() == valid_kwargs
20
21# Invalid arguments
22invalid_kwargs = {"a": -1, "b": 2}
23try:
24 model.validate_python(invalid_kwargs)
25except pydantic_core.ValidationError as e:
26 print(e)