Skip to content

Support for required fields in Pydantic structured-output #642

Open
@ravwojdyla

Description

@ravwojdyla

Description of the bug:

It appears that all fields in the structured-output are effectively marked as optional by this line: https://github.com/google-gemini/generative-ai-python/blob/b8772ed1424a080911151b354764d76a0e7af2af/google/generativeai/types/content_types.py#L490

It was added in e09e7f2, possible cause:

service fails if 'required' is used in nested objects

Actual vs expected behavior:

I have a Pydantic schema with nested objects (most of them required). Gemini API consistently doesn't fill all the required fields, which triggers Pydantic validation error. If I monkey-patch the fix or comment out the line https://github.com/google-gemini/generative-ai-python/blob/b8772ed1424a080911151b354764d76a0e7af2af/google/generativeai/types/content_types.py#L490, the Gemini API consistently returns complete JSON objects.

Any other information you'd like to share?

No response

Metadata

Metadata

Assignees

Labels

component:python sdkIssue/PR related to Python SDKstatus:triagedIssue/PR triaged to the corresponding sub-teamtype:bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions