fix: Initialize storage in StringKnowledgeSource

- Add storage initialization in model_post_init
- Add test coverage for StringKnowledgeSource
- Fixes #2150

Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
Devin AI
2025-02-17 08:16:19 +00:00
parent 1b488b6da7
commit 1d3fb97eba
2 changed files with 30 additions and 1 deletions

View File

@@ -12,8 +12,12 @@ class StringKnowledgeSource(BaseKnowledgeSource):
collection_name: Optional[str] = Field(default=None)
def model_post_init(self, _):
"""Post-initialization method to validate content."""
"""Post-initialization method to validate content and initialize storage."""
self.validate_content()
if self.storage is None:
from crewai.knowledge.storage.knowledge_storage import KnowledgeStorage
self.storage = KnowledgeStorage(collection_name=self.collection_name)
self.storage.initialize_knowledge_storage()
def validate_content(self):
"""Validate string content."""