Skip to content

Conversation

@takumiohym
Copy link
Collaborator

No description provided.

takumiohym and others added 30 commits April 17, 2025 17:21
This commit corrects various spelling mistakes in the markdown content of Jupyter notebooks located in the `notebooks/docker_and_kubernetes` directory.

The following notebooks were checked and updated:
- notebooks/docker_and_kubernetes/labs/1_intro_docker.ipynb
- notebooks/docker_and_kubernetes/labs/2_intro_k8s.ipynb
- notebooks/docker_and_kubernetes/labs/3_k8s_hello_node.ipynb
- notebooks/docker_and_kubernetes/solutions/1_intro_docker.ipynb
- notebooks/docker_and_kubernetes/solutions/2_intro_k8s.ipynb
- notebooks/docker_and_kubernetes/solutions/3_k8s_hello_node.ipynb

No changes were made to code cells or any other content.
updates:
- [github.com/asottile/pyupgrade: v3.19.1 → v3.20.0](asottile/pyupgrade@v3.19.1...v3.20.0)
- [github.com/pycqa/pylint: v3.3.6 → v3.3.7](pylint-dev/pylint@v3.3.6...v3.3.7)
…-config

[pre-commit.ci] pre-commit autoupdate
…hain_components

Revert "removing hackernews loader"
@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@google-cla
Copy link

google-cla bot commented Oct 1, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@gemini-code-assist
Copy link

Summary of Changes

Hello @takumiohym, 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 substantial set of new educational content focused on building and deploying AI agents within the Vertex AI ecosystem, leveraging Google's Agent Development Kit (ADK) and LangGraph. It provides hands-on labs for creating various agent types, from simple tools to complex, stateful, and multi-agent systems, culminating in a guide for deploying these agents to the Vertex AI Agent Engine. Complementing these new features, the PR also includes general code quality improvements, such as updating development tool dependencies and correcting minor textual errors across existing documentation, ensuring a polished and up-to-date learning experience.

Highlights

  • New AI Agent Labs: Introduced several new labs demonstrating the development of AI agents using Google's Agent Development Kit (ADK), covering basic weather agents, sub-agents, stateful agents, and a complex essay-writing agent with LangGraph.
  • ADK Agent Deployment Guide: Added a new solution notebook detailing the deployment of ADK agents to Vertex AI Agent Engine, including session management and agent updates.
  • Dependency Updates: Updated pyupgrade and pylint pre-commit hook versions for code quality and maintenance.
  • Documentation Refinements: Corrected numerous typos and grammatical errors across existing Docker and Kubernetes lab and solution notebooks for improved readability and accuracy.
  • Security Enhancement: Added .env to .gitignore to prevent accidental exposure of environment configuration files.
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.

@takumiohym takumiohym merged commit 10f4bb1 into keras3-dev Oct 1, 2025
20 of 23 checks passed
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 appears to be a rebase of the keras3-dev branch onto master, introducing a significant number of new lab notebooks and solutions related to Vertex AI, agents with ADK, and LangGraph. The changes also include minor dependency updates and typo fixes in existing notebooks. My review focuses on the newly added files. I've identified several incomplete implementations marked with TODO comments in the new lab files, which should be addressed. Additionally, there are some minor issues like typos and broken links in the new solution notebooks that need correction. Overall, the new content looks promising but requires completion and polishing.


from .tools import get_weather

root_agent = None # TODO - define the weather agent

Choose a reason for hiding this comment

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

high

The root_agent is initialized to None with a TODO to define the weather agent. This file seems incomplete and the agent is not functional.

Comment on lines +9 to +11
greeting_agent = Agent(
# TODO - Define the greeting agent
)

Choose a reason for hiding this comment

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

high

The greeting_agent is not defined and contains a TODO. This part of the implementation is incomplete.

