"""环境配置(从 .env 读取,见 .env.example)。""" from decimal import Decimal from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", extra="ignore") app_env: str = "development" mysql_host: str = "127.0.0.1" mysql_port: int = 3306 mysql_database: str = "jinrong_agent" mysql_core_database: str = "jinrong_core" mysql_user: str = "root" mysql_password: str = "" redis_url: str = "redis://127.0.0.1:6379/0" neo4j_uri: str = "bolt://localhost:7687" neo4j_user: str = "neo4j" neo4j_password: str = "" milvus_uri: str = "./data/milvus.db" ollama_base_url: str = "http://127.0.0.1:11434" embed_model: str = "bge-m3" deepseek_api_key: str = "" deepseek_base_url: str = "https://api.deepseek.com" # ===== Risk 阈值(默认值=冻结规则 · docs/PRD/附-风控规则表.md)===== risk_assessment_valid_days: int = 365 risk_large_amount: Decimal = Decimal("500000") risk_daily_total: Decimal = Decimal("500000") risk_freq_count: int = 3 risk_probe_window_minutes: int = 5 risk_probe_count: int = 3 risk_probe_amount: Decimal = Decimal("400000") risk_small_amount: Decimal = Decimal("10000") risk_small_count: int = 3 risk_aml_default_threshold: Decimal = Decimal("0.85") settings = Settings()