---
slug: "llm-provider-whisper-v1-tool-pro"
name: "llm-provider-whisper-v1-tool-pro"
version: "1.0.0"
displayName: "Whisper v1转录专业版"
summary: "Whisper v1稳定版企业级转录工具,支持批量处理、模型管理、性能调优与服务化部署。。基于 Whisper v1 稳定版本的企业级语音转文字工具(专业版)。核心能力: - 涵盖免费版全部"
license: "Proprietary"
edition: "pro"
description: |-
  基于 Whisper v1 稳定版本的企业级语音转文字工具(专业版)。核心能力:
  - 涵盖免费版全部能力(v1 稳定 CLI、多格式输出、翻译)
  - 批量处理:目录递归与任务队列
  - 模型管理:多版本预加载与热切换
  - 性能调优:GPU 加速、半精度推理、批处理
  - 自定义词典:initial_prompt 注入领域术语
  - 服务化部署:FastAPI 封装,支持远程调用
  - 质量评估:置信度分析与校对流程
  - 任务监控:进度追踪与日志审计

  适用场景:
  - 企业会议纪要自动化
  - 视频/播客批量字幕生成...
tags:
  - 创意设计
  - 语音转文字
  - 企业级
  - 批量处理
  - 模型管理
  - Whisper v1
  - 工具
  - 效率
  - 自动化
  - 研究
  - 分析
  - 写作
  - 电商
  - 运维
  - self
  - whisper
  - import
  - device
  - result
tools:
  - read
  - exec
  - write
homepage: ""
category: "Automation"
---
# Whisper v1 语音转文字工具 - 专业版

## 概述

Whisper v1 语音转文字工具(专业版)在免费版(`llm-provider-whisper-v1-tool-free`)v1 稳定版转录能力之上,新增批量处理、模型管理、GPU 加速、性能调优与服务化部署等企业级能力。基于 v1 稳定接口,适合需要长期维护与高吞吐的生产场景.
专业版与免费版命令行完全兼容,已使用免费版的脚本无需修改即可运行。升级后可启用高级特性.
## 核心能力

### 免费版 vs 专业版对比

| 能力 | 免费版 | 专业版 | 增量价值 |
|---|---|---|----|
| v1 稳定 CLI | 支持 | 支持 | - |
| 输出格式 | txt/srt/vtt/json | 全格式 | - |
| 翻译模式 | 支持 | 支持 | - |
| 模型选择 | tiny-base-small | 全部 + 自定义 | large 模型 |
| 批量处理 | 不支持 | 目录递归 + 队列 | 生产力提升 |
| GPU 加速 | 不支持 | CUDA/Metal/MPS | 10-50 倍加速 |
| 模型管理 | 不支持 | 预加载 + 热切换 | 灵活切换 |
| 自定义词典 | 不支持 | initial_prompt | 术语优化 |
| API 服务 | 不支持 | FastAPI 封装 | 远程调用 |
| 质量评估 | 不支持 | 置信度分析 | 质控流程 |
| 任务监控 | 不支持 | 进度 + 日志 | 运维能力 |

**输入**: 用户提供免费版 vs 专业版对比所需的指令和必要参数.
**处理**: 解析免费版 vs 专业版对比的输入参数,完成核心逻辑,返回结构化响应.
**输出**: 返回免费版 vs 专业版对比的响应数据,包含状态码、结果和日志.
### 核心功能执行
用`input_params`参数进行配置.
**输入**: 用户提供核心功能执行所需的指令和必要参数.
**处理**: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应.
**输出**: 返回核心功能执行的响应数据,包含状态码、结果和日志.
- 执行此能力时使用`input_params`参数,支持创建/查询/导出操作

### 参数配置与调用
用`config_options`参数进行配置.
**输入**: 用户提供参数配置与调用所需的指令和必要参数.
**处理**: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应.
**输出**: 返回参数配置与调用的响应数据,包含状态码、结果和日志.
- 执行此能力时使用`config_options`参数,支持修改/重置/导入操作
**能力覆盖范围**：本skill的核心能力覆盖以下场景关键词：Whisper、稳定版企业级转录、支持批量处理、性能调优与服务化、稳定版本的企业级、语音转文字工具、核心能力、涵盖免费版全部能、多格式输出、目录递归与任务队、多版本预加载与热、性能调优、半精度推理、批处理、注入领域术语、服务化部署、支持远程调用、置信度分析与校对、进度追踪与日志审等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.
## 使用场景

### 场景一:批量会议纪要自动化

处理整个目录的会议录音,生成结构化纪要.
```python
import os
import glob
import whisper
import json
# ...
# 加载 GPU 加速模型
model = whisper.load_model("medium", device="cuda")
# ...
# 批量处理
audio_files = glob.glob("/data/meetings/2026-07/*.m4a")
results = []
# ...
for audio_path in sorted(audio_files):
    filename = os.path.basename(audio_path)
    print(f"处理中: {filename}")
# ...
    result = model.transcribe(
        audio_path,
        language="zh",
        initial_prompt="以下是企业会议录音,涉及产品、技术、市场等议题。"
    )
# ...
    results.append({
        "file": filename,
        "duration": result["segments"][-1]["end"] if result["segments"] else 0,
        "text": result["text"],
        "segments_count": len(result["segments"])
    })
# ...
# 输出汇总报告
with open("meeting_batch_report.json", "w", encoding="utf-8") as f:
    json.dump(results, f, ensure_ascii=False, indent=2)
# ...
print(f"完成 {len(results)} 个文件转录")
```

### 场景二:多模型灵活切换

根据音频特点动态选择模型,平衡速度与精度.
```python
import whisper
# ...
class WhisperModelManager:
    """v1 模型管理器,支持预加载与热切换"""
# ...
    def __init__(self, device="cuda"):
        self.device = device
        self._cache = {}
# ...
    def get_model(self, name):
        if name not in self._cache:
            print(f"加载模型: {name}")
            self._cache[name] = whisper.load_model(name, device=self.device)
        return self._cache[name]
# ...
    def preload(self, names):
        """预加载常用模型"""
        for name in names:
            self.get_model(name)
# ...
    def clear(self):
        """释放显存"""
        self._cache.clear()
# ...
    def smart_transcribe(self, audio_path, language="zh"):
        """根据音频时长智能选择模型"""
        import librosa
        duration = librosa.get_duration(filename=audio_path)
# ...
        if duration < 300:        # < 5 分钟,用大模型
            model_name = "large-v3"
        elif duration < 1800:     # < 30 分钟,用中模型
            model_name = "medium"
        else:                      # 长音频,用小模型加速
            model_name = "small"
# ...
        model = self.get_model(model_name)
        return model.transcribe(audio_path, language=language)
# ...
manager = WhisperModelManager(device="cuda")
manager.preload(["small", "medium"])  # 预加载常用模型
```

### 场景三:API 服务化部署

将 v1 Whisper 封装为 API 服务.
```python
from fastapi import FastAPI, UploadFile, File
from fastapi.responses import JSONResponse
import whisper
import tempfile
import os
# ...
app = FastAPI(title="Whisper v1 转录服务", version="1.0.0")
# ...
# 启动时预加载模型
model = whisper.load_model("medium", device="cuda")
# ...
@app.post("/transcribe")
async def transcribe(
    file: UploadFile = File(...),
    language: str = "zh",
    task: str = "transcribe",
    initial_prompt: str = ""
):
    with tempfile.NamedTemporaryFile(delete=False, suffix=".wav") as tmp:
        tmp.write(await file.read())
        tmp_path = tmp.name
# ...
    try:
        result = model.transcribe(
            tmp_path,
            language=language,
            task=task,
            initial_prompt=initial_prompt or "专业转录,术语准确。"
        )
        return JSONResponse({
            "text": result["text"],
            "segments": result["segments"],
            "language": result["language"]
        })
    finally:
        os.unlink(tmp_path)
# ...
@app.get("/health")
async def health():
    return {"status": "ok", "model": "medium", "device": "cuda"}
# ...
# 启动: uvicorn server:app --host 0.0.0.0 --port 8000 --workers 1
```

## 不适用场景

以下场景Whisper v1转录专业版不适合处理：

- 需要100%确定性的关键决策
- 医疗诊断
- 法律判决

## 触发条件

需要AI模型调用、智能对话、Agent编排、LLM应用时使用。不适用于非本工具能力范围的需求.
## 快速开始

1. 阅读## 核心能力章节了解skill功能
2. 按## 依赖说明配置环境
3. 执行所需能力对应的命令
4. 参考## 错误处理章节处理异常
5. 查看## FAQ解答常见疑问

### 依赖详情

```bash
# 基础依赖
pip install -U llm-provider-whisper
# ...
# GPU 加速
pip install torch --index-url https://download.pytorch.org/whl/cu121
# ...
# API 服务化
pip install fastapi uvicorn python-multipart
# ...
# 音频处理
pip install librosa soundfile
```

### 2. 验证 GPU

```python
import torch
print(f"CUDA: {torch.cuda.is_available()}")
print(f"GPU: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CPU'}")
```

### 3. 批量转录

```bash
for f in ./audios/*.{mp3,m4a,wav}; do
    whisper "$f" --model medium --device cuda --language zh \
        --output_format srt --output_dir ./transcripts/
done
```

## 示例

### 批量任务配置

```yaml
# batch_config.yaml
batch:
  input_dir: "/data/audios"
  output_dir: "/data/transcripts"
  model: "medium"
  device: "cuda"
  language: "zh"
  output_format: "srt"
  initial_prompt: "专业会议转录,术语准确。"
  max_workers: 4
  retry: 3
  skip_existing: true
  log_file: "./transcription.log"
```

### 自定义词典

```python
# 领域术语注入
prompts = {
    "legal": "以下是法律庭审录音,涉及原告、被告、审判长、诉讼请求、证据质证、法庭辩论等术语。",
    "medical": "以下是医疗病例讨论,涉及诊断、处方、症状、检查结果、治疗方案等术语。",
    "tech": "以下是技术会议录音,涉及架构、API、微服务、数据库、部署、监控等术语。"
}
# ...
result = model.transcribe(
    audio_path,
    language="zh",
    initial_prompt=prompts["legal"]
)
```

## 最佳实践

### 1. v1 稳定性优势利用

- **接口固化**:v1 CLI 参数稳定,脚本可长期复用
- **模型兼容**:v1 模型与后续版本兼容,可平滑迁移
- **行为一致**:相同输入产生一致输出,适合自动化质检

### 2. GPU 加速优化

```python
# 半精度推理(默认启用)
model = whisper.load_model("medium", device="cuda")
# fp16 自动启用,显存减半
# ...
# 显存不足时降级
if torch.cuda.mem_get_info()[0] < 4 * 1024**3:  # 显存 < 4GB
    model = whisper.load_model("small", device="cuda")
```

### 3. 批量任务容错

```python
import traceback
# ...
def safe_transcribe(model, audio_path, output_dir, **kwargs):
    """带容错的转录函数"""
    try:
        result = model.transcribe(audio_path, **kwargs)
        # 保存结果
        basename = os.path.splitext(os.path.basename(audio_path))[0]
        with open(f"{output_dir}/{basename}.json", "w", encoding="utf-8") as f:
            json.dump(result, f, ensure_ascii=False, indent=2)
        return True, None
    except Exception as e:
        traceback.print_exc()
        return False, str(e)
# ...
# 批量处理带重试
for audio in audio_files:
    for attempt in range(3):
        success, error = safe_transcribe(model, audio, output_dir, language="zh")
        if success:
            break
        print(f"重试 {attempt+1}/3: {audio} - {error}")
```

