CMVR-AI-ANALYSIS/app/config.py
lixiaolong b386f003a0 feat(vision): 集成Qwen3.8视觉模型并优化音视频分析功能
- 集成Qwen3.8-27B-FP8快速模型和Qwen3.8-27B精确模型作为SGLang服务
- 添加SGLang API配置选项(SGLANG_FAST_BASE_URL、SGLANG_ACCURATE_BASE_URL等)
- 实现音频分类中的决策聚合算法(topK、nearestWeight、labelMaxDistance)
- 添加视频采样帧限制(VIDEO_SAMPLING_FRAME_LIMIT)和上下文token限制
- 更新健康检查以监控SGLang服务状态
- 实现视频分析的双模式决策策略(快速+精确)
- 添加音频参考文件导入工具(import_audio_references.py)
- 扩展音频分类标签支持FIND_VEHICLE_HORN类别
- 优化视频分析的帧采样策略,始终包含视频尾部帧
- 添加决策策略参数(tuning、decisionPolicy)支持
- 更新配置类以支持新的SGLang和视频参数
- 修改compose配置以支持Qwen3.8模型部署
- 更新音频分类测试用例验证聚合逻辑
- 重构视频测试以支持SGLang API格式和决策策略
2026-08-19 09:28:53 +08:00

29 lines
923 B
Python

from pathlib import Path
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
model_config = SettingsConfigDict(env_file=".env", extra="ignore")
api_key: str = ""
profiles_dir: Path = Path("/data/profiles")
artifacts_dir: Path = Path("/data/artifacts")
jobs_dir: Path = Path("/data/jobs")
ollama_base_url: str = "http://host.docker.internal:11434"
ollama_model: str = "qwen3-vl:32b"
media_timeout_seconds: int = 120
ollama_timeout_seconds: int = 600
sglang_fast_base_url: str = ""
sglang_accurate_base_url: str = ""
sglang_api_key: str = ""
sglang_timeout_seconds: int = 600
vision_ollama_fallback_enabled: bool = True
max_audio_bytes: int = 100 * 1024 * 1024
max_video_bytes: int = 2 * 1024 * 1024 * 1024
video_sampling_frame_limit: int = 100
max_video_context_tokens: int = 262144
settings = Settings()