#!/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"))