adk-python/tests/integration/fixture/context_update_test/agent.py
Google ADK Member 61d4be2d76 No public description
PiperOrigin-RevId: 748777998
2025-04-17 21:47:59 +00:00

44 lines
1.3 KiB
Python

# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from typing import List
from typing import Union
from google.adk import Agent
from google.adk.tools import ToolContext
from pydantic import BaseModel
def update_fc(
data_one: str,
data_two: Union[int, float, str],
data_three: list[str],
data_four: List[Union[int, float, str]],
tool_context: ToolContext,
):
"""Simply ask to update these variables in the context"""
tool_context.actions.update_state("data_one", data_one)
tool_context.actions.update_state("data_two", data_two)
tool_context.actions.update_state("data_three", data_three)
tool_context.actions.update_state("data_four", data_four)
root_agent = Agent(
model="gemini-1.5-flash",
name="root_agent",
instruction="Call tools",
flow="auto",
tools=[update_fc],
)