Merge pull request #3713 from BerriAI/litellm_ui_infer_azure_prefix

[Feat] Admin UI - use `base_model` for Slack Alerts
This commit is contained in:
Ishaan Jaff 2024-05-17 21:55:23 -07:00 committed by GitHub
commit 8281c150f0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 33 additions and 10 deletions

View file

@ -686,11 +686,19 @@ class SlackAlerting(CustomLogger):
) )
await _cache.async_set_cache(key=message, value="SENT", ttl=2419200) await _cache.async_set_cache(key=message, value="SENT", ttl=2419200)
return return
return return
async def model_added_alert(self, model_name: str, litellm_model_name: str): async def model_added_alert(
model_info = litellm.model_cost.get(litellm_model_name, {}) self, model_name: str, litellm_model_name: str, passed_model_info: Any
):
base_model_from_user = getattr(passed_model_info, "base_model", None)
model_info = {}
base_model = ""
if base_model_from_user is not None:
model_info = litellm.model_cost.get(base_model_from_user, {})
base_model = f"Base Model: `{base_model_from_user}`\n"
else:
model_info = litellm.model_cost.get(litellm_model_name, {})
model_info_str = "" model_info_str = ""
for k, v in model_info.items(): for k, v in model_info.items():
if k == "input_cost_per_token" or k == "output_cost_per_token": if k == "input_cost_per_token" or k == "output_cost_per_token":
@ -702,6 +710,7 @@ class SlackAlerting(CustomLogger):
message = f""" message = f"""
*🚅 New Model Added* *🚅 New Model Added*
Model Name: `{model_name}` Model Name: `{model_name}`
{base_model}
Usage OpenAI Python SDK: Usage OpenAI Python SDK:
``` ```

View file

@ -8135,6 +8135,7 @@ async def add_new_model(
await proxy_logging_obj.slack_alerting_instance.model_added_alert( await proxy_logging_obj.slack_alerting_instance.model_added_alert(
model_name=model_params.model_name, model_name=model_params.model_name,
litellm_model_name=_orignal_litellm_model_name, litellm_model_name=_orignal_litellm_model_name,
passed_model_info=model_params.model_info,
) )
except: except:
pass pass

View file

@ -76,6 +76,9 @@ class ModelInfo(BaseModel):
db_model: bool = ( db_model: bool = (
False # used for proxy - to separate models which are stored in the db vs. config. False # used for proxy - to separate models which are stored in the db vs. config.
) )
base_model: Optional[str] = (
None # specify if the base model is azure/gpt-3.5-turbo etc for accurate cost tracking
)
def __init__(self, id: Optional[Union[str, int]] = None, **params): def __init__(self, id: Optional[Union[str, int]] = None, **params):
if id is None: if id is None:

View file

@ -121,6 +121,7 @@ const handleSubmit = async (formValues: Record<string, any>, accessToken: string
// Iterate through the key-value pairs in formValues // Iterate through the key-value pairs in formValues
litellmParamsObj["model"] = litellm_model litellmParamsObj["model"] = litellm_model
let modelName: string = ""; let modelName: string = "";
console.log("formValues add deployment:", formValues);
for (const [key, value] of Object.entries(formValues)) { for (const [key, value] of Object.entries(formValues)) {
if (value === '') { if (value === '') {
continue; continue;
@ -1114,13 +1115,22 @@ const handleEditSubmit = async (formValues: Record<string, any>) => {
</Form.Item> </Form.Item>
} }
{ {
selectedProvider == Providers.Azure && <Form.Item selectedProvider == Providers.Azure &&
label="Base Model"
name="base_model" <div>
> <Form.Item
<TextInput placeholder="azure/gpt-3.5-turbo"/> label="Base Model"
<Text>The actual model your azure deployment uses. Used for accurate cost tracking. Select name from <Link href="https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json" target="_blank">here</Link></Text> name="base_model"
</Form.Item> className="mb-0"
>
<TextInput placeholder="azure/gpt-3.5-turbo"/>
</Form.Item>
<Row>
<Col span={10}></Col>
<Col span={10}><Text className="mb-2">The actual model your azure deployment uses. Used for accurate cost tracking. Select name from <Link href="https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json" target="_blank">here</Link></Text></Col>
</Row>
</div>
} }
{ {
selectedProvider == Providers.Bedrock && <Form.Item selectedProvider == Providers.Bedrock && <Form.Item