跳到主要内容

定制 LLM 定价

使用此功能注册模型的定制定价。

有 2 种方式追踪成本

  • 每 token 成本
  • 每秒成本

默认情况下,成功时(同步 + 异步)的响应成本可在日志对象中通过 kwargs["response_cost"] 访问。了解更多

信息

LiteLLM 已经为我们的模型成本图中的任何模型提供了定价。

每秒成本 (例如 Sagemaker)

在 LiteLLM 代理服务器中使用

步骤 1: 在 config.yaml 中添加定价

model_list:
- model_name: sagemaker-completion-model
litellm_params:
model: sagemaker/berri-benchmarking-Llama-2-70b-chat-hf-4
model_info:
input_cost_per_second: 0.000420
- model_name: sagemaker-embedding-model
litellm_params:
model: sagemaker/berri-benchmarking-gpt-j-6b-fp16
model_info:
input_cost_per_second: 0.000420

步骤 2: 启动代理

litellm /path/to/config.yaml

步骤 3: 查看支出日志

每 token 成本 (例如 Azure)

在 LiteLLM 代理服务器中使用

model_list:
- model_name: azure-model
litellm_params:
model: azure/<your_deployment_name>
api_key: os.environ/AZURE_API_KEY
api_base: os.environ/AZURE_API_BASE
api_version: os.environ/AZURE_API_VERSION
model_info:
input_cost_per_token: 0.000421 # 👈 ONLY to track cost per token
output_cost_per_token: 0.000520 # 👈 ONLY to track cost per token

覆盖模型成本图

您可以使用自己的定制定价覆盖我们的模型成本图中的已映射模型。

只需在 config 中为您的模型添加一个 model_info 键,并覆盖所需的键。

示例:覆盖 Anthropic 模型成本图中 prod/claude-3-5-sonnet-20241022 模型的定价。

model_list:
- model_name: "prod/claude-3-5-sonnet-20241022"
litellm_params:
model: "anthropic/claude-3-5-sonnet-20241022"
api_key: os.environ/ANTHROPIC_PROD_API_KEY
model_info:
input_cost_per_token: 0.000006
output_cost_per_token: 0.00003
cache_creation_input_token_cost: 0.0000075
cache_read_input_token_cost: 0.0000006

设置 'base_model' 进行成本追踪 (例如 Azure 部署)

问题:当使用 azure/gpt-4-1106-preview 时,Azure 在响应中返回 gpt-4。这导致成本追踪不准确

解决方案 ✅:在 config 中设置 base_model,以便 litellm 使用正确的模型计算 Azure 成本

此处获取基础模型名称

带有 base_model 的 config 示例

model_list:
- model_name: azure-gpt-3.5
litellm_params:
model: azure/chatgpt-v-2
api_base: os.environ/AZURE_API_BASE
api_key: os.environ/AZURE_API_KEY
api_version: "2023-07-01-preview"
model_info:
base_model: azure/gpt-4-1106-preview

调试

如果您的定制定价未被使用或您看到错误,请检查以下内容

  1. 使用 LITELLM_LOG="DEBUG"--detailed_debug CLI 标志运行代理
litellm --config /path/to/config.yaml --detailed_debug
  1. 检查日志中是否有此行
LiteLLM:DEBUG: utils.py:263 - litellm.acompletion
  1. 检查 'input_cost_per_token' 和 'output_cost_per_token' 是否是 acompletion 函数中的顶级键。
acompletion(
...,
input_cost_per_token: my-custom-price,
output_cost_per_token: my-custom-price,
)

如果这些键不存在,LiteLLM 将不会使用您的定制定价。

如果问题仍然存在,请在 GitHub 上提交一个 issue。