package com.rj.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; /** * vLLM OpenAI 兼容 ASR 轮询配置(对应 Python {@code audio_toText_qwen3_asr_17b_vllm_interface.py})。 */ @Data @ConfigurationProperties(prefix = "app.audio.upload.yihangyi.asr") public class YihangyiVllmAsrProperties { /** 是否启用定时轮询(默认关闭,避免本地/Windows 误扫生产目录)。 */ private boolean enabled = false; private String watchDir = "/home/lizh/java_env/AIDriverEEBackend/audio/yihangyi"; private String doneDir = "/home/lizh/java_env/AIDriverEEBackend/audio/yihangyi_finish"; /** 转写 txt 输出目录,与 {@link com.rj.scheduler.AudioStatisticsScheduler} 扫描目录一致。 */ private String txtDir = "/home/lizh/java_env/AIDriverEEBackend/audio/yihangyi_txt"; /** OpenAI 兼容 base-url,须含 /v1,例如 {@code http://host:17001/v1} */ private String baseUrl = "http://101.35.52.237:17001/v1"; private String apiKey = "EMPTY"; private String model = "Qwen3-ASR-1.7B"; /** 与 Python POLL_INTERVAL_SEC 一致(毫秒)。 */ private long pollIntervalMs = 50000L; private int maxBatch = 5; private YihangyiVllmAsrExecutorMode executorMode = YihangyiVllmAsrExecutorMode.SINGLE; /** executorMode=POOL 时的工作线程数。 */ private int poolSize = 4; /** 是否在 Windows 上跳过执行(与其它 yihangyi 定时任务一致)。 */ private boolean skipOnWindows = true; }