googleapis / googleapis/google-cloud-java

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

未关闭
#11,628 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
priority: p3 type: feature request
主要语言
Java
星标
2.1k
派生
1.2k
平均合并
1 天 23 小时
30 天内合并 PR
154

描述

**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:

```java
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.

```java
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` parsing and then casting fields at runtime.

**Additional context**

* Sample desired usage:

```java
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.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。