Source code for ai.analysis.run.assistant_runs

from ai.analysis.run.abstract_analyzer import AbstractAnalyzer
from ai.analysis.run.analysis_result import AnalysisResult
from ai.analysis.run.assistant_run import AssistantRun


[docs] class AssistantRunsAnalyzer(AbstractAnalyzer): """Analyzer that aggregates cost analyses for multiple assistant runs. Attributes: _assistant_runs (list[AssistantRun]): List of AssistantRun instances to analyze. """
[docs] def __init__(self, runs: list[AssistantRun]): """Initialize with a list of assistant runs. Args: runs (list[AssistantRun]): AssistantRun instances to aggregate. """ self._assistant_runs: list[AssistantRun] = runs
[docs] def get_cost_analysis(self) -> AnalysisResult: """Compute the combined cost analysis from all assistant runs. Returns: AnalysisResult: Aggregated cost analysis for all runs. """ return sum( [assistant_run.get_cost_analysis() for assistant_run in self._assistant_runs], AnalysisResult.empty(), )