Skip to content

Commit abbf0b6

Browse files
authored
Drop JSON schema url from schema on Gemini (#1342)
1 parent 11ca423 commit abbf0b6

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

pydantic_ai_slim/pydantic_ai/models/gemini.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,8 @@ async def request(
135135
async with self._make_request(
136136
messages, False, cast(GeminiModelSettings, model_settings or {}), model_request_parameters
137137
) as http_response:
138-
response = _gemini_response_ta.validate_json(await http_response.aread())
138+
data = await http_response.aread()
139+
response = _gemini_response_ta.validate_json(data)
139140
return self._process_response(response), _metadata_as_usage(response)
140141

141142
@asynccontextmanager
@@ -640,10 +641,7 @@ class _GeminiFunction(TypedDict):
640641

641642
def _function_from_abstract_tool(tool: ToolDefinition) -> _GeminiFunction:
642643
json_schema = _GeminiJsonSchema(tool.parameters_json_schema).simplify()
643-
f = _GeminiFunction(
644-
name=tool.name,
645-
description=tool.description,
646-
)
644+
f = _GeminiFunction(name=tool.name, description=tool.description)
647645
if json_schema.get('properties'):
648646
f['parameters'] = json_schema
649647
return f
@@ -770,6 +768,7 @@ def simplify(self) -> dict[str, Any]:
770768
def _simplify(self, schema: dict[str, Any], refs_stack: tuple[str, ...]) -> None:
771769
schema.pop('title', None)
772770
schema.pop('default', None)
771+
schema.pop('$schema', None)
773772
schema.pop('exclusiveMaximum', None)
774773
schema.pop('exclusiveMinimum', None)
775774
if ref := schema.pop('$ref', None):

0 commit comments

Comments
 (0)