ToolLoopConfiguration

data class ToolLoopConfiguration(val type: ToolLoopConfiguration.ToolLoopType = ToolLoopType.DEFAULT, val maxIterations: Int = 20, val parallel: ToolLoopConfiguration.ParallelModeProperties = ParallelModeProperties())

Configuration for tool loop execution.

Externalized via properties:

embabel:
agent:
platform:
toolloop:
type: default # default | parallel
max-iterations: 20
parallel:
per-tool-timeout: 30s
batch-timeout: 60s
executor-type: virtual # virtual | fixed | cached
fixed-pool-size: 10

Constructors

Link copied to clipboard
constructor(type: ToolLoopConfiguration.ToolLoopType = ToolLoopType.DEFAULT, maxIterations: Int = 20, parallel: ToolLoopConfiguration.ParallelModeProperties = ParallelModeProperties())

Types

Link copied to clipboard

Type of executor for parallel tool execution.

Link copied to clipboard
data class ParallelModeProperties(val perToolTimeout: Duration = Duration.ofSeconds(30), val batchTimeout: Duration = Duration.ofSeconds(60), val executorType: ToolLoopConfiguration.ExecutorType = ExecutorType.VIRTUAL, val fixedPoolSize: Int = 10, val shutdownTimeout: Duration = Duration.ofSeconds(5))

Properties for parallel mode tool execution. Only applicable when type is ToolLoopType.PARALLEL.

Link copied to clipboard

Type of tool loop to use.

Properties

Link copied to clipboard
val maxIterations: Int = 20
Link copied to clipboard