当前位置: 首页 > news >正文

LLaMA-Omni 2:基于 LLM 的自回归流语音合成实时口语聊天机器人

LLaMA-Omni 2 是基于 Qwen2.5-0.5B/1.5B/3B/7B/14B/32B-Instruct 模型的一系列语音语言模型。与 LLaMA-Omni 类似,它可以同时生成文本和语音应答,从而实现高质量、低延迟的语音交互。通过新引入的流式自回归语音解码器,LLaMA-Omni 2 与 LLaMA-Omni 相比实现了更高的语音质量。

在这里插入图片描述

安装

git clone https://github.com/ictnlp/LLaMA-Omni2
cd LLaMA-Omni2conda create -n llama-omni2 python=3.10
conda activate llama-omni2
pip install -e .

快手上手

下载Whisper large v3

import whisper
model = whisper.load_model("large-v3", download_root="models/speech_encoder/")

下载 CosyVoice 2

huggingface-cli download --resume-download ICTNLP/cosy2_decoder --local-dir models/cosy2_decoder

从 Hugging Face 下载 LLaMA-Omni2 系列型号。LLaMA-Omni2-0.5B/1.5B/3B/7B/14B 仅支持英文,而 LLaMA-Omni2-0.5B/1.5B/3B/7B/14B/32B-Bilingual 支持中英文

LLaMA-Omni2LLaMA-Omni2-Bilingual
🤗 LLaMA-Omni2-0.5B🤗 LLaMA-Omni2-0.5B-Bilingual
🤗 LLaMA-Omni2-1.5B🤗 LLaMA-Omni2-1.5B-Bilingual
🤗 LLaMA-Omni2-3B🤗 LLaMA-Omni2-3B-Bilingual
🤗 LLaMA-Omni2-7B🤗 LLaMA-Omni2-7B-Bilingual
🤗 LLaMA-Omni2-14B🤗 LLaMA-Omni2-14B-Bilingual
-🤗 LLaMA-Omni2-32B-Bilingual

Gradio

controller

python -m llama_omni2.serve.controller --host 0.0.0.0 --port 10000

server

python -m llama_omni2.serve.gradio_web_server --controller http://localhost:10000 --port 8000 --vocoder-dir models/cosy2_decoder

worker

python -m llama_omni2.serve.model_worker --host 0.0.0.0 --controller http://localhost:10000 --port 40000 --worker http://localhost:40000 --model-path models/$model_name --model-name $model_name

访问 http://localhost:8000/ 并与 LLaMA-Omni2 互动!

本地推理

output_dir=examples/$model_name
mkdir -p $output_dirpython llama_omni2/inference/run_llama_omni2.py \--model_path models/$model_name \--question_file examples/questions.json \--answer_file $output_dir/answers.jsonl \--temperature 0 \--s2spython llama_omni2/inference/run_cosy2_decoder.py \--input-path $output_dir/answers.jsonl \--output-dir $output_dir/wav \--lang en

鸣谢

  • CosyVoice 2:我们使用 CosyVoice 2 的预训练语音标记器、语流匹配模型和声码器。
  • SLAM-LLM:我们借用了语音编码器和语音适配器的一些代码。
http://www.xdnf.cn/news/316009.html

相关文章:

  • 单片机-STM32部分:6、不同编程方式-寄存器、标准库、HAL库、LL库
  • 中间件-RocketMQ
  • k8s | Kubernetes 服务暴露:NodePort、Ingress 与 YAML 配置详解
  • 【代码优化篇】强缓存和协商缓存
  • ABP-Book Store Application中文讲解 - 前期准备 - Part 2:创建Acme.BookStore + Angular
  • 【ArcGIS Pro微课1000例】0068:Pro原来可以制作演示文稿(PPT)
  • 理解与清理 Docker 中的悬空镜像(Dangling Images)
  • 8.12 GitHub Sentinel企业级进化:容器化优化×AI监控,效率提升300%实战
  • HarmonyOS运动开发:如何集成百度地图SDK、运动跟随与运动公里数记录
  • 实践004-Gitlab CICD部署应用
  • 小刚说C语言刷题—1331 做彩纸花边
  • 五、Hadoop集群部署:从零搭建三节点Hadoop环境(保姆级教程)
  • Spark和Hadoop之间的联系
  • JDK Version Manager (JVMS)
  • 【论文阅读】在调制分类中针对对抗性攻击的混合训练时和运行时防御
  • Web 架构之动静分离:原理、实践与优化
  • WHAT - Rust 智能指针
  • 【PostgreSQL】数据库主从库备份与高可用部署
  • 探索智能体开发新边界:Cangjie Magic开源平台体验与解析
  • maven基本介绍
  • Nginx+Lua+Redis实现灰度发布
  • spring4.x详解介绍
  • 一个电平转换电路导致MCU/FPGA通讯波形失真的原因分析
  • Go语言八股之channel详解
  • LeetCode 热题 100 64. 最小路径和
  • 明远智睿SD2351核心板:工业AIoT时代的创新引擎
  • 大数据、物联网(IoT)、平台架构与设计重构大模型应用
  • 轻松管理房间预约——启辰智慧预约小程序端使用教程
  • 软考 系统架构设计师系列知识点 —— 黑盒测试与白盒测试(2)
  • Linux中的`export` 设置的环境变量是临时的吗?如何永久生效?