diff --git a/src/crewai/memory/storage/rag_storage.py b/src/crewai/memory/storage/rag_storage.py index 5270e9c026..7d3758ab74 100644 --- a/src/crewai/memory/storage/rag_storage.py +++ b/src/crewai/memory/storage/rag_storage.py @@ -47,7 +47,7 @@ def __init__(self, type, allow_reset=True, embedder_config=None, crew=None): os.environ["OPENAI_API_KEY"] = "fake" agents = crew.agents if crew else [] - agents = [agent.role for agent in agents] + agents = [self._sanitize_role(agent.role) for agent in agents] agents = "_".join(agents) config = { @@ -77,6 +77,12 @@ def __init__(self, type, allow_reset=True, embedder_config=None, crew=None): self.app.llm = FakeLLM() if allow_reset: self.app.reset() + + def _sanitize_role(self, role: str) -> str: + """ + Sanitizes agent roles to ensure valid directory names. + """ + return role.replace('\n', '').replace(' ', '_').replace('/', '_') def save(self, value: Any, metadata: Dict[str, Any]) -> None: self._generate_embedding(value, metadata)