Source code for council.evaluators.basic_evaluator
from typing import List
from council.contexts import (
AgentContext,
ScoredChatMessage,
ChatMessage,
)
from council.runners.budget import Budget
from .evaluator_base import EvaluatorBase
[docs]class BasicEvaluator(EvaluatorBase):
[docs] def execute(self, context: AgentContext, budget: Budget) -> List[ScoredChatMessage]:
result = []
for chain_history in context.chainHistory.values():
chain_result = chain_history[-1].messages[-1]
score = 1 if chain_result.is_kind_skill and chain_result.is_ok else 0
result.append(
ScoredChatMessage(
ChatMessage.agent(chain_result.message, chain_result.data, is_error=chain_result.is_error),
score,
)
)
return result