File size: 2,203 Bytes
70e7260
 
 
23baaf1
410b069
 
 
 
 
70e7260
 
 
f6e2f4a
 
70e7260
 
9ee0fe7
70e7260
 
 
 
 
 
9d35dee
70e7260
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6ef0e23
 
70e7260
9d35dee
 
 
70e7260
 
 
 
 
 
 
 
 
 
 
 
 
 
 
492801c
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
---
base_model:
- THUDM/glm-4-voice-9b
base_model_relation: quantized
language:
- zh
- en
tags:
- chatglm
---
# GLM-4-Voice-9B (INT4 Quantized)

[中文](README.md) | [English](README_en.md)

## 模型简介
GLM-4-Voice 是智谱 AI 推出的端到端语音模型。GLM-4-Voice 能够直接理解和生成中英文语音,进行实时语音对话,并且能够根据用户的指令改变语音的情感、语调、语速、方言等属性。
本仓库是GLM-4-Voice-9B经过INT4量化的版本。经过优化后,显存需求显著降低,仅需12GB显存即可运行。经过测试,该模型可在NVIDIA GeForce RTX 3060 12GB显卡上流畅运行。

## 使用教程

### 创建虚拟环境
首先,确保使用Python 3.10,创建虚拟环境:
```bash
# 亲测不支持python3.8/3.9/3.12,存在库兼容问题
conda create -n GLM-4-Voice python=3.10
```

### 激活虚拟环境并克隆模型
激活虚拟环境后,克隆模型和代码:
```bash
conda activate GLM-4-Voice
git clone https://huggingface.co/cydxg/glm-4-voice-9b-int4
```
对于中国大陆用户,可以使用以下命令进行克隆:
```bash
git clone https://hf-mirror.com/cydxg/glm-4-voice-9b-int4
```

### 安装依赖
进入模型目录并安装所需依赖:
```bash
cd glm-4-voice-9b-int4
conda install -c conda-forge openfst
conda install -c conda-forge pynini==2.1.5
pip install -r requirements.txt
mkdir third_party
cd third_party
git clone https://github.com/shivammehta25/Matcha-TTS Matcha-TTS
# 根据自己的CUDA版本选择torch
conda install pytorch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 pytorch-cuda=12.4 -c pytorch -c nvidia
```

### 启动模型服务
首先启动模型服务:
```bash
python model_server.py
```

### 运行网页Demo
接着运行网页Demo以访问模型:
```bash
python web_demo.py
```
即可通过访问 `http://localhost:8888` 来使用模型。

### 额外依赖
如果运行web_demo提示没有matcha.models
```bash
ModuleNotFoundError: No module named 'matcha.models'; 'matcha' is not a package
```
则需安装matcha-tts
```bash
# 先卸载 gradio 和 diffusers ,避免出现版本冲突
pip uninstall gradio
pip uninstall diffusers
pip install matcha-tts
```