from typing import Final import pytest from litellm.proxy.engine.inference import Deployment, DeploymentParams, completion_charge, quote from litellm.types.utils import ModelResponse def test_custom_priced_model_charges_reported_tokens() -> None: deployment: Final = Deployment( litellm_params=DeploymentParams( model="openai/engine-test", input_cost_per_token=0.001, output_cost_per_token=0.002 ) ) response: Final = ModelResponse( model="engine-test", usage={"prompt_tokens": 20, "completion_tokens": 10, "total_tokens": 30} ) assert completion_charge((deployment,), response, 10) == pytest.approx(0.04) assert quote((deployment,), "hello") > 0.04