from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): app_name: str = "Labor Arbitration Backend" # 开发期:使用本机 MySQL,避免依赖 Docker/PostgreSQL # 示例:mysql+pymysql://root:password@127.0.0.1:3306/graduation?charset=utf8mb4 database_url: str = "mysql+pymysql://root:password@127.0.0.1:3306/graduation?charset=utf8mb4" # 下面这些在你以后接入向量库和独立 NLP 服务时再启用 # 无 Docker / 无 Qdrant 时保持 False,相似案件走 MySQL 内简易文本相似度 use_vector_store: bool = False qdrant_url: str = "http://localhost:6333" qdrant_collection: str = "labor_case_vectors" embedding_model_name: str = "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2" nlp_service_url: str = "http://localhost:8001/extract" use_remote_nlp_service: bool = False # Ollama(可选):启用后使用 app/anj.py 中同一 Ollama 模型增强「仲裁请求 claims」与「案由模板扁平要素」 # (extract_dispute_template_fields),规则抽取仍先执行,LLM 结果覆盖非空字段。 use_ollama: bool = False ollama_base_url: str = "http://127.0.0.1:11434" ollama_model_name: str = "qwen2.5:3b" # Extractor mode: "rules" | "bert" | "ollama" | "hybrid" extractor_mode: str = "rules" # BERT model service URL (nlp-service) bert_model_service_url: str = "http://localhost:8001/extract" model_config = SettingsConfigDict(env_file=".env", extra="ignore") settings = Settings()