# GLM-ASR **Repository Path**: phper_echo/GLM-ASR ## Basic Information - **Project Name**: GLM-ASR - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-20 - **Last Updated**: 2026-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GLM-ASR [Readme in English](README.md)

👋 加入我们的 微信 社区

## 模型介绍 **GLM-ASR-Nano-2512** 是一款鲁棒的开源语音识别模型,参数量为 **1.5B**。 该模型专为应对真实世界的复杂场景而设计,在多项基准测试中超越 OpenAI Whisper V3,同时保持紧凑的模型规模。 核心能力包括: - **卓越的方言支持** 除标准普通话和英语外,模型针对**粤语**及其他方言进行了深度优化,有效填补了方言语音识别领域的空白。 - **低音量语音鲁棒性** 专门针对**"低语/轻声"**场景进行训练,能够捕捉并准确转录传统模型难以识别的极低音量音频。 - **SOTA 性能** 在同类开源模型中实现**最低平均错误率 (4.10)**,在中文基准测试(Wenet Meeting、Aishell-1 等)中展现出显著优势。 ## 基准测试 我们将 GLM-ASR-Nano 与主流开源和闭源模型进行了对比评测。结果表明,**GLM-ASR-Nano (1.5B)** 表现优异,尤其在复杂声学环境下优势明显。 ![bench](resources/bench.png) 说明: - Wenet Meeting 反映了包含噪声和语音重叠的真实会议场景。 - Aishell-1 是标准普通话基准测试集。 ## 语言支持 GLM-ASR-Nano 支持 **17 种语言**,具有高可用性(WER ≤ 20%),特别针对以下地区进行了优化: ![Supported Languages List](resources/languages.png) ## 模型下载 | Model | Download Links | | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | | GLM-ASR-Nano-2512 | [🤗 Hugging Face](https://huggingface.co/zai-org/GLM-ASR-Nano-2512)
[🤖 ModelScope](https://modelscope.cn/models/ZhipuAI/GLM-ASR-Nano-2512) | - 请注意,适配`transformers`和`SGLang`后,模型权重格式发生变化,如果你的模型下载于 2025 年 12 月 27 日之前,请重新拉取本版本最新模型。 ## 推理 我们提供了两段测试音频,分别是中文和英语版本。 ### 环境依赖 ```bash pip install -r requirements.txt sudo apt install ffmpeg ``` ### 示例代码 - transformers 5.0.0,需源代码安装,参考 requirements.txt ```python from transformers import AutoModel, AutoProcessor import torch device = "cuda" if torch.cuda.is_available() else "cpu" repo_id = "zai-org/GLM-ASR-Nano-2512" processor = AutoProcessor.from_pretrained(repo_id) model = AutoModel.from_pretrained(repo_id, dtype=torch.bfloat16, device_map=device) messages = [ { "role": "user", "content": [ { "type": "audio", "url": "example_zh.wav", }, {"type": "text", "text": "Please transcribe this audio into text"}, ], } ] inputs = processor.apply_chat_template( messages, tokenize=True, add_generation_prompt=True, return_dict=True, return_tensors="pt" ) inputs = inputs.to(device, dtype=torch.bfloat16) outputs = model.generate(**inputs, max_new_tokens=128, do_sample=False) print(processor.batch_decode(outputs[:, inputs.input_ids.shape[1]:], skip_special_tokens=True)) ``` - SGLang 目前,暂未提供发行版,请使用最新版本 docker ```shell docker pull lmsysorg/sglang:dev ``` 进入 docker,运行 ```shell pip install git+https://github.com/huggingface/transformers # 覆盖transformers版本 python3 -m sglang.launch_server --model-path zai-org/GLM-ASR-Nano-2512 --served-model-name glm-asr --host 0.0.0.0 --port 8000 ``` 发起请求: ```python from openai import OpenAI openai_api_key = "EMPTY" openai_api_base = "http://127.0.0.1:8000/v1" client = OpenAI(api_key=openai_api_key, base_url=openai_api_base) response = client.chat.completions.create( model="glm-asr", messages=[ { "role": "user", "content": [ { "type": "audio_url", "audio_url": {"url": "example_zh.wav"} }, { "type": "text", "text": "Please transcribe this audio into text" }, ] } ], max_tokens=1024, ) print(response.choices[0].message.content.strip()) ``` - transformers 4.51.3 (使用未更新之前的模型) ```shell python inference.py --checkpoint_dir zai-org/GLM-ASR-Nano-2512 --audio examples/example_en.wav # 英文 python inference.py --checkpoint_dir zai-org/GLM-ASR-Nano-2512 --audio examples/example_zh.wav # 中文 ``` 对于上述两段示例音频,模型能够生成准确的转录结果: ```shell be careful not to allow fabric to become too hot which can cause shrinkage or in extreme cases scorch 我还能再搞一个,就算是非常小的声音也能识别准确 ```