fix: Respect use_system_prompt in Converter regeneration

Fixes #2571

Co-authored-by: Devin AI <devin-ai-integration[bot]@users.noreply.github.com>

Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
Devin AI
2025-04-10 15:49:25 +00:00
parent c9f47e6a37
commit 44abceffaa
49 changed files with 599 additions and 2464 deletions

View File

@@ -29,13 +29,14 @@ def mock_knowledge_source():
"""
return StringKnowledgeSource(content=content)
@patch('crewai.knowledge.storage.knowledge_storage.chromadb')
@patch("crewai.knowledge.storage.knowledge_storage.chromadb")
def test_knowledge_included_in_planning(mock_chroma):
"""Test that verifies knowledge sources are properly included in planning."""
# Mock ChromaDB collection
mock_collection = mock_chroma.return_value.get_or_create_collection.return_value
mock_collection.add.return_value = None
# Create an agent with knowledge
agent = Agent(
role="AI Researcher",
@@ -45,14 +46,14 @@ def test_knowledge_included_in_planning(mock_chroma):
StringKnowledgeSource(
content="AI systems require careful training and validation."
)
]
],
)
# Create a task for the agent
task = Task(
description="Explain the basics of AI systems",
expected_output="A clear explanation of AI fundamentals",
agent=agent
agent=agent,
)
# Create a crew planner
@@ -62,23 +63,29 @@ def test_knowledge_included_in_planning(mock_chroma):
task_summary = planner._create_tasks_summary()
# Verify that knowledge is included in planning when present
assert "AI systems require careful training" in task_summary, \
"Knowledge content should be present in task summary when knowledge exists"
assert '"agent_knowledge"' in task_summary, \
"agent_knowledge field should be present in task summary when knowledge exists"
assert (
"AI systems require careful training" in task_summary
), "Knowledge content should be present in task summary when knowledge exists"
assert (
'"agent_knowledge"' in task_summary
), "agent_knowledge field should be present in task summary when knowledge exists"
# Verify that knowledge is properly formatted
assert isinstance(task.agent.knowledge_sources, list), \
"Knowledge sources should be stored in a list"
assert len(task.agent.knowledge_sources) > 0, \
"At least one knowledge source should be present"
assert task.agent.knowledge_sources[0].content in task_summary, \
"Knowledge source content should be included in task summary"
assert isinstance(
task.agent.knowledge_sources, list
), "Knowledge sources should be stored in a list"
assert (
len(task.agent.knowledge_sources) > 0
), "At least one knowledge source should be present"
assert (
task.agent.knowledge_sources[0].content in task_summary
), "Knowledge source content should be included in task summary"
# Verify that other expected components are still present
assert task.description in task_summary, \
"Task description should be present in task summary"
assert task.expected_output in task_summary, \
"Expected output should be present in task summary"
assert agent.role in task_summary, \
"Agent role should be present in task summary"
assert (
task.description in task_summary
), "Task description should be present in task summary"
assert (
task.expected_output in task_summary
), "Expected output should be present in task summary"
assert agent.role in task_summary, "Agent role should be present in task summary"