-
Notifications
You must be signed in to change notification settings - Fork 1.6k
[Firebase AI] Return default proto values with $outputDefaults
#14784
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback. |
// The query parameter `$outputDefaults` forces the backend to output proto default values for | ||
// JSON responses instead of omitting them. See | ||
// https://cloud.google.com/apis/docs/system-parameters#definitions for more details. | ||
urlQueryItems.append(URLQueryItem(name: "$outputDefaults", value: "true")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will this increase cost?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only in terms of bandwidth since the JSON payload will be larger in cases where defaults were previously omitted.
Note: Google AI actually behaves this way by default (default values have always been included in the JSON). Vertex AI always omits them unless this option is specified.
This has also caused some confusion in the past since, for example, blocked: false
was omitted in Vertex since false
is the default. Other cases tend to revolve around 0
getting omitted for numeric fields.
Updated requests in Firebase AI to set the
$outputDefaults
system parameter totrue
. This prevents the backend from omitting default values when serializing JSON and fixes a decoding issue in theGenerateContentIntegrationTests.generateImage
test.#no-changelog