(feat) proxy - custom on failure callback

This commit is contained in:
ishaan-jaff 2023-12-06 14:43:45 -08:00
parent b3f039627e
commit 44bf51601a
3 changed files with 14 additions and 2 deletions

View file

@ -88,7 +88,6 @@ async def async_on_succes_logger(kwargs, response_obj, start_time, end_time):
async def async_on_fail_logger(kwargs, response_obj, start_time, end_time): async def async_on_fail_logger(kwargs, response_obj, start_time, end_time):
print(f"On Async Failure!") print(f"On Async Failure!")
print(kwargs)
# Access kwargs passed to litellm.completion() # Access kwargs passed to litellm.completion()
model = kwargs.get("model", None) model = kwargs.get("model", None)

View file

@ -45,8 +45,9 @@ litellm_settings:
# setting callback class # setting callback class
# callbacks: custom_callbacks.proxy_handler_instance # sets litellm.callbacks = [proxy_handler_instance] # callbacks: custom_callbacks.proxy_handler_instance # sets litellm.callbacks = [proxy_handler_instance]
# setting a callback function # setting a callback function for success and failure
success_callback: [custom_callbacks.async_on_succes_logger] success_callback: [custom_callbacks.async_on_succes_logger]
failure_callback: [custom_callbacks.async_on_fail_logger]
general_settings: general_settings:
# otel: True # OpenTelemetry Logger # otel: True # OpenTelemetry Logger

View file

@ -510,6 +510,18 @@ def load_router_config(router: Optional[litellm.Router], config_file_path: str):
else: else:
litellm.success_callback.append(callback) litellm.success_callback.append(callback)
print_verbose(f"{blue_color_code} Initialized Success Callbacks - {litellm.success_callback} {reset_color_code}") print_verbose(f"{blue_color_code} Initialized Success Callbacks - {litellm.success_callback} {reset_color_code}")
elif key == "failure_callback":
litellm.failure_callback = []
# intialize success callbacks
for callback in value:
# user passed custom_callbacks.async_on_succes_logger. They need us to import a function
if "." in callback:
litellm.failure_callback.append(get_instance_fn(value=callback))
# these are litellm callbacks - "langfuse", "sentry", "wandb"
else:
litellm.failure_callback.append(callback)
print_verbose(f"{blue_color_code} Initialized Success Callbacks - {litellm.failure_callback} {reset_color_code}")
else: else:
setattr(litellm, key, value) setattr(litellm, key, value)