Source code for council.evaluators.evaluator_base

from abc import ABC, abstractmethod
from typing import List

from council.contexts import AgentContext, ScoredChatMessage
from council.runners import Budget


[docs]class EvaluatorBase(ABC): """ Abstract base class for an agent evaluator. """
[docs] @abstractmethod def execute(self, context: AgentContext, budget: Budget) -> List[ScoredChatMessage]: """ Executes the evaluator on the agent's context within the given budget. Args: context (AgentContext): The context for executing the evaluator. budget (Budget): The budget for evaluator execution. Returns: List[ScoredChatMessage]: A list of scored agent messages resulting from the evaluation. Raises: None """ pass