Back to snippets

pydantic_function_model_argument_return_type_validation.py

python

A 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)