### 4. 生产部署建议

- **API 服务**:单 GPU 建议 1-2 worker,多 GPU 可线性扩展
- **任务队列**:大文件使用 Celery 异步处理
- **监控**:采集转录时长、成功率、GPU 利用率
- **缓存**:文件哈希缓存结果,避免重复转录
- **日志**:记录每个文件的处理状态与耗时

## 常见问题

### Q1: v1 专业版与其他 Whisper 专业版有何不同?

v1 专业版基于稳定版接口,CLI 参数与模型行为固化,适合需要长期维护不频繁变更的生产环境。其他版本可能引入实验性特性,但 v1 保证向后兼容.
### Q2: GPU 加速如何启用?

安装 CUDA 版 PyTorch 后自动检测。代码中 `whisper.load_model("medium", device="cuda")` 显式指定.
### Q3: 批量处理中断后如何续传?

启用 `skip_existing` 选项,跳过已生成输出文件的音频。配合日志文件记录处理状态.
### Q4: 模型预加载的显存占用?

每个模型独立占用显存:`small` 约 2GB,`medium` 约 5GB,`large` 约 10GB。建议根据显存容量预加载,避免 OOM.
### Q5: API 服务的并发能力?

单 GPU 下建议并发 2-4(取决于模型)。多 GPU 可线性扩展。CPU 模式建议串行。大文件建议使用任务队列异步处理.
### Q6: 专业版与免费版的迁移成本?

零迁移成本。专业版是免费版的超集,命令行完全兼容。升级后原有脚本自动受益于 GPU 加速(若已安装).
## 依赖说明

### 运行环境
- **Agent 平台**: 支持SKILL.md的任意AI Agent(ai-assistant Code / Cursor / Codex / Gemini CLI等)
- **操作系统**: Windows / macOS / Linux
- **Python**: 3.9 及以上
- **硬件**: 推荐 NVIDIA GPU(8GB+ 显存)或 Apple Silicon;CPU 可用但较慢
- **网络**: 首次需联网下载模型,后续可离线运行

### 第三方依赖

| 依赖项 | 类型 | 是否必需 | 获取方式 |
|:-----|:-----|:-----|:-----|
| llm-provider-whisper | Python 库 | 必需 | `pip install -U llm-provider-whisper` |
| ffmpeg | 系统工具 | 必需 | `brew install ffmpeg` / `apt install ffmpeg` |
| PyTorch (CUDA) | Python 库 | 推荐(GPU) | `pip install torch --index-url .../cu121` |
| fastapi | Python 库 | 可选(API 服务) | `pip install fastapi uvicorn` |
| librosa | Python 库 | 可选(音频分析) | `pip install librosa` |
| Python 3.9+ | 运行时 | 必需 | `python.org` 下载 |
| LLM API | API | 必需 | 由Agent内置LLM提供 |

### API Key 配置
- 核心 Whisper 功能**基础LLM由Agent平台提供**,完全本地运行
- API 服务化建议配置鉴权 Token(如 JWT)保护接口
- 企业部署建议通过密钥管理服务统一托管认证凭据

### 可用性分类
- **分类**: MD+EXEC(纯Markdown指令,部分功能需exec命令行执行)
- **说明**: 基于Markdown的AI Skill,通过自然语言指令驱动Agent完成操作。专业版基于 v1 稳定接口,支持批量处理、GPU 加速与服务化部署,适合长期维护的企业级转录场景.
## 错误处理

| 错误场景 | 原因 | 处理方式 |
|---:|---:|---:|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令，参考国内替代方案 |

## 已知限制

- 执行效率受模型能力与网络环境影响

## 输出格式
```json
{
  "success": true,
  "data": {
    "result": "Whisper v1转录专业版处理结果",
    "execution_time": "0.5s",
    "metadata": {
      "version": "1.0",
      "processor": "llm provider whisper v1 pro"
    }
  },
  "execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
  "error": null
}
```
