config.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. API服务配置管理
  5. """
  6. import os
  7. from typing import Optional
  8. class APIConfig:
  9. """API服务配置"""
  10. # API服务配置
  11. API_HOST: str = os.getenv("API_HOST", "0.0.0.0")
  12. API_PORT: int = int(os.getenv("API_PORT", "8001"))
  13. # Pipeline配置
  14. OPENROUTER_API_KEY: Optional[str] = os.getenv("OPENROUTER_API_KEY")
  15. OUTPUT_DIR: str = os.getenv("OUTPUT_DIR", "output_v2")
  16. # 搜索配置
  17. SEARCH_MAX_WORKERS: int = int(os.getenv("SEARCH_MAX_WORKERS", "3"))
  18. MAX_TOTAL_SEARCHES: Optional[int] = None
  19. MAX_SEARCHES_PER_FEATURE: Optional[int] = None
  20. MAX_SEARCHES_PER_BASE_WORD: Optional[int] = None
  21. # 评估配置
  22. EVALUATION_MAX_WORKERS: int = int(os.getenv("EVALUATION_MAX_WORKERS", "10"))
  23. EVALUATION_MAX_NOTES_PER_QUERY: int = int(os.getenv("EVALUATION_MAX_NOTES_PER_QUERY", "20"))
  24. # 深度解构配置
  25. DEEP_ANALYSIS_API_URL: str = os.getenv(
  26. "DEEP_ANALYSIS_API_URL",
  27. "http://192.168.245.150:7000/what/analysis/single"
  28. )
  29. DEEP_ANALYSIS_MAX_WORKERS: int = int(os.getenv("DEEP_ANALYSIS_MAX_WORKERS", "5"))
  30. DEEP_ANALYSIS_MIN_SCORE: float = float(os.getenv("DEEP_ANALYSIS_MIN_SCORE", "0.8"))
  31. # 相似度分析配置
  32. SIMILARITY_WEIGHT_EMBEDDING: float = float(os.getenv("SIMILARITY_WEIGHT_EMBEDDING", "0.5"))
  33. SIMILARITY_WEIGHT_SEMANTIC: float = float(os.getenv("SIMILARITY_WEIGHT_SEMANTIC", "0.5"))
  34. SIMILARITY_MAX_WORKERS: int = int(os.getenv("SIMILARITY_MAX_WORKERS", "5"))
  35. SIMILARITY_MIN_SIMILARITY: float = float(os.getenv("SIMILARITY_MIN_SIMILARITY", "0.0"))
  36. # LLM配置
  37. LLM_MODEL: str = os.getenv("LLM_MODEL", "google/gemini-2.5-flash")
  38. LLM_MAX_RETRIES: int = int(os.getenv("LLM_MAX_RETRIES", "3"))
  39. LLM_RETRY_DELAY: int = int(os.getenv("LLM_RETRY_DELAY", "5"))
  40. # Query生成配置
  41. MAX_CANDIDATES: int = int(os.getenv("MAX_CANDIDATES", "20"))
  42. MAX_COMBO_LENGTH: int = int(os.getenv("MAX_COMBO_LENGTH", "3"))
  43. QUERY_GENERATION_MAX_WORKERS: int = int(os.getenv("QUERY_GENERATION_MAX_WORKERS", "8"))