| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- API服务配置管理
- """
- import os
- from typing import Optional
- class APIConfig:
- """API服务配置"""
-
- # API服务配置
- API_HOST: str = os.getenv("API_HOST", "0.0.0.0")
- API_PORT: int = int(os.getenv("API_PORT", "8001"))
- # 并发控制配置
- MAX_CONCURRENT_REQUESTS: int = int(os.getenv("MAX_CONCURRENT_REQUESTS", "5"))
- TEMP_REQUESTS_DIR: str = os.getenv("TEMP_REQUESTS_DIR", "temp_requests")
- # Pipeline配置
- OPENROUTER_API_KEY: Optional[str] = os.getenv("OPENROUTER_API_KEY")
- OUTPUT_DIR: str = os.getenv("OUTPUT_DIR", "output_v2")
-
- # 搜索配置
- SEARCH_MAX_WORKERS: int = int(os.getenv("SEARCH_MAX_WORKERS", "3"))
- MAX_TOTAL_SEARCHES: Optional[int] = None
- MAX_SEARCHES_PER_FEATURE: Optional[int] = None
- MAX_SEARCHES_PER_BASE_WORD: Optional[int] = None
-
- # 评估配置
- EVALUATION_MAX_WORKERS: int = int(os.getenv("EVALUATION_MAX_WORKERS", "10"))
- EVALUATION_MAX_NOTES_PER_QUERY: int = int(os.getenv("EVALUATION_MAX_NOTES_PER_QUERY", "20"))
-
- # 深度解构配置
- DEEP_ANALYSIS_API_URL: str = os.getenv(
- "DEEP_ANALYSIS_API_URL",
- "http://192.168.245.150:7000/what/analysis/single"
- )
- DEEP_ANALYSIS_MAX_WORKERS: int = int(os.getenv("DEEP_ANALYSIS_MAX_WORKERS", "5"))
- DEEP_ANALYSIS_MIN_SCORE: float = float(os.getenv("DEEP_ANALYSIS_MIN_SCORE", "0.8"))
-
- # 相似度分析配置
- SIMILARITY_WEIGHT_EMBEDDING: float = float(os.getenv("SIMILARITY_WEIGHT_EMBEDDING", "0.5"))
- SIMILARITY_WEIGHT_SEMANTIC: float = float(os.getenv("SIMILARITY_WEIGHT_SEMANTIC", "0.5"))
- SIMILARITY_MAX_WORKERS: int = int(os.getenv("SIMILARITY_MAX_WORKERS", "5"))
- SIMILARITY_MIN_SIMILARITY: float = float(os.getenv("SIMILARITY_MIN_SIMILARITY", "0.0"))
-
- # LLM配置
- LLM_MODEL: str = os.getenv("LLM_MODEL", "google/gemini-2.5-flash")
- LLM_MAX_RETRIES: int = int(os.getenv("LLM_MAX_RETRIES", "3"))
- LLM_RETRY_DELAY: int = int(os.getenv("LLM_RETRY_DELAY", "5"))
-
- # Query生成配置
- MAX_CANDIDATES: int = int(os.getenv("MAX_CANDIDATES", "20"))
- MAX_COMBO_LENGTH: int = int(os.getenv("MAX_COMBO_LENGTH", "3"))
- QUERY_GENERATION_MAX_WORKERS: int = int(os.getenv("QUERY_GENERATION_MAX_WORKERS", "8"))
|