Compare commits

...

2 Commits

Author SHA1 Message Date
Brandon Hancock
efa685ab49 Fix tests 2025-01-23 12:35:08 -05:00
Brandon Hancock
698b2e4c70 Fix litellm issues to be more broad 2025-01-23 11:57:43 -05:00
3 changed files with 8 additions and 23 deletions

View File

@@ -139,7 +139,6 @@ Now let's get you set up! 🚀
│ └── __init__.py
└── config/
├── agents.yaml
├── config.yaml
└── tasks.yaml
```
</Frame>

View File

@@ -149,33 +149,19 @@ class CrewAgentExecutor(CrewAgentExecutorMixin):
if self._is_context_length_exceeded(e):
self._handle_context_length()
continue
elif self._is_litellm_authentication_error(e):
self._handle_litellm_auth_error(e)
raise e
else:
self._printer.print(
content=f"Unhandled exception: {e}",
color="red",
)
self._handle_unknown_error(e)
raise e
finally:
self.iterations += 1
self._show_logs(formatted_answer)
return formatted_answer
def _is_litellm_authentication_error(self, exception: Exception) -> bool:
"""Check if the exception is a litellm authentication error."""
if LiteLLMAuthenticationError and isinstance(
exception, LiteLLMAuthenticationError
):
return True
return False
def _handle_litellm_auth_error(self, exception: Exception) -> None:
"""Handle litellm authentication error by informing the user and exiting."""
def _handle_unknown_error(self, exception: Exception) -> None:
"""Handle unknown errors by informing the user."""
self._printer.print(
content="Authentication error with litellm occurred. Please check your API key and configuration.",
content="An unknown error occurred. Please check the details below.",
color="red",
)
self._printer.print(

View File

@@ -1638,13 +1638,13 @@ def test_litellm_auth_error_handling():
def test_crew_agent_executor_litellm_auth_error():
"""Test that CrewAgentExecutor properly identifies and handles LiteLLM authentication errors."""
"""Test that CrewAgentExecutor handles LiteLLM authentication errors by raising them."""
from litellm import AuthenticationError as LiteLLMAuthenticationError
from crewai.agents.tools_handler import ToolsHandler
from crewai.utilities import Printer
# Create an agent and executor with max_retry_limit=0
# Create an agent and executor
agent = Agent(
role="test role",
goal="test goal",
@@ -1691,7 +1691,7 @@ def test_crew_agent_executor_litellm_auth_error():
# Verify error handling
mock_printer.assert_any_call(
content="Authentication error with litellm occurred. Please check your API key and configuration.",
content="An unknown error occurred. Please check the details below.",
color="red",
)
mock_printer.assert_any_call(