Files
crewAI/src/crewai/knowledge/knowledge_config.py
Devin AI 4f72839fea Fix #5805: Add metadata_filter support to Knowledge querying pipeline
- Add KnowledgeConfig class with results_limit, score_threshold, metadata_filter
- Add knowledge_config field to Agent
- Update Knowledge.query() to forward filter and score_threshold to storage
- Update Crew.query_knowledge() to accept and forward filter params
- Fix BaseKnowledgeSource._save_documents() to pass self.metadata to storage
- Wire Agent.execute_task() to use knowledge_config for both agent and crew queries
- Add 10 tests covering all changes

Co-Authored-By: João <joao@crewai.com>
2026-05-14 08:16:13 +00:00

27 lines
844 B
Python

from typing import Any, Dict, Optional
from pydantic import BaseModel, Field
class KnowledgeConfig(BaseModel):
"""Configuration for knowledge querying behavior.
Attributes:
results_limit: Maximum number of results to return from a knowledge query.
score_threshold: Minimum relevance score for results.
metadata_filter: Metadata filter dict passed to the vector store query.
"""
results_limit: int = Field(
default=3,
description="Maximum number of results to return from a knowledge query.",
)
score_threshold: float = Field(
default=0.35,
description="Minimum relevance score for results.",
)
metadata_filter: Optional[Dict[str, Any]] = Field(
default=None,
description="Metadata filter dict passed to the vector store query.",
)