@@ -1411,6 +1411,9 @@ class RateLimitError(Exception):
14111411 (Exception ("model gpt-4o is not authorized for this account" ), "model_not_found" , "model_access_denied" ),
14121412 (Exception ("litellm.APIError: APIError: OpenAIException - Model disabled." ), "model_not_found" , "model_access_denied" ),
14131413 (Exception ("Model is disabled for this account" ), "model_not_found" , "model_access_denied" ),
1414+ (Exception ("litellm.APIError: APIError: OpenAIException - Your request was blocked." ), "request_blocked" , "provider_blocked" ),
1415+ (Exception ("request was blocked by policy" ), "request_blocked" , "provider_blocked" ),
1416+ (Exception ("moderation_blocked" ), "request_blocked" , "provider_blocked" ),
14141417 (Exception ("LLM Provider NOT provided for model foo" ), "model_not_found" , "provider_prefix_mismatch" ),
14151418 ]
14161419
@@ -1496,6 +1499,8 @@ def test_discover_llm_channel_models_classifies_error_scenarios(self, mock_get)
14961499 quota_exceeded_response .json .return_value = {"error" : {"message" : "insufficient_quota" }}
14971500 rate_limit_response = Mock (ok = False , status_code = 429 , text = "too many requests" )
14981501 rate_limit_response .json .return_value = {"error" : {"message" : "too many requests" }}
1502+ blocked_response = Mock (ok = False , status_code = 403 , text = "Your request was blocked." )
1503+ blocked_response .json .return_value = {"error" : {"message" : "Your request was blocked." }}
14991504 invalid_json_response = Mock (ok = True , status_code = 200 , text = "<html>bad gateway</html>" )
15001505 invalid_json_response .json .side_effect = ValueError ("invalid json" )
15011506
@@ -1506,6 +1511,7 @@ def test_discover_llm_channel_models_classifies_error_scenarios(self, mock_get)
15061511 (billing_rate_limit_response , "quota" , "model_discovery" , True , "insufficient_balance" ),
15071512 (quota_exceeded_response , "quota" , "model_discovery" , True , "quota_exceeded" ),
15081513 (rate_limit_response , "quota" , "model_discovery" , True , "rate_limit" ),
1514+ (blocked_response , "request_blocked" , "model_discovery" , False , "provider_blocked" ),
15091515 (invalid_json_response , "format_error" , "response_parse" , False , "non_json" ),
15101516 ]:
15111517 with self .subTest (error_code = error_code ):
0 commit comments