新闻详情

新闻详情

首页 / 资讯中心 / 详情

如何用 prompt 参数控制 NeMo Canary 多任务模型的任务与输出语言

发布时间:2026/9/14 2:13:28来源:尧图网络
如何用 prompt 参数控制 NeMo Canary 多任务模型的任务与输出语言
如何用 prompt 参数控制 NeMo Canary 多任务模型的任务与输出语言【免费下载链接】SpeechA scalable generative AI framework built for researchers and developers working on Large Language Models, Multimodal, and Speech AI (Automatic Speech Recognition and Text-to-Speech)项目地址: https://gitcode.com/GitHub_Trending/nem/SpeechNeMo 的 Canary 系列是多任务语音模型同一个 checkpoint 既可以做语音转写ASR也可以做语音翻译AST还能控制是否加标点、输出哪种语言。控制这些行为的不是独立的模型分支而是一组 prompt 参数source_lang、target_lang、task、pnc等。在推理时这些参数既可以直接作为model.transcribe()的入参传入也可以写在 manifest 文件里逐条指定。本文以nvidia/canary-1b-v2为例说明这两种传参方式、v1 与 v2/Flash 模型对参数的差异以及如何强制模型只输出单一语言。准备加载 Canary 多任务模型Canary 使用EncDecMultiTaskModel加载参见 ASR 推理文档 的 Multi-task Inference 一节from nemo.collections.asr.models import EncDecMultiTaskModel canary EncDecMultiTaskModel.from_pretrained(nvidia/canary-1b-v2) decode_cfg canary.cfg.decoding decode_cfg.beam.beam_size 1 canary.change_decoding_strategy(decode_cfg)change_decoding_strategy中把beam_size设为 1 是文档示例给出的做法用于在批量转写时控制解码方式。可下载的 Canary checkpoint见 Featured Models 文档包括nvidia/canary-1b-v2— 25 种语言支持 PnC 与 timestampsnvidia/canary-1b-flash/nvidia/canary-180m-flash— 面向速度优化nvidia/canary-qwen-2.5b— 仅英文。注意模型代际Canary v1 与 Canary Flash / v2 的 manifest 字段要求不同下文会区分。方式一把 prompt 参数直接传给 transcribe()最简单的路径是把语言参数直接作为transcribe()的实参无需 manifestresults canary.transcribe( audio[audio.wav], batch_size4, source_langen, target_langen, pncTrue, )各参数的含义来自 Canary Manifest Format 文档参数作用source_lang输入音频语言ISO 语言代码如en、de、estarget_lang输出转写语言ASR 时与source_lang相同翻译时不同pnc是否启用标点与大小写punctuation and capitalization对于 v2/Flash 模型task字段已不存在模型从语言对自动判断是 ASR 还是 ASTsource_lang与target_lang相同即转写不同即翻译。例如德语音频翻译成英语就把source_langde、target_langen反之两者都写de就是德语转写。方式二通过 manifest 逐条指定 prompt 字段批量处理时可以把同样的 prompt 字段写进 manifest每行一个 JSON 对象然后直接把 manifest 传给transcribe()results canary.transcribe(manifest.json, batch_size16)文档明确说明这些键在微调时从 manifest 读取并编码为 prompt tokens推理时则既可以写在 manifest 里也可以作为model.transcribe()的实参传入两者等价。Canary v1如canary-1bmanifest 中四个键全部必填{audio_filepath: audio.wav, text: hello world, duration: 3.5, source_lang: en, task: asr, target_lang: en, pnc: yes}其中task取asr转写或ast翻译pnc取yes或no。Canary Flash / v2如canary-1b-flash、canary-1b-v2去掉了task键pnc变为可选默认yes并新增了若干可选键默认值均来自文档{audio_filepath: audio.wav, text: hello world, duration: 3.5, source_lang: en, target_lang: en, pnc: yes}键必填默认值说明source_lang是—输入音频语言ISO 代码target_lang是—输出语言ASR 与 source 相同翻译时不同pnc否yesyes/no标点与大小写itn否no逆文本正则化timestamp否no预测词级时间戳diarize否no说话人分离decodercontext否上下文偏置如上一段转写文本emotion否undefined说话人情绪提示取值neutral、angry、happy、sad、undefined如果 v1 模型的 manifest 缺少source_lang、target_lang、task、pnc中任一必填键推理时会抛出RuntimeError提示 manifest 缺少哪些键。强制输出单一语言使用多语言 Canary 模型时如果把source_lang和target_lang都显式设为同一种语言模型只按该语言转写results canary.transcribe( audio[audio.wav], source_langde, target_langde, )文档指出这可以防止 phonetic drift——即模型在转写中途擅自切换语言的情况。处理混合语言环境中的德语音频时用这种写法而不是留空参数是更稳妥的选择。可选分支流式解码时用 prompt 前缀传参如果你的推理路径是文档中的流式脚本 speech_to_text_aed_streaming_infer.pyprompt 参数不走transcribe()实参而是在命令行用prompt.前缀追加python3 examples/asr/asr_chunked_inference/aed/speech_to_text_aed_streaming_infer.py \ pretrained_namenvidia/canary-1b-v2 \ dataset_manifestpath to manifest \ left_context_secs10 \ chunk_secs1 \ right_context_secs0.5 \ batch_size32 \ decoding.streaming_policywaitk \ prompt.pncyes \ prompt.taskasr \ prompt.source_langen \ prompt.target_langen文档特别提醒用prompt管理这些参数对 AST 任务尤其重要。注意此脚本示例中task仍作为prompt.task传入asr/ast与 Python API 下 v2 模型由语言对推断任务的行为不完全相同按所用脚本的文档执行即可。结果验证与限制验证方式transcribe()返回的每个结果可通过.text属性读取转写文本文档 Basic Transcription 一节展示了print(outputs[0].text)的读法。对单语言强制场景检查返回文本是否为预期语言即可pnc生效时文本应带标点与首字母大写。v1 与 v2 不可混用v1 的必填task键在 v2/Flash 中已移除反之 v2 的itn、timestamp、diarize等键是 v1 文档未列出的。建 manifest 前先确认所用 checkpoint 的代际。音频要求NeMo ASR 推理要求 16 kHz 单声道音频ASR 推理文档。长音频Canary-1b-v2 支持长音频转写转写单个文件或batch_size1时会自动启用带重叠窗口的动态分块也可以用 asr_chunked_inference 脚本按chunk_len_in_secs默认 40 秒手动分块。需要进一步调解码行为beam、时间戳时可继续参考 ASR 推理文档与 ASR 配置文档manifest 的完整字段定义见 Datasets 文档 的 Canary Manifest Format 一节。【免费下载链接】SpeechA scalable generative AI framework built for researchers and developers working on Large Language Models, Multimodal, and Speech AI (Automatic Speech Recognition and Text-to-Speech)项目地址: https://gitcode.com/GitHub_Trending/nem/Speech创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

