| """
|
| Configuration settings for the Agentic AI system.
|
| """
|
|
|
| from typing import Dict, List, Optional
|
| from pydantic_settings import BaseSettings
|
| from pydantic import Field
|
| from pathlib import Path
|
|
|
|
|
| class AgenticAISettings(BaseSettings):
|
| """Main configuration settings."""
|
|
|
|
|
| project_name: str = "Agentic AI System"
|
| version: str = "0.1.0"
|
| debug: bool = False
|
|
|
|
|
| api_timeout: int = 30
|
| api_max_retries: int = 3
|
| api_backoff_factor: float = 1.0
|
|
|
|
|
| cdms_api_url: Optional[str] = None
|
| cdms_api_key: Optional[str] = None
|
| cdms_timeout: int = 60
|
|
|
|
|
| max_keywords: int = 10
|
| similarity_threshold: float = 0.7
|
| fuzzy_match_threshold: int = 80
|
|
|
|
|
| spacy_model: str = "en_core_web_sm"
|
|
|
|
|
| keybert_model: str = "all-MiniLM-L6-v2"
|
| keybert_top_k: int = 10
|
| keybert_use_maxsum: bool = True
|
| keybert_use_mmr: bool = True
|
| keybert_diversity: float = 0.5
|
|
|
|
|
| qdrant_host: str = "localhost"
|
| qdrant_port: int = 6333
|
| qdrant_collection_name: str = "api_embeddings"
|
| qdrant_vector_size: int = 1536
|
|
|
|
|
| log_level: str = "INFO"
|
| log_format: str = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
| log_file: Optional[str] = "logs/agentic_ai.log"
|
|
|
|
|
| reflection_max_iterations: int = 3
|
| reflection_improvement_threshold: float = 0.1
|
|
|
| class Config:
|
| env_file = ".env"
|
| env_file_encoding = "utf-8"
|
|
|
|
|
|
|
| extra = "ignore"
|
|
|
|
|
|
|
| settings = AgenticAISettings()
|
|
|