agAdvisor / config /settings.py
tirtho149's picture
Deploy AgAdvisor
b30f068 verified
Raw
History Blame Contribute Delete
2.07 kB
"""
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 settings
project_name: str = "Agentic AI System"
version: str = "0.1.0"
debug: bool = False
# API settings
api_timeout: int = 30
api_max_retries: int = 3
api_backoff_factor: float = 1.0
# CDMS API settings
cdms_api_url: Optional[str] = None
cdms_api_key: Optional[str] = None
cdms_timeout: int = 60
# Query processing settings
max_keywords: int = 10
similarity_threshold: float = 0.7
fuzzy_match_threshold: int = 80
# spaCy settings
spacy_model: str = "en_core_web_sm"
# KeyBERT settings
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
# Vector database settings
qdrant_host: str = "localhost"
qdrant_port: int = 6333
qdrant_collection_name: str = "api_embeddings"
qdrant_vector_size: int = 1536 # OpenAI text-embedding-3-small (was stale 384)
# Logging settings
log_level: str = "INFO"
log_format: str = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
log_file: Optional[str] = "logs/agentic_ai.log"
# Reflection settings
reflection_max_iterations: int = 3
reflection_improvement_threshold: float = 0.1
class Config:
env_file = ".env"
env_file_encoding = "utf-8"
# Ignore unrelated env vars (OPENAI_API_KEY, TAVILY_API_KEY, HF/Space
# secrets, etc.) instead of raising. Without this, simply having those
# env vars set — as on any HF Space — crashes settings construction.
extra = "ignore"
# Global settings instance
settings = AgenticAISettings()