From adaf341f546787dee8e3bd085f29c58b02983e18 Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Thu, 14 Dec 2023 18:20:56 -0800 Subject: [PATCH] fix(proxy_server.py): allow post-call rules to be passed in as a file --- litellm/proxy/_experimental/post_call_rules.py | 4 ++++ litellm/proxy/proxy_server.py | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 litellm/proxy/_experimental/post_call_rules.py diff --git a/litellm/proxy/_experimental/post_call_rules.py b/litellm/proxy/_experimental/post_call_rules.py new file mode 100644 index 00000000000..12caa55131c --- /dev/null +++ b/litellm/proxy/_experimental/post_call_rules.py @@ -0,0 +1,4 @@ +def my_custom_rule(input): # receives the model response + # if len(input) < 5: # trigger fallback if the model response is too short + return False + return True \ No newline at end of file diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index 177edb43f9c..6b7cd0e2f1b 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -513,6 +513,9 @@ def load_router_config(router: Optional[litellm.Router], config_file_path: str): elif key == "callbacks": litellm.callbacks = [get_instance_fn(value=value, config_file_path=config_file_path)] print_verbose(f"{blue_color_code} Initialized Callbacks - {litellm.callbacks} {reset_color_code}") + elif key == "post_call_rules": + litellm.post_call_rules = [get_instance_fn(value=value, config_file_path=config_file_path)] + print(f"litellm.post_call_rules: {litellm.post_call_rules}") elif key == "success_callback": litellm.success_callback = [] @@ -1065,7 +1068,7 @@ async def embeddings(request: Request, user_api_key_dict: UserAPIKeyAuth = Depen if data.get("user", None) is None and user_api_key_dict.user_id is not None: data["user"] = user_api_key_dict.user_id - + data["model"] = ( general_settings.get("embedding_model", None) # server default or user_model # model name passed via cli args