ControllerBase#

class council.controllers.ControllerBase[source]#

Bases: ABC

Abstract base class for an agent controller.

abstract get_plan(context: AgentContext, chains: List[Chain], budget: Budget) List[ExecutionUnit][source]#

Generates an execution plan for the agent based on the provided context, chains, and budget.

Parameters:
  • context (AgentContext) – The context for generating the execution plan.

  • chains (List[Chain]) – The list of chains available for execution.

  • budget (Budget) – The budget for agent execution.

Returns:

A list of execution units representing the execution plan.

Return type:

List[ExecutionUnit]

Raises:

None

abstract select_responses(context: AgentContext) List[ScoredChatMessage][source]#

Selects responses from the agent’s context.

Parameters:

context (AgentContext) – The context for selecting responses.

Returns:

A list of scored agent messages representing the selected responses.

Return type:

List[ScoredChatMessage]

Raises:

None