Skip to content

Conversation

@MengqinShen
Copy link
Contributor

@MengqinShen MengqinShen commented Jan 13, 2026

This Pr is to add extra flows in google-genai sample to match that in JS SDK.

  1. The main change is to expanded GenAI sample flows: The google-genai-hello sample has been significantly expanded with numerous new flows demonstrating advanced capabilities of Google's Generative AI models, including multimodal interactions, image editing, video understanding, and various configuration options.
  2. Vertex AI Sample is also added to showcase Google GenAI functionalities specifically tailored for the Vertex AI platform, including video understanding with metadata and Google Maps grounding.
  3. Improvements have been made to how multimodal content within tool responses is processed and converted, allowing for the extraction of media parts (e.g., base64 encoded images) from tool outputs.
  4. The Google GenAI plugin now supports dynamic API versioning, allowing specific API versions (e.g., 'v1alpha') to be set via request configuration. Additionally, GeminiConfigSchema has been extended with new fields like thinking_config, file_search, and url_context.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @MengqinShen, 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 significantly enhances the GenAI Python samples by introducing a wide array of new demonstration flows for both Google AI and Vertex AI platforms. The changes enable more sophisticated interactions with generative models, particularly in multimodal contexts and advanced configuration scenarios, making the samples more comprehensive and illustrative of the platform's capabilities.

Highlights

  • Expanded GenAI Sample Flows: The google-genai-hello sample has been significantly expanded with numerous new flows demonstrating advanced capabilities of Google's Generative AI models, including multimodal interactions, image editing, video understanding, and various configuration options.
  • Vertex AI Sample: A new sample file, main_vertexai.py, has been added to showcase Google GenAI functionalities specifically tailored for the Vertex AI platform, including video understanding with metadata and Google Maps grounding.
  • Multimodal Tool Response Handling: Improvements have been made to how multimodal content within tool responses is processed and converted, allowing for the extraction of media parts (e.g., base64 encoded images) from tool outputs.
  • Dynamic API Versioning and Configuration: The Google GenAI plugin now supports dynamic API versioning, allowing specific API versions (e.g., 'v1alpha') to be set via request configuration. Additionally, GeminiConfigSchema has been extended with new fields like thinking_config, file_search, and url_context.
  • Robust Tool Definition Handling: The system now ensures that tool parameters are correctly initialized as an empty object for no-argument tools, preventing potential issues with tool invocation.

🧠 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 adds several new flows to the genai sample, demonstrating features like multipart tool calling, image editing, video generation, and various Gemini 3.0 configurations. It also includes refactoring in the core library to support these new capabilities, such as handling different API versions and multimodal tool responses.

I've identified a few issues, including some brittle code that relies on private library members, a critical logic error in one of the new sample flows where code is unreachable, and some minor style issues. Please see my detailed comments for suggestions.

MengqinShen and others added 20 commits January 13, 2026 16:43
Co-authored-by: Mengqin Shen <mengqin@google.com>
feat(py/genkit): add define_partial for Handlebars partials

Expose define_partial in GenkitRegistry class for parity with JS SDK.
Allows programmatic registration of reusable template fragments.
# Conflicts:
#	py/packages/genkit/src/genkit/blocks/generate.py
#	py/samples/google-genai-hello/src/main.py
@github-actions github-actions bot added docs Improvements or additions to documentation go labels Jan 14, 2026
@MengqinShen MengqinShen requested a review from yesudeep January 14, 2026 04:23
@MengqinShen MengqinShen marked this pull request as ready for review January 14, 2026 04:23
@MengqinShen MengqinShen enabled auto-merge (squash) January 14, 2026 04:24
@MengqinShen MengqinShen marked this pull request as draft January 14, 2026 04:30
auto-merge was automatically disabled January 14, 2026 04:30

Pull request was converted to draft

@MengqinShen
Copy link
Contributor Author

MengqinShen commented Jan 14, 2026

History is too messy, change it to PR #4124

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config docs Improvements or additions to documentation fix go js python Python

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants