fix: apply source_type resolver to Crew/Agent knowledge_sources

This commit is contained in:
Greyson LaLonde
2026-05-21 02:55:50 +08:00
parent 0d5c2c81e0
commit c6643d4071
2 changed files with 10 additions and 4 deletions

View File

@@ -31,7 +31,7 @@ from crewai.agents.tools_handler import ToolsHandler
from crewai.events.base_events import set_emission_counter
from crewai.events.event_bus import crewai_event_bus
from crewai.events.event_context import restore_event_scope, set_last_event_id
from crewai.knowledge.knowledge import Knowledge
from crewai.knowledge.knowledge import Knowledge, _resolve_knowledge_sources
from crewai.knowledge.knowledge_config import KnowledgeConfig
from crewai.knowledge.source.base_knowledge_source import BaseKnowledgeSource
from crewai.knowledge.storage.base_knowledge_storage import BaseKnowledgeStorage
@@ -294,7 +294,10 @@ class BaseAgent(BaseModel, ABC, metaclass=AgentMeta):
knowledge: Knowledge | None = Field(
default=None, description="Knowledge for the agent."
)
knowledge_sources: list[BaseKnowledgeSource] | None = Field(
knowledge_sources: Annotated[
list[BaseKnowledgeSource] | None,
BeforeValidator(_resolve_knowledge_sources),
] = Field(
default=None,
description="Knowledge sources for the agent.",
)

View File

@@ -93,7 +93,7 @@ from crewai.events.types.crew_events import (
CrewTrainStartedEvent,
)
from crewai.flow.flow_trackable import FlowTrackable
from crewai.knowledge.knowledge import Knowledge
from crewai.knowledge.knowledge import Knowledge, _resolve_knowledge_sources
from crewai.knowledge.source.base_knowledge_source import BaseKnowledgeSource
from crewai.llm import LLM
from crewai.llms.base_llm import BaseLLM
@@ -329,7 +329,10 @@ class Crew(FlowTrackable, BaseModel):
default_factory=list,
description="list of execution logs for tasks",
)
knowledge_sources: list[BaseKnowledgeSource] | None = Field(
knowledge_sources: Annotated[
list[BaseKnowledgeSource] | None,
BeforeValidator(_resolve_knowledge_sources),
] = Field(
default=None,
description=(
"Knowledge sources for the crew. Add knowledge sources to the "