mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 03:04:13 +00:00
fix - cost tracking - looking up bedrock pricing
This commit is contained in:
parent
91bb7cd261
commit
8348c671a9
1 changed files with 21 additions and 2 deletions
|
@ -4161,8 +4161,25 @@ def cost_per_token(
|
||||||
model_with_provider_and_region in model_cost_ref
|
model_with_provider_and_region in model_cost_ref
|
||||||
): # use region based pricing, if it's available
|
): # use region based pricing, if it's available
|
||||||
model_with_provider = model_with_provider_and_region
|
model_with_provider = model_with_provider_and_region
|
||||||
if model_with_provider in model_cost_ref:
|
|
||||||
|
model_without_prefix = model
|
||||||
|
model_parts = model.split("/")
|
||||||
|
if len(model_parts) > 1:
|
||||||
|
model_without_prefix = model_parts[1]
|
||||||
|
else:
|
||||||
|
model_without_prefix = model
|
||||||
|
|
||||||
|
if model in model_cost_ref: # Option 1. use model passed, model="gpt-4"
|
||||||
|
model = model
|
||||||
|
elif (
|
||||||
|
model_with_provider in model_cost_ref
|
||||||
|
): # Option 2. use model with provider, model = "openai/gpt-4"
|
||||||
model = model_with_provider
|
model = model_with_provider
|
||||||
|
elif (
|
||||||
|
model_without_prefix in model_cost_ref
|
||||||
|
): # Option 3. if user passed model="bedrock/anthropic.claude-3", use model="anthropic.claude-3"
|
||||||
|
model = model_without_prefix
|
||||||
|
|
||||||
# see this https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models
|
# see this https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models
|
||||||
print_verbose(f"Looking up model={model} in model_cost_map")
|
print_verbose(f"Looking up model={model} in model_cost_map")
|
||||||
if model in model_cost_ref:
|
if model in model_cost_ref:
|
||||||
|
@ -9423,7 +9440,9 @@ def get_secret(
|
||||||
else:
|
else:
|
||||||
secret = os.environ.get(secret_name)
|
secret = os.environ.get(secret_name)
|
||||||
try:
|
try:
|
||||||
secret_value_as_bool = ast.literal_eval(secret) if secret is not None else None
|
secret_value_as_bool = (
|
||||||
|
ast.literal_eval(secret) if secret is not None else None
|
||||||
|
)
|
||||||
if isinstance(secret_value_as_bool, bool):
|
if isinstance(secret_value_as_bool, bool):
|
||||||
return secret_value_as_bool
|
return secret_value_as_bool
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue