Skip to content

feat(ai): Add tag to log requests made to cloud models while in hybrid mode#9469

Merged
hsubox76 merged 3 commits intomainfrom
ch-hybrid-tag
Jan 29, 2026
Merged

feat(ai): Add tag to log requests made to cloud models while in hybrid mode#9469
hsubox76 merged 3 commits intomainfrom
ch-hybrid-tag

Conversation

@hsubox76
Copy link
Contributor

Add "hybrid" tag to x-goog-api-client header to help track which requests are fallbacks from hybrid mode. This does not track on-device requests.

The tag is only applied when getGenerativeModel() was initialized with InferenceMode.PREFER_IN_CLOUD or InferenceMode.PREFER_ON_DEVICE. If ONLY_ON_DEVICE, no cloud calls will be made anyway. If ONLY_IN_CLOUD, this shouldn't count as hybrid mode.

@changeset-bot
Copy link

changeset-bot bot commented Jan 23, 2026

🦋 Changeset detected

Latest commit: 37f8034

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@firebase/ai Patch
firebase Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions
Copy link
Contributor

Vertex AI Mock Responses Check ⚠️

A newer major version of the mock responses for Vertex AI unit tests is available. update_vertexai_responses.sh should be updated to clone the latest version of the responses: v16.0

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @hsubox76, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a telemetry enhancement to better understand the usage patterns of hybrid AI inference modes. By appending a "hybrid" tag to the x-goog-api-client header for cloud requests made when PREFER_IN_CLOUD or PREFER_ON_DEVICE modes are active, the system can now distinguish these specific requests. This provides valuable insights into how often cloud fallbacks or preferences are utilized without impacting the core functionality or performance of the AI models.

Highlights

  • Hybrid Mode Tracking: Implemented a "hybrid" tag for the x-goog-api-client header to identify cloud requests originating from hybrid inference modes (PREFER_IN_CLOUD or PREFER_ON_DEVICE).
  • GenerativeModel Configuration: Ensured the GenerativeModel instance retains its inferenceMode setting within its _apiSettings for consistent tracking.
  • Test Coverage: Added comprehensive unit tests to validate the correct application of the "hybrid" tag in the x-goog-api-client header under various inference mode configurations.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The 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 by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist 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. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request successfully adds a 'hybrid' tag to the x-goog-api-client header for cloud requests made in hybrid mode, which will be useful for tracking. The implementation is correct and includes a new test case. My review includes a few suggestions to improve code clarity, maintainability, and test coverage.

chromeAdapter
);

generativeModel._apiSettings.inferenceMode = hybridParams.mode;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

While this works, modifying the _apiSettings property directly after the object has been constructed is not ideal, especially since the _ prefix suggests it's an internal property. A cleaner approach would be to pass the inferenceMode to the GenerativeModel constructor and let it handle setting this property. This would improve encapsulation and make the initialization logic clearer.

@hsubox76 hsubox76 marked this pull request as ready for review January 23, 2026 18:27
@hsubox76 hsubox76 requested review from a team as code owners January 23, 2026 18:27
'@firebase/ai': patch
---

Add tag to log requests made to cloud while in hybrid mode.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Food for thought: maybe note that this ias an internal change with "Internal: " or something something?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good, helpful to the release operator.

@hsubox76 hsubox76 merged commit 691a506 into main Jan 29, 2026
41 of 44 checks passed
@hsubox76 hsubox76 deleted the ch-hybrid-tag branch January 29, 2026 19:59
@google-oss-bot google-oss-bot mentioned this pull request Feb 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants