feat: sync full-stack Docker runtime and UI
This commit is contained in:
@@ -106,9 +106,8 @@ docker compose up -d --build
|
||||
- PUT /v1/docs/files/{id}/blob 替换文件二进制内容
|
||||
- DELETE /v1/docs/nodes/{id} 删除节点
|
||||
- GET /v1/docs/files/{id}/blob 下载或预览原文件
|
||||
- GET /v1/tts-asr/status TTS/ASR模型状态
|
||||
- GET /v1/tts-asr/status TTS/ASR状态
|
||||
- GET /v1/tts-asr/config TTS/ASR配置信息
|
||||
- POST /v1/tts-asr/warmup 模型预热
|
||||
- POST /v1/tts-asr/tts 文字转语音
|
||||
- POST /v1/tts-asr/asr 语音转文字
|
||||
|
||||
@@ -118,20 +117,14 @@ docker compose up -d --build
|
||||
|
||||
| 变量名 | 说明 | 默认值 |
|
||||
|--------|------|--------|
|
||||
| `TTS_ASR_DEVICE` | 设备选择 (auto/mps/cuda/cpu) | auto |
|
||||
| `TTS_ASR_MODEL_SIZE` | ASR模型大小 (tiny/base/small/medium/large/turbo) | auto |
|
||||
| `TTS_ASR_QUANTIZE` | 是否使用INT8量化 (true/false) | false |
|
||||
| `TTS_ASR_OFFLINE_MODE` | 离线模式,仅使用缓存模型 (true/false) | false |
|
||||
| `TTS_ASR_WARMUP` | 启动时预热模型 (true/false) | true |
|
||||
| `TTS_ASR_WARMUP_TIMEOUT` | 预热超时时间(秒) | 120 |
|
||||
| `TTS_ASR_IDLE_TIMEOUT` | 空闲卸载时间(秒,0=不卸载) | 0 |
|
||||
| `TTS_ASR_MPS_MEMORY_LIMIT_MB` | MPS内存限制(MB) | 8192 |
|
||||
|
||||
**Apple Silicon优化建议**:
|
||||
- 系统自动检测Apple Silicon并推荐使用`small`模型
|
||||
- MPS内存限制默认为系统内存的60%
|
||||
- 建议使用`small`或`medium`模型以获得更好的性能
|
||||
- 可通过`TTS_ASR_MODEL_SIZE=medium`手动指定模型大小
|
||||
| `LLM_BASE_URL` | OpenAI-compatible 上游地址 | 必填 |
|
||||
| `LLM_API_KEY` | OpenAI-compatible 上游密钥 | 必填 |
|
||||
| `TTS_MODEL_ID` | TTS 模型名 | `Qwen3-TTS-12Hz-1.7B-VoiceDesign-8bit` |
|
||||
| `ASR_MODEL_ID` | ASR 模型名 | `Qwen3-ASR-0.6B-8bit` |
|
||||
| `TTS_ASR_TTS_TIMEOUT_SECONDS` | TTS 上游超时(秒) | 180 |
|
||||
| `TTS_ASR_ASR_TIMEOUT_SECONDS` | ASR 上游超时(秒) | 300 |
|
||||
| `TTS_ASR_MAX_CONNECTIONS` | Speech API 连接池上限 | 24 |
|
||||
| `TTS_ASR_MAX_KEEPALIVE_CONNECTIONS` | Speech API keepalive 连接数 | 12 |
|
||||
|
||||
## 核心实现
|
||||
|
||||
@@ -139,13 +132,10 @@ docker compose up -d --build
|
||||
- main.py: FastAPI服务器、SSE流式响应
|
||||
- llm.py: 异步LLM调用(OpenAI兼容)、超时控制
|
||||
- prompt.py: 7条Prompt规则
|
||||
- tts_asr.py: macOS/Apple Silicon优化的TTS/ASR处理
|
||||
- 自动检测Apple Silicon (M1/M2/M3)
|
||||
- MPS/CUDA/CPU智能降级
|
||||
- 支持多种Whisper模型大小
|
||||
- INT8量化支持
|
||||
- 离线模式支持
|
||||
- 健壮的音频重采样
|
||||
- tts_asr.py: 基于共享 OpenAI-compatible Speech API 的 TTS/ASR 适配层
|
||||
- 统一使用 `LLM_BASE_URL` 和 `LLM_API_KEY`
|
||||
- 通过 `/audio/speech` 与 `/audio/transcriptions` 调用上游
|
||||
- 内建连接池、超时、音频时长估算和上游请求 ID 透传
|
||||
|
||||
### 前端
|
||||
- copilotPlugin.ts: ProseMirror Mark系统
|
||||
|
||||
Reference in New Issue
Block a user