ARM交叉编译本质:ABI、架构与工具链的深度协同 2026/9/14 3:10:32

ARM交叉编译本质:ABI、架构与工具链的深度协同

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
VOC数据转YOLO训练:类别映射、坐标归一化与数据体检实战指南 2026/9/14 3:10:32

VOC数据转YOLO训练:类别映射、坐标归一化与数据体检实战指南

简介:面向交通道路目标检测任务的多类别标注数据集,覆盖车辆、行人、自行车与摩托车等常见交通参与者,适合计算机视觉初学者入门实践,也适合自动驾驶、智慧交通等方向的开发者在真实道路场景下进行模型训练与算法验证。压缩包约12…

阅读更多 →
ARM交叉编译本质:ABI对齐与架构直觉 2026/9/14 3:10:32

ARM交叉编译本质:ABI对齐与架构直觉

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
AI英语学习APP开发:核心技术架构与实战经验 2026/9/14 3:10:32

AI英语学习APP开发:核心技术架构与实战经验

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
基于STM32计算器实战:LCD1602与矩阵键盘驱动全解析 2026/9/14 3:10:32

基于STM32计算器实战:LCD1602与矩阵键盘驱动全解析

做单片机课设的时候,老师给的题目单里十有八九有一项“基于STM32的计算器”,甚至很多初学嵌入式的朋友第一个上手项目也是它。这题目看起来没什么技术含量,但真动手做起来,从硬件到软件全是细节——LCD1602这个经典老屏幕的驱动时…

阅读更多 →
uniapp校园二手书城:Vue2跨端实战项目 2026/9/14 3:07:32

uniapp校园二手书城:Vue2跨端实战项目

简介:这是一套面向高校计算机及相关专业学生的毕业设计级项目源码,基于uniapp与Vue2开发的校园二手书城微信小程序及APP双端应用,解决校园教材循环利用与本地化交易场景需求,适用于毕业设计、课程设计、团队实训及前端进阶学习。压…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