来自巴黎的 Mistral AI
再次以其标志性的开源策略,向人工智能领域投下一枚重要棋子——Voxtral
音频模型。这家被视为 OpenAI
在欧洲最强有力的竞争者,此次推出的 Voxtral
并非单纯的语音转录工具,而是将其强大的语言模型能力延伸至音频领域,旨在为商业应用提供一个开箱即用且具成本效益的语音处理方案。
Voxtral
提供两种截然不同的模型版本,这种策略清晰地揭示了其市场野心。一个是由 24B
参数构成的重量级版本,专为需要处理海量数据的生产环境设计;另一个则是 3B
参数的 Mini
版本,目标直指资源受限的本地和边缘计算场景。两种版本均在 Apache 2.0
许可下开放,这意味着企业和开发者不仅可以自由下载、修改和部署,还消除了商业使用中的后顾之忧。
不止于听清:内置理解与多语言优势
与 OpenAI
的 Whisper
等专注于高精度语音转录(ASR)的模型不同,Voxtral
的核心优势在于其原生集成的自然语言理解(NLU)能力。它基于 Mistral Small 3.1
语言模型构建,因此继承了强大的文本处理能力。这意味着用户无需再构建“语音转文本再到语言模型”的复杂处理链路,可以直接对音频文件进行提问、生成摘要或提取结构化信息。例如,Voxtral
能够处理长达30分钟的音频转录或40分钟的音频理解任务,这得益于其 32k
令牌的上下文窗口,对于处理会议录音、长篇采访等场景至关重要。
在多语言支持方面,Voxtral
同样表现出色,尤其在欧洲语言上达到了顶尖水平,官方基准测试显示其支持英、法、德、西、意等多种语言。这一特性使其在处理国际化业务的音频数据时具有天然优势。
应用场景:从云端到边缘
Voxtral
的应用潜力覆盖了从云端到边缘的广泛场景:
- 客户服务:自动转录客服电话,并直接生成工单或摘要,提升响应效率。
- 内容创作:快速将播客、采访转为文字稿,并能直接提炼核心观点。
- 会议分析:实时记录并生成会议纪要,提取关键决策和待办事项。
- 边缘智能:在智能家居、车载系统等物联网设备上部署
Voxtral Mini
,实现无需联网的本地语音交互。
快速上手指南
Mistral AI
提供了通过云端 API
或本地部署两种方式使用 Voxtral
。
(一) 通过 Mistral AI
云端 API
对于希望快速集成的开发者,可以使用官方 API
。首先,在 Mistral AI
平台注册并获取 API
密钥,然后通过 mistralai
Python 客户端即可调用。
(二) 本地部署(vLLM
推荐)
对于需要数据隐私或离线运行的场景,本地部署是更佳选择。官方推荐使用 vLLM
框架,因为它为 Voxtral
提供了高性能的推理支持。
1. 安装环境
首先,确保已安装 Python
环境,然后通过 pip
安装 vLLM
及相关依赖。
uv pip install -U "vllm
" --torch-backend=auto --extra-index-url https://wheels.vllm.ai/nightly
2. 启动本地服务
使用以下命令从 Hugging Face
下载模型并启动一个与 OpenAI
兼容的本地服务。
python -m vllm.entrypoints.openai.api_server \
--model mistralai/Voxtral-Mini-3B-v0.1 \
--tokenizer-id mistralai/Mistral-7B-Instruct-v0.3 \
--enable-chunked-prefill
3. 调用本地服务
服务启动后,你可以使用 OpenAI
的客户端库或 curl
与本地运行的 Voxtral
模型进行交互。以下是使用 Python
进行语音转录和理解的示例。
- 语音转录
from openai import OpenAI
from huggingface_hub import hf_hub_download
# 配置客户端指向本地vLLM服务
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="vllm" # 本地服务不需要真实密钥
)
# 下载示例音频
audio_file_path = hf_hub_download(
repo_id="patrickvonplaten/audio_samples",
filename="obama.mp3",
repo_type="dataset"
)
# 发起转录请求
with open(audio_file_path, "rb") as audio_file:
transcription = client.audio.transcriptions.create(
model="mistralai/Voxtral-Mini-3B-v0.1",
file=audio_file,
language="en"
)
print(transcription.text)
- 语音理解(问答)
from openai import OpenAI
from huggingface_hub import hf_hub_download
import base64
# 配置客户端
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="vllm"
)
# 下载并编码音频文件
def encode_audio_to_base64(filepath):
with open(filepath, 'rb') as audio_file:
return base64.b64encode(audio_file.read()).decode('utf-8')
obama_file = hf_hub_download("patrickvonplaten/audio_samples", "obama.mp3", repo_type="dataset")
bcn_file = hf_hub_download("patrickvonplaten/audio_samples", "bcn_weather.mp3", repo_type="dataset")
obama_base64 = encode_audio_to_base64(obama_file)
bcn_base64 = encode_audio_to_base64(bcn_file)
# 构建包含音频和文本的多模态消息
response = client.chat.completions.create(
model="mistralai/Voxtral-Mini-3B-v0.1",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这是两段音频。第一段是一位著名人物的演讲,第二段是天气预报。请问,哪一段演讲更有启发性?为什么?"},
{"type": "image_url", "image_url": {"url": f"data:audio/mpeg;base64,{obama_base64}"}},
{"type": "image_url", "image_url": {"url": f"data:audio/mpeg;base64,{bcn_base64}"}}
]
}
],
temperature=0.2
)
print(response.choices.message.content)
项目资源
- 官方博客: https://mistral.ai/news/voxtral/
- 模型下载: https://huggingface.co/mistralai/Voxtral-Mini-3B-2507