diff --git a/src/crewai/memory/storage/rag_storage.py b/src/crewai/memory/storage/rag_storage.py index 5270e9c02..7d3758ab7 100644 --- a/src/crewai/memory/storage/rag_storage.py +++ b/src/crewai/memory/storage/rag_storage.py @@ -47,7 +47,7 @@ class RAGStorage(Storage): 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 @@ class RAGStorage(Storage): 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)