Hey, hope u are going well! I’m trying implement a simple memory system for a
a project, but I’m getting a error (look below) so I create a simple project to install again all dependencies, use a simple code to validade and test, but have the same issue…
Full traceback is in the bottom of post
Error:
File “C:\Users\user_name\PycharmProjects\CrewAi\memory_test.venv\Lib\site-packages\crewai\memory\contextual\contextual_memory.py”, line 97, in _fetch_user_context
user_memories = self.um.search(query)
^^^^^^^^^^^^^^
AttributeError: ‘NoneType’ object has no attribute ‘search’ "
At last I create a new project very simple (code below), to just try test the implementation, but I think can be some mistake by my side… Let me know if you have the answer, or anything who can guide me to this
Code
from crewai import Agent, Task, LLM
from crewai import Crew, Process
from crewai.project import CrewBase, agent, crew, task,before_kickoff
from dotenv import load_dotenv
import os
load_dotenv()
model = os.getenv("OPENAI_MODEL")
api_key = os.getenv("OPENAI_API_KEY")
base_url = os.getenv("OPENAI_BASE_URL_LINK")
filepath = ""
# Configurar logger customizado
llm = LLM(
model=model,
temperature=0.5,
timeout=240,
max_tokens=10000,
top_p=0.9,
frequency_penalty=0.1,
presence_penalty=0.1,
seed=42,
base_url=base_url,
api_key=api_key
)
@CrewBase
class MemoryCrew:
"""Query Crew"""
agents_config = "config/agents.yaml"
tasks_config = "config/tasks.yaml"
@before_kickoff
def prepare_inputs(self, inputs):
global filepath
return inputs
@agent
def find_agent(self) -> Agent:
return Agent(
config=self.agents_config["find_agent"],
llm=llm,
)
@task
def find_task(self) -> Task:
return Task(
config=self.tasks_config["find_task"],
)
@crew
def crew(self) -> Crew:
"""Creates the Research Crew"""
return Crew(
agents=self.agents,
tasks=self.tasks,
process=Process.sequential,
verbose=True,
memory=True,
memory_config={
"provider": "mem0",
"config": {"user_id": "dummy_user_id",},
},
)
result = (
MemoryCrew()
.crew()
.kickoff(inputs={"prompt": "What is my interests ? "}))
print(result.raw)
Full traceback :
Traceback (most recent call last):
File “C:\Users\user_name\PycharmProjects\CrewAi\memory_test\memory_crew\home.py”, line 77, in
.kickoff(inputs={“prompt”: "What is my interests ? "}))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\user_name\PycharmProjects\CrewAi\memory_test.venv\Lib\site-packages\crewai\crew.py”, line 640, in kickoff
result = self._run_sequential_process()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\user_name\PycharmProjects\CrewAi\memory_test.venv\Lib\site-packages\crewai\crew.py”, line 752, in _run_sequential_process
return self._execute_tasks(self.tasks)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\user_name\PycharmProjects\CrewAi\memory_test.venv\Lib\site-packages\crewai\crew.py”, line 850, in _execute_tasks
task_output = task.execute_sync(
^^^^^^^^^^^^^^^^^^
File “C:\Users\user_name\PycharmProjects\CrewAi\memory_test.venv\Lib\site-packages\crewai\task.py”, line 310, in execute_sync
return self._execute_core(agent, context, tools)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\user_name\PycharmProjects\CrewAi\memory_test.venv\Lib\site-packages\crewai\task.py”, line 454, in _execute_core
raise e # Re-raise the exception after emitting the event
^^^^^^^
File “C:\Users\user_name\PycharmProjects\CrewAi\memory_test.venv\Lib\site-packages\crewai\task.py”, line 374, in _execute_core
result = agent.execute_task(
^^^^^^^^^^^^^^^^^^^
File “C:\Users\user_name\PycharmProjects\CrewAi\memory_test.venv\Lib\site-packages\crewai\agent.py”, line 209, in execute_task
memory = contextual_memory.build_context_for_task(task, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\user_name\PycharmProjects\CrewAi\memory_test.venv\Lib\site-packages\crewai\memory\contextual\contextual_memory.py”, line 39, in build_context_for_task
context.append(self._fetch_user_context(query))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\user_name\PycharmProjects\CrewAi\memory_test.venv\Lib\site-packages\crewai\memory\contextual\contextual_memory.py”, line 97, in _fetch_user_context
user_memories = self.um.search(query)
^^^^^^^^^^^^^^
AttributeError: ‘NoneType’ object has no attribute ‘search’