mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-10 08:38:30 +00:00
added test
This commit is contained in:
@@ -7,16 +7,18 @@ from unittest.mock import patch
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from crewai import Agent, Crew, Task
|
from crewai import Agent, Crew, Task
|
||||||
|
from crewai.knowledge.source.base_knowledge_source import BaseKnowledgeSource
|
||||||
from crewai.agents.cache import CacheHandler
|
from crewai.agents.cache import CacheHandler
|
||||||
from crewai.agents.crew_agent_executor import CrewAgentExecutor
|
from crewai.agents.crew_agent_executor import CrewAgentExecutor
|
||||||
from crewai.agents.parser import AgentAction, CrewAgentParser, OutputParserException
|
from crewai.agents.parser import AgentAction, CrewAgentParser, OutputParserException
|
||||||
from crewai.knowledge.source.string_knowledge_source import StringKnowledgeSource
|
from crewai.knowledge.knowledge import Knowledge
|
||||||
from crewai.llm import LLM
|
from crewai.llm import LLM
|
||||||
from crewai.tools import tool
|
from crewai.tools import tool
|
||||||
from crewai.tools.tool_calling import InstructorToolCalling
|
from crewai.tools.tool_calling import InstructorToolCalling
|
||||||
from crewai.tools.tool_usage import ToolUsage
|
from crewai.tools.tool_usage import ToolUsage
|
||||||
from crewai.tools.tool_usage_events import ToolUsageFinished
|
from crewai.tools.tool_usage_events import ToolUsageFinished
|
||||||
from crewai.utilities import RPMController
|
from crewai.utilities import RPMController
|
||||||
|
from crewai.knowledge.source.string_knowledge_source import StringKnowledgeSource
|
||||||
from crewai.utilities.events import Emitter
|
from crewai.utilities.events import Emitter
|
||||||
|
|
||||||
|
|
||||||
@@ -1585,14 +1587,14 @@ def test_agent_with_knowledge_sources():
|
|||||||
content=content, metadata={"preference": "personal"}
|
content=content, metadata={"preference": "personal"}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
with patch(
|
||||||
with patch('crewai.knowledge.storage.knowledge_storage.KnowledgeStorage') as MockKnowledge:
|
"crewai.knowledge.storage.knowledge_storage.KnowledgeStorage"
|
||||||
|
) as MockKnowledge:
|
||||||
mock_knowledge_instance = MockKnowledge.return_value
|
mock_knowledge_instance = MockKnowledge.return_value
|
||||||
mock_knowledge_instance.sources = [string_source]
|
mock_knowledge_instance.sources = [string_source]
|
||||||
mock_knowledge_instance.query.return_value = [{
|
mock_knowledge_instance.query.return_value = [
|
||||||
"content": content,
|
{"content": content, "metadata": {"preference": "personal"}}
|
||||||
"metadata": {"preference": "personal"}
|
]
|
||||||
}]
|
|
||||||
|
|
||||||
agent = Agent(
|
agent = Agent(
|
||||||
role="Information Agent",
|
role="Information Agent",
|
||||||
@@ -1614,3 +1616,21 @@ def test_agent_with_knowledge_sources():
|
|||||||
# Assert that the agent provides the correct information
|
# Assert that the agent provides the correct information
|
||||||
assert "blue" in result.raw.lower()
|
assert "blue" in result.raw.lower()
|
||||||
|
|
||||||
|
|
||||||
|
def test_agent_with_knowledge_sources_context():
|
||||||
|
content = "Brandon's favorite color is blue and he likes Mexican food."
|
||||||
|
string_source = StringKnowledgeSource(
|
||||||
|
content=content, metadata={"preference": "personal"}
|
||||||
|
)
|
||||||
|
agent = Agent(
|
||||||
|
role="Information Agent",
|
||||||
|
goal="Provide information based on knowledge sources",
|
||||||
|
backstory="You have access to specific knowledge sources.",
|
||||||
|
llm=LLM(model="gpt-4o-mini"),
|
||||||
|
knowledge=[string_source],
|
||||||
|
)
|
||||||
|
# Test that agent is properly initialized with knowledge sources
|
||||||
|
assert isinstance(agent.knowledge, Knowledge)
|
||||||
|
assert len(agent.knowledge.sources) == 1
|
||||||
|
assert isinstance(agent.knowledge.sources[0], BaseKnowledgeSource)
|
||||||
|
assert agent.knowledge.sources[0].metadata == {"preference": "personal"}
|
||||||
|
|||||||
Reference in New Issue
Block a user