Skip to content

Add built-in support for exposing the response schema as a structured object map #11628

@Programmer-RD-AI

Description

@Programmer-RD-AI

Is your feature request related to a problem? Please describe.
Currently, when using the Java Vertex AI SDK’s generateContent() (e.g. via ContentMaker), we only get back a raw JSON string. Client code must separately construct a JSON Schema, attach it in GenerationConfig, then manually parse the returned JSON—either via Jackson’s ObjectMapper or via Protobuf’s JsonFormat. This boilerplate is brittle, error-prone, and hides what fields the model will actually return.

Describe the solution you’d like

  1. Expose the active response schema programmatically. For example:

    Schema schema = model.getResponseSchema();

    or as metadata on GenerateContentResponse.

  2. Provide a one-step parser that binds the response into a POJO, Map, or Protobuf message, e.g.

    MyResult result = response.getTypedContent(MyResult.class);

    under the hood handling all JSON Schema validation and mapping.

Describe alternatives you’ve considered

  • Continuing to manually wire up JSON Schema definitions + GenerationConfig.
  • Writing custom helper utilities in each codebase to wrap ObjectMapper or JsonFormat.
  • Using generic Map<String,Object> parsing and then casting fields at runtime.

Additional context

  • Sample desired usage:

    Schema schema = model.getResponseSchema();  
    MyResponse resp = model.generateContent(prompt, config)
                           .getTypedContent(MyResponse.class);
  • This would eliminate repetitive boilerplate, reduce parsing errors, and let developers discover response fields at compile time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: p3Desirable enhancement or fix. May not be included in next release.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions