ADK.Agent.LlmAgent (adk_ex v1.1.0)

Copy Markdown View Source

An agent backed by a large language model.

Combines a model, tools, instructions, and callbacks into a complete agent that can have multi-turn conversations and call tools.

Summary

Types

t()

@type t() :: %ADK.Agent.LlmAgent{
  after_agent_callbacks: [term()],
  after_model_callbacks: [ADK.Flow.after_model_callback()],
  after_tool_callbacks: [ADK.Flow.after_tool_callback()],
  before_agent_callbacks: [term()],
  before_model_callbacks: [ADK.Flow.before_model_callback()],
  before_tool_callbacks: [ADK.Flow.before_tool_callback()],
  description: String.t(),
  disallow_transfer_to_parent: boolean(),
  disallow_transfer_to_peers: boolean(),
  generate_content_config: map(),
  global_instruction: String.t(),
  global_instruction_provider:
    (ADK.Agent.InvocationContext.t() -> String.t()) | nil,
  include_contents: :default | :none,
  instruction: String.t(),
  instruction_provider: (ADK.Agent.InvocationContext.t() -> String.t()) | nil,
  model: struct(),
  name: String.t(),
  on_model_error_callbacks: [term()],
  on_tool_error_callbacks: [term()],
  output_key: String.t() | nil,
  output_schema: map() | nil,
  sub_agents: [struct()],
  tools: [struct()],
  toolsets: [struct()]
}