From bd49f558dd467a329b247e4e709feaa5b5cfa0a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20Gast=C3=B3n=20L=C3=B6wenstern?= Date: Wed, 16 Jul 2025 23:02:37 +0200 Subject: [PATCH] types: allow additional properties in tool function schemas Enable Pydantic's extra='allow' for Parameters and Property classes to support complex JSON schemas with arbitrary additional fields. This allows complex JSON schemas with additional fields when sending tool definitions to the Ollama API. Fixes compatibility with ollama#11444" --- ollama/_types.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ollama/_types.py b/ollama/_types.py index caf1e703..7c1994ce 100644 --- a/ollama/_types.py +++ b/ollama/_types.py @@ -320,14 +320,14 @@ class Function(SubscriptableBaseModel): description: Optional[str] = None class Parameters(SubscriptableBaseModel): - model_config = ConfigDict(populate_by_name=True) + model_config = ConfigDict(populate_by_name=True, extra='allow') type: Optional[Literal['object']] = 'object' defs: Optional[Any] = Field(None, alias='$defs') items: Optional[Any] = None required: Optional[Sequence[str]] = None class Property(SubscriptableBaseModel): - model_config = ConfigDict(arbitrary_types_allowed=True) + model_config = ConfigDict(arbitrary_types_allowed=True, extra='allow') type: Optional[Union[str, Sequence[str]]] = None items: Optional[Any] = None