Class: PromptBuilder::Serializers::Gemini::Response
- Defined in:
- lib/prompt_builder/serializers/gemini/response.rb
Overview
Response parser for the Google Gemini API format.
Response metadata not modeled by Open Responses
The Gemini response surface has fields with no canonical Open Responses
equivalent. The parser preserves them on Response#extra rather
than dropping them silently:
groundingMetadata— web search grounding chunks, supports, queriescitationMetadata— per-candidate citation sourcesurlContextMetadata/urlRetrievalMetadata— URL retrieval tracessafetyRatings— per-candidate safety probabilities and severitiespromptFeedback— prompt-level safety feedbackavgLogprobs/logprobsResult— log-probability outputsfinishMessage— human-readable explanation offinishReasoncreateTime— RFC 3339 response creation timestampindex— candidate index whencandidateCount> 1
Additional usageMetadata breakdowns (per-modality token counts and
tool-use prompt tokens) are surfaced through Usage#input_tokens_details
and Usage#output_tokens_details.
Unsupported response shapes
The response parser silently skips Part shapes that have no canonical
Open Responses equivalent:
inlineData/fileDataparts (image/audio output blobs)executableCode/codeExecutionResultparts- server-side
toolCall/toolResponseparts - +Part+s with no recognized content key
When a response contains multiple candidates, only the first is parsed.