Skip to content

ProgramCost metric

Bases: ProgramOperationalMetric

Total provider cost (USD, as reported by litellm) across every LM and EM reached from the program for this run. The program object itself doesn't pay providers; cost is summed from its bound models.

Example:

program.compile(
    metrics=[
        synalinks.metrics.ProgramCost(),
    ],
)
Source code in synalinks/src/metrics/program_metrics.py
@synalinks_export("synalinks.metrics.ProgramCost")
class ProgramCost(ProgramOperationalMetric):
    """Total provider cost (USD, as reported by litellm) across every LM
    and EM reached from the program for this run. The program object
    itself doesn't pay providers; cost is summed from its bound models.

    Example:

    ```python
    program.compile(
        metrics=[
            synalinks.metrics.ProgramCost(),
        ],
    )
    ```
    """

    def __init__(self, name="program_cost"):
        super().__init__(name=name)

    def result(self):
        return float(self._delta_model_cost())