Fixed convert_function_to_pydantic_model

convert_function_to_pydantic_model was returning empty function descriptions. I have renamed the variables more precisely which helps to avoid confusion and also resolved this issue which was caused by a variable naming conflict.
This commit is contained in:
Michael Berna 2025-04-30 14:22:38 -04:00 committed by GitHub
parent 852d9dcbe9
commit 4a6b964a51
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -276,8 +276,8 @@ def convert_function_to_pydantic_model(func: Callable) -> type[BaseModel]:
docstring = func.__doc__ docstring = func.__doc__
description = parse_description(docstring) function_description = parse_description(docstring)
function_descriptions = parse_docstring(docstring) function_param_descriptions = parse_docstring(docstring)
field_defs = {} field_defs = {}
for name, param in parameters.items(): for name, param in parameters.items():
@ -285,15 +285,15 @@ def convert_function_to_pydantic_model(func: Callable) -> type[BaseModel]:
type_hint = type_hints.get(name, Any) type_hint = type_hints.get(name, Any)
default_value = param.default if param.default is not param.empty else ... default_value = param.default if param.default is not param.empty else ...
description = function_descriptions.get(name, None) param_description = function_param_descriptions.get(name, None)
if description: if param_description:
field_defs[name] = type_hint, Field(default_value, description=description) field_defs[name] = type_hint, Field(default_value, description=param_description)
else: else:
field_defs[name] = type_hint, default_value field_defs[name] = type_hint, default_value
model = create_model(func.__name__, **field_defs) model = create_model(func.__name__, **field_defs)
model.__doc__ = description model.__doc__ = function_description
return model return model