config.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. # 并发控制配置
  14. MAX_CONCURRENT_REQUESTS: int = int(os.getenv("MAX_CONCURRENT_REQUESTS", "5"))
  15. TEMP_REQUESTS_DIR: str = os.getenv("TEMP_REQUESTS_DIR", "temp_requests")
  16. # Pipeline配置
  17. OPENROUTER_API_KEY: Optional[str] = os.getenv("OPENROUTER_API_KEY")
  18. OUTPUT_DIR: str = os.getenv("OUTPUT_DIR", "output_v2")
  19. # 搜索配置
  20. SEARCH_MAX_WORKERS: int = int(os.getenv("SEARCH_MAX_WORKERS", "3"))
  21. MAX_TOTAL_SEARCHES: Optional[int] = None
  22. MAX_SEARCHES_PER_FEATURE: Optional[int] = None
  23. MAX_SEARCHES_PER_BASE_WORD: Optional[int] = None
  24. # 评估配置
  25. EVALUATION_MAX_WORKERS: int = int(os.getenv("EVALUATION_MAX_WORKERS", "10"))
  26. EVALUATION_MAX_NOTES_PER_QUERY: int = int(os.getenv("EVALUATION_MAX_NOTES_PER_QUERY", "20"))
  27. # 深度解构配置
  28. DEEP_ANALYSIS_API_URL: str = os.getenv(
  29. "DEEP_ANALYSIS_API_URL",
  30. "http://192.168.245.150:7000/what/analysis/single"
  31. )
  32. DEEP_ANALYSIS_MAX_WORKERS: int = int(os.getenv("DEEP_ANALYSIS_MAX_WORKERS", "5"))
  33. DEEP_ANALYSIS_MIN_SCORE: float = float(os.getenv("DEEP_ANALYSIS_MIN_SCORE", "0.8"))
  34. # 相似度分析配置
  35. SIMILARITY_WEIGHT_EMBEDDING: float = float(os.getenv("SIMILARITY_WEIGHT_EMBEDDING", "0.5"))
  36. SIMILARITY_WEIGHT_SEMANTIC: float = float(os.getenv("SIMILARITY_WEIGHT_SEMANTIC", "0.5"))
  37. SIMILARITY_MAX_WORKERS: int = int(os.getenv("SIMILARITY_MAX_WORKERS", "5"))
  38. SIMILARITY_MIN_SIMILARITY: float = float(os.getenv("SIMILARITY_MIN_SIMILARITY", "0.0"))
  39. # LLM配置
  40. LLM_MODEL: str = os.getenv("LLM_MODEL", "google/gemini-2.5-flash")
  41. LLM_MAX_RETRIES: int = int(os.getenv("LLM_MAX_RETRIES", "3"))
  42. LLM_RETRY_DELAY: int = int(os.getenv("LLM_RETRY_DELAY", "5"))
  43. # Query生成配置
  44. MAX_CANDIDATES: int = int(os.getenv("MAX_CANDIDATES", "20"))
  45. MAX_COMBO_LENGTH: int = int(os.getenv("MAX_COMBO_LENGTH", "3"))
  46. QUERY_GENERATION_MAX_WORKERS: int = int(os.getenv("QUERY_GENERATION_MAX_WORKERS", "8"))