# The loop for refining the essay: Reflect -> Research Critique -> Rewrite
refinement_loop = LoopAgent(
name="refinement_loop",
sub_agents=[], # TODO: Define the loop.

Choose a reason for hiding this comment

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

high

The refinement_loop agent has an empty sub_agents list and is marked with a TODO. The implementation for the refinement loop is incomplete.


# The main sequential agent that orchestrates the entire process
essay_writing_agent = SequentialAgent(
name="essay_writing_agent", sub_agents=[] # TODO: Define a sequential flow.

Choose a reason for hiding this comment

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

high

The essay_writing_agent has an empty sub_agents list and is marked with a TODO. The sequential flow for the agent is not defined.

Comment on lines +3 to +6
"""TODO:Write a docstring for the
get_weather agent with a description of what the tool is
supposed to do and also the arguments that are needed.
"""

Choose a reason for hiding this comment

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

medium

The docstring for the get_weather function is incomplete and contains a TODO. A detailed docstring is crucial for the LLM to understand how to use this tool effectively. Please complete the docstring with a description of the tool's purpose and its arguments.

    """Retrieves the current weather report for a specified city.

    Args:
        city (str): The name of the city (e.g., "New York", "London", "Tokyo").
    """

"\n",
"By the end of this notebook, you will understand how to:\n",
"* Set up required configuration and deploy ADK **Agents** to **Vertex AI Agent Engine**.\n",
"* Use the ADK **RemoteAgent** ans **RemoteSession** to execute agent interactions.\n",

Choose a reason for hiding this comment

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

medium

There is a typo here. ans should be and.

Suggested change
"* Use the ADK **RemoteAgent** ans **RemoteSession** to execute agent interactions.\n",
"* Use the ADK **RemoteAgent** and **RemoteSession** to execute agent interactions.\n",

"Once deployed, remote_agent corresponds to an instance of agent that is running on Vertex AI and can be queried or deleted.\n",
"You can check deployed agents using Cloud Console: Vertex AI -> Agent Engine\n",
"\n",
"[https://console.cloud.google.com/vertex-ai/agents/agent-engines]()"

Choose a reason for hiding this comment

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

medium

This markdown link is broken as it's missing a URL.

Suggested change
"[https://console.cloud.google.com/vertex-ai/agents/agent-engines]()"
"[https://console.cloud.google.com/vertex-ai/agents/agent-engines](https://console.cloud.google.com/vertex-ai/agents/agent-engines)"

"source": [
"#### List all deployed agents for a given project and location:\n",
"In case if you need to list all active AI Agents deployments you cau use `agent_engines.list()` method.\n",
"Each deployed agent has a unique identifier ***Name*** and fully qualified resource name ***Resource Name***"

Choose a reason for hiding this comment

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

medium

There is a typo here. cau should be can.

Suggested change
"Each deployed agent has a unique identifier ***Name*** and fully qualified resource name ***Resource Name***"
"In case if you need to list all active AI Agents deployments you can use `agent_engines.list()` method.\n",

" AGENT_RESOURCE_NAME = remote_agent.resource_name\n",
" print(f\"Resource Name: {remote_agent.resource_name}\")\n",
"else:\n",
" print(f'Cant find deployed agent with the display_name=\"{DISPLAY_NAME}\"')"

Choose a reason for hiding this comment

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

medium

There is a typo here. Cant should be Can't.

Suggested change
" print(f'Cant find deployed agent with the display_name=\"{DISPLAY_NAME}\"')"
" print(f'Can\'t find deployed agent with the display_name=\"{DISPLAY_NAME}\"')"

"tags": []
},
"source": [
"!cp ./adk_agents/agent1_weather_lookup/tools.py ./adk_agents/agent2_sub_agent/"

Choose a reason for hiding this comment

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

medium

This cp command might fail if the destination directory adk_agents/agent2_sub_agent/ doesn't exist. It would be more robust to create it first using mkdir -p.

Suggested change
"!cp ./adk_agents/agent1_weather_lookup/tools.py ./adk_agents/agent2_sub_agent/"
"!mkdir -p ./adk_agents/agent2_sub_agent/ && cp ./adk_agents/agent1_weather_lookup/tools.py ./adk_agents/agent2_sub_agent/"

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.

5 participants