config.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. """
  2. NER 服务配置
  3. """
  4. import os
  5. from pydantic_settings import BaseSettings
  6. from typing import Optional, List
  7. class Settings(BaseSettings):
  8. """应用配置"""
  9. # 服务配置
  10. app_name: str = "NER Service"
  11. app_version: str = "1.0.0"
  12. debug: bool = False
  13. host: str = "0.0.0.0"
  14. port: int = 8001
  15. # NER 模型配置
  16. ner_model: str = "rule" # rule / spacy / transformers / api
  17. ner_model_name: Optional[str] = None # 具体模型名称
  18. use_gpu: bool = False
  19. max_text_length: int = 50000
  20. # API 配置(用于 API 模式的后备方案)
  21. api_base_url: Optional[str] = None
  22. api_key: Optional[str] = None
  23. api_model: str = "qwen-plus"
  24. # 实体类型配置
  25. entity_types: List[str] = [
  26. "PERSON", "ORG", "LOC", "DATE", "NUMBER", "DEVICE", "TERM", "PROJECT", "COMPANY"
  27. ]
  28. # 日志配置
  29. log_level: str = "INFO"
  30. class Config:
  31. env_file = ".env"
  32. env_file_encoding = "utf-8"
  33. settings = Settings()