Class BaseCodeExecutor

java.lang.Object
com.google.adk.JsonBaseModel
com.google.adk.codeexecutors.BaseCodeExecutor
Direct Known Subclasses:
BuiltInCodeExecutor, ContainerCodeExecutor, VertexAiCodeExecutor

public abstract class BaseCodeExecutor extends JsonBaseModel
Abstract base class for all code executors.

The code executor allows the agent to execute code blocks from model responses and incorporate the execution results into the final response.

  • Constructor Details

    • BaseCodeExecutor

      public BaseCodeExecutor()
  • Method Details

    • optimizeDataFile

      public boolean optimizeDataFile()
      If true, extract and process data files from the model request and attach them to the code executor.

      Supported data file MimeTypes are [text/csv]. Default to False.

    • stateful

      public boolean stateful()
      Whether the code executor is stateful. Default to False.
    • errorRetryAttempts

      public int errorRetryAttempts()
      The number of attempts to retry on consecutive code execution errors.

      Default to 2.

    • codeBlockDelimiters

      public com.google.common.collect.ImmutableList<com.google.common.collect.ImmutableList<String>> codeBlockDelimiters()
      The list of the enclosing delimiters to identify the code blocks.

      Each inner list contains a pair of start and end delimiters. This supports multiple pairs of delimiters.

      For example, the delimiter ('```python\n', '\n```') can be used to identify code blocks with the following format:

      ```python

      print("hello")

      ```

    • executionResultDelimiters

      public com.google.common.collect.ImmutableList<String> executionResultDelimiters()
      The delimiters to format the code execution result.
    • executeCode

      public abstract CodeExecutionUtils.CodeExecutionResult executeCode(InvocationContext invocationContext, CodeExecutionUtils.CodeExecutionInput codeExecutionInput)
      Executes code and return the code execution result.

      This method may perform blocking operations.

      Parameters:
      invocationContext - The invocation context of the code execution.
      codeExecutionInput - The code execution input.
      Returns:
      The code execution result.