.
This commit is contained in:
53
src/capa_de_integracion/config.py
Normal file
53
src/capa_de_integracion/config.py
Normal file
@@ -0,0 +1,53 @@
|
||||
from pathlib import Path
|
||||
from pydantic import Field
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
"""Application configuration from environment variables."""
|
||||
|
||||
model_config = SettingsConfigDict(env_file=".env")
|
||||
|
||||
# GCP General
|
||||
gcp_project_id: str
|
||||
gcp_location: str
|
||||
|
||||
# RAG
|
||||
rag_endpoint_url: str
|
||||
|
||||
# Firestore
|
||||
firestore_database_id: str = Field(..., alias="GCP_FIRESTORE_DATABASE_ID")
|
||||
firestore_host: str = Field(
|
||||
default="firestore.googleapis.com", alias="GCP_FIRESTORE_HOST"
|
||||
)
|
||||
firestore_port: int = Field(default=443, alias="GCP_FIRESTORE_PORT")
|
||||
firestore_importer_enabled: bool = Field(
|
||||
default=False, alias="GCP_FIRESTORE_IMPORTER_ENABLE"
|
||||
)
|
||||
|
||||
# Redis
|
||||
redis_host: str
|
||||
redis_port: int
|
||||
redis_pwd: str | None = None
|
||||
|
||||
# DLP
|
||||
dlp_template_complete_flow: str
|
||||
|
||||
# Conversation Context
|
||||
conversation_context_message_limit: int = Field(
|
||||
default=60, alias="CONVERSATION_CONTEXT_MESSAGE_LIMIT"
|
||||
)
|
||||
conversation_context_days_limit: int = Field(
|
||||
default=30, alias="CONVERSATION_CONTEXT_DAYS_LIMIT"
|
||||
)
|
||||
|
||||
# Logging
|
||||
log_level: str = Field(default="INFO", alias="LOGGING_LEVEL_ROOT")
|
||||
|
||||
@property
|
||||
def base_path(self) -> Path:
|
||||
"""Get base path for resources."""
|
||||
return Path(__file__).parent.parent / "resources"
|
||||
|
||||
|
||||
settings = Settings.model_validate({})
|
||||
Reference in New Issue
Block a user