diff --git a/path/to/src/crewai/knowledge/source/base_knowledge_source.py b/path/to/src/crewai/knowledge/source/base_knowledge_source.py deleted file mode 100644 index bd83a13f2..000000000 --- a/path/to/src/crewai/knowledge/source/base_knowledge_source.py +++ /dev/null @@ -1,30 +0,0 @@ -from abc import ABC, abstractmethod -from typing import List - - -class BaseKnowledgeSource(ABC): - """Abstract base class for different types of knowledge sources.""" - - def __init__( - self, - chunk_size: int = 1000, - chunk_overlap: int = 200, - ): - self.chunk_size = chunk_size - self.chunk_overlap = chunk_overlap - self.chunks: List[str] = [] - - @abstractmethod - def load_content(self): - """Load and preprocess content from the source.""" - pass - - @abstractmethod - def add(self) -> None: - """Add content to the knowledge base, chunk it, and compute embeddings.""" - pass - - @abstractmethod - def query(self, query: str, top_k: int = 3) -> str: - """Query the knowledge base using semantic search.""" - pass diff --git a/src/crewai/agent.py b/src/crewai/agent.py index 383b731bc..d17cbbdfe 100644 --- a/src/crewai/agent.py +++ b/src/crewai/agent.py @@ -1,7 +1,7 @@ import os import shutil import subprocess -from typing import Any, List, Literal, Optional, Union, Dict +from typing import Any, List, Literal, Optional, Union from pydantic import Field, InstanceOf, PrivateAttr, model_validator @@ -9,7 +9,6 @@ from crewai.agents import CacheHandler from crewai.agents.agent_builder.base_agent import BaseAgent from crewai.agents.crew_agent_executor import CrewAgentExecutor from crewai.cli.constants import ENV_VARS -from crewai.knowledge.knowledge import Knowledge from crewai.llm import LLM from crewai.memory.contextual.contextual_memory import ContextualMemory from crewai.tools import BaseTool diff --git a/src/crewai/crew.py b/src/crewai/crew.py index 0c0e4f179..f7357e844 100644 --- a/src/crewai/crew.py +++ b/src/crewai/crew.py @@ -28,7 +28,6 @@ from crewai.memory.entity.entity_memory import EntityMemory from crewai.memory.long_term.long_term_memory import LongTermMemory from crewai.memory.short_term.short_term_memory import ShortTermMemory from crewai.knowledge.knowledge import Knowledge -from crewai.knowledge.source.base_knowledge_source import BaseKnowledgeSource from crewai.memory.user.user_memory import UserMemory from crewai.process import Process from crewai.task import Task @@ -276,7 +275,10 @@ class Crew(BaseModel): @model_validator(mode="after") def create_crew_knowledge(self) -> "Crew": if self.knowledge: - self.knowledge = Knowledge(**self.knowledge) + try: + self.knowledge = Knowledge(**self.knowledge) if isinstance(self.knowledge, dict) else self.knowledge + except (TypeError, ValueError) as e: + raise ValueError(f"Invalid knowledge configuration: {str(e)}") return self @model_validator(mode="after") diff --git a/src/crewai/knowledge/storage/knowledge_storage.py b/src/crewai/knowledge/storage/knowledge_storage.py index a998b616e..b3d5ba750 100644 --- a/src/crewai/knowledge/storage/knowledge_storage.py +++ b/src/crewai/knowledge/storage/knowledge_storage.py @@ -1,4 +1,3 @@ -import uuid import contextlib import io import logging