阿里诚意开源组件拼成GPT-4o开源模型
在看了阿里最有诚意的开源项目FunAudioLLM之后,一个念头就冒了出来:为什么不把它整合成一套语音输入、语音输出的工具呢?这样一来,J A R V I S的基础部分——语音对话能力——就有了雏形。FunAudioLLM恰好提供了语音输入与语音输出两个模型,输出端甚至支持声音定制。 至于大脑,阿里
在看了阿里最有诚意的开源项目FunAudioLLM之后,一个念头就冒了出来:为什么不把它整合成一套语音输入、语音输出的工具呢?这样一来,J.A.R.V.I.S的基础部分——语音对话能力——就有了雏形。FunAudioLLM恰好提供了语音输入与语音输出两个模型,输出端甚至支持声音定制。
至于大脑,阿里另一个诚意满满的开源项目QWen2,同样是开源模型里的扛把子。于是,下面这个架构是不是看起来挺完整的?
实际效果如何?这是一个完全基于Web的版本,当然,如果想改成其他类型的App,也不算难事。毕竟有了GPT一类的助手,做个Wrapper非常轻松。
给你听听最终生成的声音:
## 安装
整个安装过程没有想象中那么复杂,需要搭建三个基础模型的运行环境。
### 第一个:CosyVoice
其实完全可以按照官方说明来安装配置,但国内网络环境有些地方需要特殊处理。
```bash
# 下面这几步居然需要魔法了,你敢信?????程序员得罪谁了?
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
# 如果克隆子模块因网络失败,可反复执行以下命令直到成功
cd CosyVoice
git submodule update --init --recursive
```
Conda的安装就不展开了,如果连Conda都不会用,大概率也不会看到这里。假设你用的是Ubuntu系统(我的是22.04):
```bash
conda create -n cosyvoice python=3.8
conda activate cosyvoice
# pynini 被 WeTextProcessing 依赖,用conda安装可以跨平台
conda install -y -c conda-forge pynini==2.1.5
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
# 如果遇到 sox 兼容问题
# Ubuntu
sudo apt-get install sox libsox-dev
```
环境装完后,下载模型。国内的ModelScope下载镜像真的很快。
可以在Python交互环境中执行以下代码:
```python
from modelscope import snapshot_download
snapshot_download('iic/CosyVoice-300M', local_dir='pretrained_models/CosyVoice-300M')
snapshot_download('iic/CosyVoice-300M-SFT', local_dir='pretrained_models/CosyVoice-300M-SFT')
snapshot_download('iic/CosyVoice-300M-Instruct', local_dir='pretrained_models/CosyVoice-300M-Instruct')
snapshot_download('iic/CosyVoice-ttsfrd', local_dir='pretrained_models/CosyVoice-ttsfrd')
```
测试一下:
```bash
export PYTHONPATH=third_party/Matcha-TTS # 这一步很重要
```
然后将下面的代码存成Python文件直接测试:
```python
from cosyvoice.cli.cosyvoice import CosyVoice
from cosyvoice.utils.file_utils import load_wa v
import torchaudio
cosyvoice = CosyVoice('pretrained_models/CosyVoice-300M-SFT')
# sft usage
print(cosyvoice.list_a valiable_spks())
output = cosyvoice.inference_sft('你好,我是通义生成式语音大模型,请问有什么可以帮您的吗?', '中文女')
torchaudio.sa ve('sft.wa v', output['tts_speech'], 22050)
cosyvoice = CosyVoice('pretrained_models/CosyVoice-300M')
# zero_shot usage, <|zh|><|en|><|jp|><|yue|><|ko|> 分别对应中/英/日/粤/韩
prompt_speech_16k = load_wa v('zero_shot_prompt.wa v', 16000)
output = cosyvoice.inference_zero_shot('收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。', '希望你以后能够做的比我还好呦。', prompt_speech_16k)
torchaudio.sa ve('zero_shot.wa v', output['tts_speech'], 22050)
# cross_lingual usage
prompt_speech_16k = load_wa v('cross_lingual_prompt.wa v', 16000)
output = cosyvoice.inference_cross_lingual('<|en|>And then later on, fully acquiring that company. So keeping management in line, interest in line with the asset that's coming into the family is a reason why sometimes we don't buy the whole thing.', prompt_speech_16k)
torchaudio.sa ve('cross_lingual.wa v', output['tts_speech'], 22050)
cosyvoice = CosyVoice('pretrained_models/CosyVoice-300M-Instruct')
# instruct usage, support [laughter][breath]
output = cosyvoice.inference_instruct('在面对挑战时,他展现了非凡的勇气与智慧。', '中文男', 'Theo \'Crimson\', is a fiery, passionate rebel leader. Fights with fervor for justice, but struggles with impulsiveness.')
torchaudio.sa ve('instruct.wa v', output['tts_speech'], 22050)
```
如果能顺利生成几个音频文件,就说明成功了一大半。
### 第二个:SenseVoice
如果CosyVoice顺利安装,下面操作就简单了。
```bash
git clone https://github.com/FunAudioLLM/SenseVoice.git
cd SenseVoice
pip install -r requirements.txt # 想快一点可以加 -i https://pypi.tuna.tsinghua.edu.cn/simple
```
然后执行测试代码:
```python
from model import SenseVoiceSmall
model_dir = "iic/SenseVoiceSmall"
m, kwargs = SenseVoiceSmall.from_pretrained(model=model_dir)
res = m.inference(
data_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wa v",
language="zh", # "zn", "en", "yue", "ja", "ko", "nospeech"
use_itn=False,
**kwargs,
)
print(res)
```
如果正常执行,输出类似:
```
([{'key': 'wa v_file_tmp_name', 'text': '<|zh|><|NEUTRAL|><|Speech|><|woitn|>欢迎大家来体验打摩院推出的语音识别模型'}], {'load_data': '0.338', 'extract_feat': '0.020', 'batch_data_time': 5.58})
```
### 第三个:Ollama + Qwen2
STT和TTS都验证通过后,就该给系统装上大脑——Qwen2。为了服务的便捷和可替换性,选用了流行的LLM服务框架Ollama。
```bash
# Linux安装方法,前提是已安装好NVIDIA驱动
sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/bin/ollama
sudo chmod +x /usr/bin/ollama
sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama
```
编辑 /etc/systemd/system/ollama.service:
```
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
[Install]
WantedBy=default.target
```
执行服务命令:
```bash
sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl start ollama
```
最后运行特定模型,进入简单对话界面:
```bash
ollama run qwen2:7b
```
至此,所有基础部件都安装完成。
## 接口调用
写一个简单的Python文件,将三个组件串起来:
```python
import sys
sys.path.append("/data/home/todo/SenseVoice")
sys.path.append("/data/home/todo/CosyVoice")
import requests
from model import SenseVoiceSmall
from cosyvoice.cli.cosyvoice import CosyVoice
import torchaudio
# Paths and URLs
audio_file_path = "/data/home/todo/aliAllInOne/asr_example_zh.wa v"
ollama_url = "http://localhost:11434/api/generate"
cosyvoice_model_path = '/data/home/todo/CosyVoice/pretrained_models/CosyVoice-300M-SFT'
generated_audio_path = "/data/home/todo/aliAllInOne/generated_audio.wa v"
# Load the SenseVoiceSmall model
model_dir = "iic/SenseVoiceSmall"
model_dir = "/home/todo/.cache/modelscope/hub/iic/SenseVoiceSmall"
m, kwargs = SenseVoiceSmall.from_pretrained(model=model_dir)
def call_sense_voice_small(audio_path, language="zh"):
res = m.inference(
data_in=audio_path,
language=language,
use_itn=False,
**kwargs,
)
return res[0][0]['text']
def call_ollama_service(content):
response = requests.post(
ollama_url,
json={
"model": "qwen2:7b",
"prompt": content,
"format": "json",
"stream": False
}
)
if response.status_code == 200:
return response.json()["response"]
else:
return "Error: Unable to get response from Ollama service."
def generate_speech_with_cosyvoice(text, speaker="中文女"):
cosyvoice = CosyVoice(cosyvoice_model_path)
output = cosyvoice.inference_sft(text, speaker)
torchaudio.sa ve(generated_audio_path, output['tts_speech'], 22050)
def main():
sense_voice_result = call_sense_voice_small(audio_file_path)
print("SenseVoiceSmall Result:", sense_voice_result)
ollama_result = call_ollama_service(sense_voice_result)
print("Ollama Service Result:", ollama_result)
generate_speech_with_cosyvoice(ollama_result)
print(f"Generated audio sa ved to {generated_audio_path}")
if __name__ == "__main__":
main()
```
生成的语音是什么?下面是程序实际生成的:
(此处应有音频链接或描述,原文中已提供)
## 界面
这部分交给你自己完成——毕竟基础框架已经搭好了。
来源:https://www.53ai.com/news/OpenSourceLLM/2024071769081.html
实际效果如何?这是一个完全基于Web的版本,当然,如果想改成其他类型的App,也不算难事。毕竟有了GPT一类的助手,做个Wrapper非常轻松。
给你听听最终生成的声音:
## 安装
整个安装过程没有想象中那么复杂,需要搭建三个基础模型的运行环境。
### 第一个:CosyVoice
其实完全可以按照官方说明来安装配置,但国内网络环境有些地方需要特殊处理。
```bash
# 下面这几步居然需要魔法了,你敢信?????程序员得罪谁了?
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
# 如果克隆子模块因网络失败,可反复执行以下命令直到成功
cd CosyVoice
git submodule update --init --recursive
```
Conda的安装就不展开了,如果连Conda都不会用,大概率也不会看到这里。假设你用的是Ubuntu系统(我的是22.04):
```bash
conda create -n cosyvoice python=3.8
conda activate cosyvoice
# pynini 被 WeTextProcessing 依赖,用conda安装可以跨平台
conda install -y -c conda-forge pynini==2.1.5
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
# 如果遇到 sox 兼容问题
# Ubuntu
sudo apt-get install sox libsox-dev
```
环境装完后,下载模型。国内的ModelScope下载镜像真的很快。
可以在Python交互环境中执行以下代码:
```python
from modelscope import snapshot_download
snapshot_download('iic/CosyVoice-300M', local_dir='pretrained_models/CosyVoice-300M')
snapshot_download('iic/CosyVoice-300M-SFT', local_dir='pretrained_models/CosyVoice-300M-SFT')
snapshot_download('iic/CosyVoice-300M-Instruct', local_dir='pretrained_models/CosyVoice-300M-Instruct')
snapshot_download('iic/CosyVoice-ttsfrd', local_dir='pretrained_models/CosyVoice-ttsfrd')
```
测试一下:
```bash
export PYTHONPATH=third_party/Matcha-TTS # 这一步很重要
```
然后将下面的代码存成Python文件直接测试:
```python
from cosyvoice.cli.cosyvoice import CosyVoice
from cosyvoice.utils.file_utils import load_wa v
import torchaudio
cosyvoice = CosyVoice('pretrained_models/CosyVoice-300M-SFT')
# sft usage
print(cosyvoice.list_a valiable_spks())
output = cosyvoice.inference_sft('你好,我是通义生成式语音大模型,请问有什么可以帮您的吗?', '中文女')
torchaudio.sa ve('sft.wa v', output['tts_speech'], 22050)
cosyvoice = CosyVoice('pretrained_models/CosyVoice-300M')
# zero_shot usage, <|zh|><|en|><|jp|><|yue|><|ko|> 分别对应中/英/日/粤/韩
prompt_speech_16k = load_wa v('zero_shot_prompt.wa v', 16000)
output = cosyvoice.inference_zero_shot('收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。', '希望你以后能够做的比我还好呦。', prompt_speech_16k)
torchaudio.sa ve('zero_shot.wa v', output['tts_speech'], 22050)
# cross_lingual usage
prompt_speech_16k = load_wa v('cross_lingual_prompt.wa v', 16000)
output = cosyvoice.inference_cross_lingual('<|en|>And then later on, fully acquiring that company. So keeping management in line, interest in line with the asset that's coming into the family is a reason why sometimes we don't buy the whole thing.', prompt_speech_16k)
torchaudio.sa ve('cross_lingual.wa v', output['tts_speech'], 22050)
cosyvoice = CosyVoice('pretrained_models/CosyVoice-300M-Instruct')
# instruct usage, support
热点追踪提示词
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:阿里诚意开源组件拼成GPT-4o开源模型要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
上一篇:专业技能的高效撰写方法
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点AI热点2026-07-16 23:00
佑驾创新与乐动机器人达成战略合作共谋发展
佑驾创新与乐动机器人达成战略合作,围绕技术、产品、场景、数据四维度展开深度协同,旨在加速物理AI规模化落地,拓展无人车与机器人场景边界,推动具身智能商业化进程。
AI热点2026-07-16 23:00
Meta出售算力非清库存,市场需求驱动付费意愿
Meta开放AI算力租赁业务,市场反应从算力过剩转向算力商业运营。GPU从自用转向对外出租,算力从成本中心转为利润中心。AI云竞争核心从拥有GPU数量转向稳定跑满GPU的能力,依赖同步与参考时钟等底层基础设施的长期稳定运行。
AI热点2026-07-16 23:00
大仓AI工程化实战 从Vibe Coding到Harness
针对大型多仓库工程(30+微服务、10+前端微应用),搭建包含规则、技能、子代理、13阶段工作流与门禁脚本的Harness系统,解决PRD不可信、方案与代码脱节、改完无人验证、交付环节琐碎等痛点,使AI在真实业务中稳定跑完需求。
AI热点2026-07-16 22:59
MCP Toolbox部署前别急着动手
部署MCP Toolbox前,先看清它的适用场景与安全边界,避免在权限管理不完善时接入敏感数据。 核心内容: 1 MCP Toolbox的核心功能与两种使用路线 2 项目适合与不适合的团队场景分析 3 实际验证的安全检查与关键限制 先说结论 MCP Toolbox 很适合小团队研究“让 AI
- 日榜
- 周榜
- 月榜
热点快看
