Skip to content

Conversation

@aneeshgarg
Copy link

Please ensure you have read the contribution guide before creating a pull request.

Link to Issue or Description of Change

1. Link to an existing issue (if applicable):

  • Closes: 3289
  • Related: 3289

2. Or, if no issue exists, describe the change:

If applicable, please follow the issue templates to provide as much detail as
possible.

Problem:
Claude model via LiteLLM return thinking blocks and requires thinking blocks to be passed in the futrue requests when thinking is enabled. These blocks were not plumbed in and were not being shown to the users.

Solution:
Plumb the blocks between LityeLLM and gen sdk parts

  • thinking blocks are passed as is with thught=True, signature and text being set
  • redacted_thinking blocks do not have any construct or property in gen ai sdk Part. therefore we are hardcoding signature value of redacted_thinking blocks to "redacted_thinking" and data value is being set in text field. Same rull applies when invoking LiteLLM.

Testing Plan

Unit Tests:

  • I have added or updated unit tests for my change.
  • All unit tests pass locally.

Please include a summary of passed pytest results.

Unit tests do not exist for this whole file. Therefore no unit tests to update.

Manual End-to-End (E2E) Tests:

Ran hellowworld_litellm sample with vertex ai claude model using LiteLLM.

Checklist

  • I have read the CONTRIBUTING.md document.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • I have manually tested my changes end-to-end.
  • Any dependent changes have been merged and published in downstream modules.

Additional context

Add any other context or screenshots about the feature request here.

@gemini-code-assist
Copy link

Summary of Changes

Hello @aneeshgarg, 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 addresses a critical integration gap by plumbing 'thinking blocks' from the Claude model, accessed via LiteLLM, into the gen AI SDK. This ensures that the model's internal thought processes, including redacted ones, are properly captured and exposed to users, enhancing transparency and providing richer context for AI interactions.

Highlights

  • Thinking Block Parsing: The _content_to_message_param function has been updated to correctly parse and categorize 'thinking blocks' from LiteLLM responses, separating them from other content parts within assistant messages.
  • Thinking Block Reconstruction: Logic has been added to the _message_to_generate_content_response function to reconstruct types.Part objects from these thinking_blocks, including specific handling for 'redacted_thinking' blocks where the signature is explicitly set.
  • API Extension: The ChatCompletionAssistantMessage now includes a thinking_blocks parameter, allowing this intermediate thought process information to be carried through the system.
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.

@adk-bot adk-bot added the models [Component] Issues related to model support label Oct 29, 2025
@adk-bot
Copy link
Collaborator

adk-bot commented Oct 29, 2025

Response from ADK Triaging Agent

Hello @aneeshgarg, thank you for your contribution!

Could you please provide the console output from your manual E2E test, as described in the contribution guidelines? This will help reviewers to better understand and verify the fix.

Thanks!

Copy link

@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 implements the plumbing for 'thinking blocks' between LiteLLM and the gen ai SDK, which is a great addition for supporting models like Claude. The implementation correctly handles both 'thinking' and 'redacted_thinking' block types. My review includes a couple of suggestions to improve code maintainability by replacing a magic string with a constant and refactoring a section to fix a minor logging bug and reduce code duplication.

@Jacksunwei Jacksunwei added this to the 10/27 ADK Week milestone Oct 30, 2025
@ryanaiagent ryanaiagent self-assigned this Nov 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

models [Component] Issues related to model support

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants