mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-09 08:08:32 +00:00
Brandon/eng 290 make tool inputs actual objects and not strings (#1868)
* Improving tool calling to pass dictionaries instead of strings * Fix issues with parsing none/null * remove prints and unnecessary comments * Fix crew_test issues with function calling * improve prompting * add back in support for add_image * add tests for tool validation * revert back to figure out why tests are timing out * Update cassette * trying to find what is timing out * add back in guardrails * add back in manager delegation tests * Trying to fix tests * Force test to pass * Trying to fix tests * add in more role tests * add back old tool validation * updating tests * vcr * Fix tests * improve function llm logic * vcr 2 * drop llm * Failing test * add more tests back in * Revert tool validation
This commit is contained in:
committed by
GitHub
parent
be8e33daf6
commit
b8d07fee83
@@ -1464,39 +1464,35 @@ def test_dont_set_agents_step_callback_if_already_set():
|
||||
|
||||
@pytest.mark.vcr(filter_headers=["authorization"])
|
||||
def test_crew_function_calling_llm():
|
||||
from unittest.mock import patch
|
||||
|
||||
from crewai import LLM
|
||||
from crewai.tools import tool
|
||||
|
||||
llm = "gpt-4o"
|
||||
llm = LLM(model="gpt-4o-mini")
|
||||
|
||||
@tool
|
||||
def learn_about_AI() -> str:
|
||||
"""Useful for when you need to learn about AI to write an paragraph about it."""
|
||||
return "AI is a very broad field."
|
||||
def look_up_greeting() -> str:
|
||||
"""Tool used to retrieve a greeting."""
|
||||
return "Howdy!"
|
||||
|
||||
agent1 = Agent(
|
||||
role="test role",
|
||||
goal="test goal",
|
||||
backstory="test backstory",
|
||||
tools=[learn_about_AI],
|
||||
role="Greeter",
|
||||
goal="Say hello.",
|
||||
backstory="You are a friendly greeter.",
|
||||
tools=[look_up_greeting],
|
||||
llm="gpt-4o-mini",
|
||||
function_calling_llm=llm,
|
||||
)
|
||||
|
||||
essay = Task(
|
||||
description="Write and then review an small paragraph on AI until it's AMAZING",
|
||||
expected_output="The final paragraph.",
|
||||
description="Look up the greeting and say it.",
|
||||
expected_output="A greeting.",
|
||||
agent=agent1,
|
||||
)
|
||||
tasks = [essay]
|
||||
crew = Crew(agents=[agent1], tasks=tasks)
|
||||
|
||||
with patch.object(
|
||||
instructor, "from_litellm", wraps=instructor.from_litellm
|
||||
) as mock_from_litellm:
|
||||
crew.kickoff()
|
||||
mock_from_litellm.assert_called()
|
||||
crew = Crew(agents=[agent1], tasks=[essay])
|
||||
result = crew.kickoff()
|
||||
assert result.raw == "Howdy!"
|
||||
|
||||
|
||||
@pytest.mark.vcr(filter_headers=["authorization"])
|
||||
|
||||
Reference in New Issue
Block a user