adk-go
adk-go copied to clipboard
Fix missing the model name in the tracer span
Before this PR, the model name was always missing from tracer's span because it wasn't set when creating the LLM request:
And it will be fixed after this PR:
Summary of Changes
Hello @git-hulk, I'm Gemini Code Assist[^1]! 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 resolves an issue where the LLM model name was not being captured in tracer spans, hindering proper monitoring and debugging. It achieves this by explicitly setting the model name when an LLM request is initialized. Furthermore, the PR enhances the robustness of the system by relocating the model configuration validation to an earlier stage in the request lifecycle, ensuring that a model is configured before proceeding with an LLM call.
Highlights
- Tracer Span Fix: Ensures the LLM model name is correctly included in tracer spans by setting the
Modelfield inmodel.LLMRequestduring its creation, improving observability. - Model Configuration Validation: Introduces an early check for a configured LLM model within the
runOneStepfunction, preventingnilpointer dereferences and providing a clearer error message if the model is not set. - Code Refactoring: Refactors the model configuration check from the
callLLMfunction to therunOneStepfunction, centralizing the validation logic and streamlining the request processing flow. - Test Updates: Updates existing test cases in
llmagent_test.goto include theModel: "mock"field in expectedLLMRequestobjects, reflecting the new behavior and ensuring test accuracy.
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 :thumbsup: and :thumbsdown: 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.
[^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.
/gemini review again.
Is this also why the model name is not in the response or the branch name is empty? Are they related?
Is this also why the model name is not in the response or the branch name is empty? Are they related?
I think it's not related to the empty branch in the response.
@kdroste-google @baptmont Could you please merge this PR if there's nothing else to be done?