forked from phoenix/litellm-mirror
fix rename file
This commit is contained in:
parent
97b846cb08
commit
ca2f0680df
1 changed files with 0 additions and 87 deletions
|
@ -1,87 +0,0 @@
|
||||||
"""
|
|
||||||
Runs when LLM Exceptions occur on LiteLLM Proxy
|
|
||||||
"""
|
|
||||||
|
|
||||||
import copy
|
|
||||||
import json
|
|
||||||
import uuid
|
|
||||||
|
|
||||||
import litellm
|
|
||||||
from litellm.proxy._types import LiteLLM_ErrorLogs
|
|
||||||
|
|
||||||
|
|
||||||
async def _PROXY_failure_handler(
|
|
||||||
kwargs, # kwargs to completion
|
|
||||||
completion_response: litellm.ModelResponse, # response from completion
|
|
||||||
start_time=None,
|
|
||||||
end_time=None, # start/end time for completion
|
|
||||||
):
|
|
||||||
"""
|
|
||||||
Async Failure Handler - runs when LLM Exceptions occur on LiteLLM Proxy.
|
|
||||||
This function logs the errors to the Prisma DB
|
|
||||||
|
|
||||||
Can be disabled by setting the following on proxy_config.yaml:
|
|
||||||
```yaml
|
|
||||||
general_settings:
|
|
||||||
disable_error_logs: True
|
|
||||||
```
|
|
||||||
|
|
||||||
"""
|
|
||||||
from litellm._logging import verbose_proxy_logger
|
|
||||||
from litellm.proxy.proxy_server import general_settings, prisma_client
|
|
||||||
|
|
||||||
if general_settings.get("disable_error_logs") is True:
|
|
||||||
return
|
|
||||||
|
|
||||||
if prisma_client is not None:
|
|
||||||
verbose_proxy_logger.debug(
|
|
||||||
"inside _PROXY_failure_handler kwargs=", extra=kwargs
|
|
||||||
)
|
|
||||||
|
|
||||||
_exception = kwargs.get("exception")
|
|
||||||
_exception_type = _exception.__class__.__name__
|
|
||||||
_model = kwargs.get("model", None)
|
|
||||||
|
|
||||||
_optional_params = kwargs.get("optional_params", {})
|
|
||||||
_optional_params = copy.deepcopy(_optional_params)
|
|
||||||
|
|
||||||
for k, v in _optional_params.items():
|
|
||||||
v = str(v)
|
|
||||||
v = v[:100]
|
|
||||||
|
|
||||||
_status_code = "500"
|
|
||||||
try:
|
|
||||||
_status_code = str(_exception.status_code)
|
|
||||||
except Exception:
|
|
||||||
# Don't let this fail logging the exception to the dB
|
|
||||||
pass
|
|
||||||
|
|
||||||
_litellm_params = kwargs.get("litellm_params", {}) or {}
|
|
||||||
_metadata = _litellm_params.get("metadata", {}) or {}
|
|
||||||
_model_id = _metadata.get("model_info", {}).get("id", "")
|
|
||||||
_model_group = _metadata.get("model_group", "")
|
|
||||||
api_base = litellm.get_api_base(model=_model, optional_params=_litellm_params)
|
|
||||||
_exception_string = str(_exception)
|
|
||||||
|
|
||||||
error_log = LiteLLM_ErrorLogs(
|
|
||||||
request_id=str(uuid.uuid4()),
|
|
||||||
model_group=_model_group,
|
|
||||||
model_id=_model_id,
|
|
||||||
litellm_model_name=kwargs.get("model"),
|
|
||||||
request_kwargs=_optional_params,
|
|
||||||
api_base=api_base,
|
|
||||||
exception_type=_exception_type,
|
|
||||||
status_code=_status_code,
|
|
||||||
exception_string=_exception_string,
|
|
||||||
startTime=kwargs.get("start_time"),
|
|
||||||
endTime=kwargs.get("end_time"),
|
|
||||||
)
|
|
||||||
|
|
||||||
error_log_dict = error_log.model_dump()
|
|
||||||
error_log_dict["request_kwargs"] = json.dumps(error_log_dict["request_kwargs"])
|
|
||||||
|
|
||||||
await prisma_client.db.litellm_errorlogs.create(
|
|
||||||
data=error_log_dict # type: ignore
|
|
||||||
)
|
|
||||||
|
|
||||||
pass
|
|
Loading…
Add table
Add a link
Reference in a new issue