chenjianfei
commited on
Commit
·
921f42f
1
Parent(s):
49e5e54
update README
Browse files
README.md
CHANGED
@@ -1,80 +1,10 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
```
|
13 |
-
conda create -n <env_name> python=3.10
|
14 |
-
conda activate <env_name>
|
15 |
-
conda install pytorch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 -c pytorch
|
16 |
-
pip install -r requirements.txt
|
17 |
-
```
|
18 |
-
|
19 |
-
## 运行
|
20 |
-
运行完整功能,执行
|
21 |
-
```
|
22 |
-
python demo.py
|
23 |
-
```
|
24 |
-
仅运行TTS,执行
|
25 |
-
```
|
26 |
-
python tts_api.py
|
27 |
-
```
|
28 |
-
之后会弹出本地链接,点击,在浏览器中访问
|
29 |
-
|
30 |
-
## Finetune
|
31 |
-
本部分为基于LLaMa Factory微调大模型,并将其部署到ollama中的方法
|
32 |
-
### Step 1
|
33 |
-
基于LLaMa Factory的GUI界面训练模型,结束后导出。如果导出成功,可直接跳到step 3.3的“创建模型”的部分,因为导出功能会自动创建ModelFile(可能需要修改上下文ctx; 也支持在ModelFile中直接设置SYSTEM参数作为系统提示词). 如果导出错误看step 2
|
34 |
-
### Step 2
|
35 |
-
如果基础模型是量化模型,导出时会报错:ValueError: Cannot merge adapters to a quantized model,
|
36 |
-
因为经过LoRA微调的权重是浮点数,不能直接和基础量化模型合并,因此需要加载其非量化的版本再将LoRA权重和基础模型合并,
|
37 |
-
见notebook/微调准备和后处理.ipynb
|
38 |
-
### Step 3
|
39 |
-
合并后的模型需要转成GGUF格式才能用ollama部署。
|
40 |
-
#### 3.1 编译llama.cpp
|
41 |
-
```
|
42 |
-
git clone https://github.com/ggerganov/llama.cpp
|
43 |
-
cd llama.cpp
|
44 |
-
cmake -B build
|
45 |
-
cmake --build build --config Release
|
46 |
-
```
|
47 |
-
#### 3.2 转换成GGUF
|
48 |
-
```
|
49 |
-
python convert_hf_to_gguf.py /path/to/your/merged_model_directory --outfile merged_model.gguf --outtype f16
|
50 |
-
```
|
51 |
-
其中outtype支持'f32', 'f16', 'bf16', 'q8_0', 'tq1_0', 'tq2_0', 'auto'等类型
|
52 |
-
|
53 |
-
#### 3.3 在Ollama中部署微调后的模型
|
54 |
-
* 创建一个名为Modelfile的文件,并在其中包含以下内容:
|
55 |
-
```
|
56 |
-
FROM /path/to/merged_model.gguf
|
57 |
-
```
|
58 |
-
* 创建模型
|
59 |
-
```
|
60 |
-
ollama create my_merged_model -f Modelfile
|
61 |
-
```
|
62 |
-
* 之后即可通过ollama run my_merged_model运行模型,通过ollama show my_merged_model查看模型信息
|
63 |
-
## 更新日志
|
64 |
-
* 2025.04.21: 支持调用Finetune后的模型
|
65 |
-
* 2025.04.16: 知识库调整: 1. 更改默认embed模型 2.json和md文件单独处理 3.支持SimCSE及相似度计算方式
|
66 |
-
* 2025.04.15: 解决ollama上下文截断问题,改为根据token总数自动调整窗口长度
|
67 |
-
* 2025.04.14: 支持检索内容及其分数(距离)显示在对话框,知识库根据角色动态配置
|
68 |
-
* 2025.03.31: 角色扮演模式部分角色添加开场白
|
69 |
-
* 2025.03.28: 支持回复重新生成
|
70 |
-
* 2025.03.27: 支持Qwen系列模型
|
71 |
-
* 2025.03.20: 支持单独运行TTS demo
|
72 |
-
* 2025.03.18: 支持角色扮演模式,可动态选择不同角色及其设定方式
|
73 |
-
* 2025.03.10: 支持联网搜索
|
74 |
-
* 2025.03.07: 区分不同用户,支持历史会话的保存和恢复;支持本地RAG
|
75 |
-
* 2025.03.06: 集成TTS功能
|
76 |
-
|
77 |
-
## Note
|
78 |
-
|
79 |
-
* TTS默认不开启,以加快demo启动速度。点击TTS开关后,第一次执行时会加载模型
|
80 |
-
* 对于Llasa系列模型,若上传自定义音频作为目标音色,需同时提供音频的文本作为输入。暂未支持ASR识别其内容
|
|
|
1 |
+
---
|
2 |
+
title: {{LLM_demo}}
|
3 |
+
emoji: {{😄}}
|
4 |
+
colorFrom: {{red}}
|
5 |
+
colorTo: {{yellow}}
|
6 |
+
sdk: {{gradio}}
|
7 |
+
sdk_version: "{{5.22.0}}"
|
8 |
+
app_file: app.py
|
9 |
+
pinned: false
|
10 |
+
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|