config.py 1.5 KB

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