mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-07 15:18:29 +00:00
46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
import pytest
|
|
|
|
from crewai.agent import Agent
|
|
from crewai.crew import Crew
|
|
from crewai.memory.short_term.short_term_memory import ShortTermMemory
|
|
from crewai.memory.short_term.short_term_memory_item import ShortTermMemoryItem
|
|
from crewai.task import Task
|
|
|
|
|
|
@pytest.fixture
|
|
def short_term_memory():
|
|
"""Fixture to create a ShortTermMemory instance"""
|
|
agent = Agent(
|
|
role="Researcher",
|
|
goal="Search relevant data and provide results",
|
|
backstory="You are a researcher at a leading tech think tank.",
|
|
tools=[],
|
|
verbose=True,
|
|
)
|
|
|
|
task = Task(
|
|
description="Perform a search on specific topics.",
|
|
expected_output="A list of relevant URLs based on the search query.",
|
|
agent=agent,
|
|
)
|
|
return ShortTermMemory(crew=Crew(
|
|
agents=[agent],
|
|
tasks=[task]
|
|
))
|
|
|
|
|
|
@pytest.mark.vcr(filter_headers=["authorization"])
|
|
def test_save_and_search(short_term_memory):
|
|
memory = ShortTermMemoryItem(
|
|
data="""test value test value test value test value test value test value
|
|
test value test value test value test value test value test value
|
|
test value test value test value test value test value test value""",
|
|
agent="test_agent",
|
|
metadata={"task": "test_task"},
|
|
)
|
|
short_term_memory.save(memory)
|
|
|
|
find = short_term_memory.search("test value", score_threshold=0.01)[0]
|
|
assert find["context"] == memory.data, "Data value mismatch."
|
|
assert find["metadata"]["agent"] == "test_agent", "Agent value mismatch."
|