Fix: Structured Output empty content #34
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix: Structured Output empty content
When using structured output with newer Google Gemini (Beta) models with Generic Provider, it returns
contentasNone, raising an Exception in langchain-core.Example
Structured Response Schema
Response
{ "annotations": null, "content": [ { "text": null, "type": "TEXT" } ], "name": null, "refusal": null, "role": "ASSISTANT", "tool_calls": [ { "arguments": "{\"time_filter\":null,\"metrics\":[\"count distinct shopper_id\"],\"intent\":\"Contar shoppers únicos\",\"entities\":[\"gold.shopper\"]}", "id": null, "name": "PlannerPlanOutput", "type": "FUNCTION" } ] }Error
Proposed Fix
As the Langchain BaseMessage content field only accepts
Union[str, list[Union[str, dict]]], when the response content isNonewe can overwrite it to be an empty string to keep the tool for structured output working as expected.