feat: Unified Cost Calculation Logic.

This commit is contained in:
莘权 马 2024-02-02 15:54:11 +08:00
parent 28727a03d8
commit e8d2819031
11 changed files with 30 additions and 106 deletions

View file

@ -39,7 +39,7 @@ class CostManager(BaseModel):
completion_tokens (int): The number of tokens used in the completion.
model (str): The model used for the API call.
"""
if prompt_tokens + completion_tokens == 0:
if prompt_tokens + completion_tokens == 0 or not model:
return
self.total_prompt_tokens += prompt_tokens
self.total_completion_tokens += completion_tokens

View file

@ -34,14 +34,10 @@ TOKEN_COSTS = {
"glm-3-turbo": {"prompt": 0.0, "completion": 0.0007}, # 128k version, prompt + completion tokens=0.005¥/k-tokens
"glm-4": {"prompt": 0.0, "completion": 0.014}, # 128k version, prompt + completion tokens=0.1¥/k-tokens
"gemini-pro": {"prompt": 0.00025, "completion": 0.0005},
# Azure
"azure-gpt-3.5-turbo-4k": {"prompt": 0.0015, "completion": 0.002},
"azure-gpt-3.5-turbo-16k": {"prompt": 0.003, "completion": 0.004},
"azure-gpt-3.5-turbo-1106": {"prompt": 0.001, "completion": 0.002},
"azure-gpt-4-turbo": {"prompt": 0.01, "completion": 0.03},
"azure-gpt-4-turbo-vision": {"prompt": 0.01, "completion": 0.03},
"azure-gpt-4-8k": {"prompt": 0.03, "completion": 0.06},
"azure-gpt-4-32k": {"prompt": 0.06, "completion": 0.12},
"gpt-3.5-turbo-4k": {"prompt": 0.0015, "completion": 0.002},
"gpt-4-turbo": {"prompt": 0.01, "completion": 0.03},
"gpt-4-turbo-vision": {"prompt": 0.01, "completion": 0.03},
"gpt-4-8k": {"prompt": 0.03, "completion": 0.06},
}
TOKEN_MAX = {