""" Configurações centralizadas do aplicativo """ import os from dotenv import load_dotenv load_dotenv() # Configurações de banco de dados DATABASE_URL = os.environ.get( "DATABASE_URL", "postgresql://postgres:postgres@localhost:5433/ragdb" ) # Configurações de LLM LLM_PROVIDER = os.environ.get("LLM_PROVIDER", "huggingface") # Hugging Face HF_TOKEN = os.environ.get("HF_TOKEN", "") HF_MODEL_ID = os.environ.get("HF_MODEL_ID", "mistralai/Mistral-7B-Instruct-v0.2") # OpenAI OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY", "") OPENAI_MODEL_ID = os.environ.get("OPENAI_MODEL_ID", "gpt-3.5-turbo") # Anthropic ANTHROPIC_API_KEY = os.environ.get("ANTHROPIC_API_KEY", "") ANTHROPIC_MODEL_ID = os.environ.get("ANTHROPIC_MODEL_ID", "claude-3-haiku-20240307") # Ollama OLLAMA_BASE_URL = os.environ.get("OLLAMA_BASE_URL", "http://localhost:11434") OLLAMA_MODEL_ID = os.environ.get("OLLAMA_MODEL_ID", "llama2") # Configurações de embeddings EMBEDDING_MODEL_ID = os.environ.get( "EMBEDDING_MODEL_ID", "sentence-transformers/all-MiniLM-L6-v2" ) EMBEDDING_DIM = int(os.environ.get("EMBEDDING_DIM", "384")) # Configurações de retrieval TOP_K = int(os.environ.get("TOP_K", "4")) IVFFLAT_LISTS = int(os.environ.get("IVFFLAT_LISTS", "100")) # Configurações de chunking DEFAULT_CHUNK_SIZE = int(os.environ.get("CHUNK_SIZE", "1000")) CHUNK_OVERLAP = int(os.environ.get("CHUNK_OVERLAP", "200")) # Configurações de geração DEFAULT_TEMPERATURE = float(os.environ.get("TEMPERATURE", "0.3")) DEFAULT_MAX_TOKENS = int(os.environ.get("MAX_TOKENS", "512")) # Configurações da aplicação APP_PORT = int(os.environ.get("PORT", "7860")) # Reranking RERANKER_MODEL_ID = os.environ.get( "RERANKER_MODEL_ID", "cross-encoder/ms-marco-MiniLM-L-6-v2" ) USE_RERANKING = os.environ.get("USE_RERANKING", "true").lower() == "true" RERANKING_TOP_K = int(os.environ.get("RERANKING_TOP_K", "4"))