mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-05-01 07:13:00 +00:00
fix: Agent-level knowledge sources with non-OpenAI embedders
- Remove OpenAI default from KnowledgeStorage - Add proper embedder config inheritance from crew to agent - Improve error messaging for missing embedder config - Add tests for agent-level knowledge sources Fixes #2164 Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
@@ -115,7 +115,7 @@ class Agent(BaseAgent):
|
||||
default="safe",
|
||||
description="Mode for code execution: 'safe' (using Docker) or 'unsafe' (direct execution).",
|
||||
)
|
||||
embedder: Optional[Dict[str, Any]] = Field(
|
||||
embedder_config: Optional[Dict[str, Any]] = Field(
|
||||
default=None,
|
||||
description="Embedder configuration for the agent.",
|
||||
)
|
||||
@@ -150,9 +150,14 @@ class Agent(BaseAgent):
|
||||
if isinstance(self.knowledge_sources, list) and all(
|
||||
isinstance(k, BaseKnowledgeSource) for k in self.knowledge_sources
|
||||
):
|
||||
# Use agent's embedder config if provided, otherwise use crew's
|
||||
embedder_config = self.embedder_config
|
||||
if not embedder_config and self.crew:
|
||||
embedder_config = self.crew.embedder_config
|
||||
|
||||
self.knowledge = Knowledge(
|
||||
sources=self.knowledge_sources,
|
||||
embedder=self.embedder,
|
||||
embedder_config=embedder_config,
|
||||
collection_name=knowledge_agent_name,
|
||||
storage=self.knowledge_storage or None,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user