WhisperBot:整合了Mistral大型语言模型的实时语音转文本系统

本文主要是介绍WhisperBot:整合了Mistral大型语言模型的实时语音转文本系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目简介

欢迎来到 WhisperBot。WhisperBot 基于 WhisperLive 和 WhisperSpeech 的功能而构建,在实时语音到文本管道之上集成了大型语言模型 Mistral (LLM)。WhisperLive 依赖于 OpenAI Whisper,这是一个强大的自动语音识别 (ASR) 系统。Mistral 和 Whisper 都经过优化,可作为 TensorRT 引擎高效运行,从而最大限度地提高性能和实时处理能力。

特征

  • 实时语音转文本:利用 OpenAI WhisperLive 将口语实时转换为文本。

  • 大型语言模型集成:添加大型语言模型 Mistral,以增强对转录文本的理解和上下文。

  • TensorRT 优化:Mistral 和 Whisper 都经过优化,可作为 TensorRT 引擎运行,确保高性能和低延迟处理。

先决条件

安装 TensorRT-LLM 来构建 Whisper 和 Mistral TensorRT 引擎。自述文件为 TensorRT-LLM 构建了一个 docker 镜像。除了构建 docker 镜像之外,我们还可以参考 README 和 Dockerfile.multi 在基础 pytroch docker 镜像中安装所需的包。只要确保使用 dockerfile 中提到的正确的基础镜像,一切都会顺利进行。

构建 Whisper TensorRT 引擎

  • 将工作目录更改为 TensorRT-LLM 中的耳语示例目录。

cd TensorRT-LLM/examples/whisper
  • 目前,默认情况下 TensorRT-LLM 仅支持 large-v2 和 large-v3 。在此存储库中,我们使用 small.en 。

  • 下载所需的资源。

wget --directory-prefix=assets assets/mel_filters.npz https://raw.githubusercontent.com/openai/whisper/main/whisper/assets/mel_filters.npz
# small.en modelwget --directory-prefix=assets https://openaipublic.azureedge.net/main/whisper/models/f953ad0fd29cacd07d5a9eda5624af0f6bcf2258be67c92b79389873d91e0872/small.en.pt
  • 编辑 build.py 以支持 small.en 。为此,请将 "small.en" 添加为列表 choices 中的项目。

  • 构建 small.en TensorRT 引擎。

pip install -r requirements.txtpython3 build.py --output_dir whisper_small_en --use_gpt_attention_plugin --use_gemm_plugin --use_layernorm_plugin  --use_bert_attention_plugin --model_name small.en

构建 Mistral TensorRT 引擎

  • 将工作目录更改为 TensorRT-LLM 文件夹中的 llama 示例目录。

cd TensorRT-LLM/examples/llama
  • 将 Mistral 转换为 fp16 TensorRT 引擎。

    
    python build.py --model_dir teknium/OpenHermes-2.5-Mistral-7B \--dtype float16 \--remove_input_padding \--use_gpt_attention_plugin float16 \--enable_context_fmha \--use_gemm_plugin float16 \--output_dir ./tmp/mistral/7B/trt_engines/fp16/1-gpu/ \--max_input_len 5000--max_batch_size 1

构建 Phi TensorRT 引擎

注意:Phi 仅在主分支可用,尚未发布。因此,请确保从主分支构建 TensorRT-LLM。

  • 将工作目录更改为 TensorRT-LLM 文件夹中的 phi 示例目录。

cd TensorRT-LLM/examples/phi
  • 构建 phi TensorRT 引擎

git lfs install
git clone https://huggingface.co/microsoft/phi-2
python3 build.py --dtype=float16                    \--log_level=verbose                \--use_gpt_attention_plugin float16 \--use_gemm_plugin float16          \--max_batch_size=16                \--max_input_len=1024               \--max_output_len=1024              \--output_dir=phi_engine            \--model_dir=phi-2>&1 | tee build.log

项目链接

https://github.com/collabora/WhisperBot

这篇关于WhisperBot:整合了Mistral大型语言模型的实时语音转文本系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/657415

相关文章

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

Springboot整合Redis主从实践

《Springboot整合Redis主从实践》:本文主要介绍Springboot整合Redis主从的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言原配置现配置测试LettuceConnectionFactory.setShareNativeConnect

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码