diff --git a/src/google/adk/code_executors/__init__.py b/src/google/adk/code_executors/__init__.py index 4666b2c..a8284ed 100644 --- a/src/google/adk/code_executors/__init__.py +++ b/src/google/adk/code_executors/__init__.py @@ -15,16 +15,16 @@ import logging from .base_code_executor import BaseCodeExecutor +from .built_incode_executor import BuiltInCodeExecutor from .code_executor_context import CodeExecutorContext -from .gemini_code_executor import GeminiCodeExecutor from .unsafe_local_code_executor import UnsafeLocalCodeExecutor logger = logging.getLogger(__name__) __all__ = [ 'BaseCodeExecutor', + 'BuiltInCodeExecutor', 'CodeExecutorContext', - 'GeminiCodeExecutor', 'UnsafeLocalCodeExecutor', ] diff --git a/src/google/adk/code_executors/gemini_code_executor.py b/src/google/adk/code_executors/built_in_code_executor.py similarity index 89% rename from src/google/adk/code_executors/gemini_code_executor.py rename to src/google/adk/code_executors/built_in_code_executor.py index 31126c0..31f3703 100644 --- a/src/google/adk/code_executors/gemini_code_executor.py +++ b/src/google/adk/code_executors/built_in_code_executor.py @@ -23,8 +23,12 @@ from .code_execution_utils import CodeExecutionInput from .code_execution_utils import CodeExecutionResult -class GeminiCodeExecutor(BaseCodeExecutor): - """A code executor for Gemini 2.0+ models to exeute code.""" +class BuiltInCodeExecutor(BaseCodeExecutor): + """A code executor that uses the Model's built-in code executor. + + Currently only supports Gemini 2.0+ models, but will be expanded to + other models. + """ @override def execute_code( diff --git a/src/google/adk/flows/llm_flows/_code_execution.py b/src/google/adk/flows/llm_flows/_code_execution.py index 27ad43f..c2252f9 100644 --- a/src/google/adk/flows/llm_flows/_code_execution.py +++ b/src/google/adk/flows/llm_flows/_code_execution.py @@ -30,12 +30,12 @@ from typing_extensions import override from ...agents.invocation_context import InvocationContext from ...code_executors.base_code_executor import BaseCodeExecutor +from ...code_executors.built_in_code_executor import BuiltInCodeExecutor from ...code_executors.code_execution_utils import CodeExecutionInput from ...code_executors.code_execution_utils import CodeExecutionResult from ...code_executors.code_execution_utils import CodeExecutionUtils from ...code_executors.code_execution_utils import File from ...code_executors.code_executor_context import CodeExecutorContext -from ...code_executors.gemini_code_executor import GeminiCodeExecutor from ...events.event import Event from ...events.event_actions import EventActions from ...models.llm_response import LlmResponse @@ -175,7 +175,7 @@ async def _run_pre_processor( if not code_executor or not isinstance(code_executor, BaseCodeExecutor): return - if isinstance(code_executor, GeminiCodeExecutor): + if isinstance(code_executor, BuiltInCodeExecutor): code_executor.process_llm_request(llm_request) return @@ -267,7 +267,7 @@ async def _run_post_processor( if not llm_response or not llm_response.content: return - if isinstance(code_executor, GeminiCodeExecutor): + if isinstance(code_executor, BuiltInCodeExecutor): return code_executor_context = CodeExecutorContext(invocation_context.session.state) diff --git a/src/google/adk/tools/built_in_code_execution_tool.py b/src/google/adk/tools/built_in_code_execution_tool.py index 742059a..8148366 100644 --- a/src/google/adk/tools/built_in_code_execution_tool.py +++ b/src/google/adk/tools/built_in_code_execution_tool.py @@ -14,18 +14,26 @@ from __future__ import annotations +import logging from typing import TYPE_CHECKING +from deprecated import deprecated from google.genai import types from typing_extensions import override from .base_tool import BaseTool from .tool_context import ToolContext + if TYPE_CHECKING: from ..models import LlmRequest +logger = logging.getLogger(__name__) + +@deprecated( + 'No longer supported. Please use the new BuiltInCodeExecutor instead.' +) class BuiltInCodeExecutionTool(BaseTool): """A built-in code execution tool that is automatically invoked by Gemini 2 models. @@ -44,6 +52,10 @@ class BuiltInCodeExecutionTool(BaseTool): tool_context: ToolContext, llm_request: LlmRequest, ) -> None: + logger.warning( + 'BuiltInCodeExecutionTool is deprecated. Please use the new' + ' BuiltInCodeExecutor instead.' + ) if llm_request.model and llm_request.model.startswith('gemini-2'): llm_request.config = llm_request.config or types.GenerateContentConfig() llm_request.config.tools = llm_request.config.tools or []