update readme

This commit is contained in:
lipku 2024-01-28 07:58:46 +08:00
parent 18b5b8b204
commit 69f75f220a
2 changed files with 18 additions and 7 deletions

View File

@ -51,7 +51,14 @@ nginx
``` ```
将echo.html和mpegts-1.7.3.min.js拷到/var/www/html下 将echo.html和mpegts-1.7.3.min.js拷到/var/www/html下
用浏览器打开http://serverip/echo.html, 在文本框输入任意文字,提交。数字人播报该段文字 用浏览器打开http://serverip/echo.html, 在文本框输入任意文字,提交。数字人播报该段文字
### 2.4 使用LLM模型进行数字人对话
目前借鉴数字人对话系统[LinlyTalker](https://github.com/Kedreamix/Linly-Talker)的方式LLM模型支持Chatgpt,Qwen和GeminiPro。需要在app.py中填入自己的api_key。
安装并启动nginx将chat.html和mpegts-1.7.3.min.js拷到/var/www/html下
用浏览器打开http://serverip/chat.html
## 3. Docker Run ## 3. Docker Run
不需要第1步的安装直接运行。 不需要第1步的安装直接运行。
@ -70,7 +77,7 @@ srs和nginx的运行同2.1和2.3
├── data ├── data
│ ├── data_kf.json │ ├── data_kf.json
│ ├── pretrained │ ├── pretrained
│ └── └── ngp_kg.pth │ └── └── ngp_kf.pth
``` ```
@ -82,12 +89,15 @@ srs和nginx的运行同2.1和2.3
整体延时5s多 整体延时5s多
1tts延时2s左右目前用的edgetts需要将每句话转完后一次性输入可以优化tts改成流式输入 1tts延时2s左右目前用的edgetts需要将每句话转完后一次性输入可以优化tts改成流式输入
2wav2vec延时1s多需要缓存50帧音频做计算可以通过-m设置context_size来减少延时 2wav2vec延时1s多需要缓存50帧音频做计算可以通过-m设置context_size来减少延时
3srs转发延时设置srs服务器减少缓冲延时 3srs转发延时设置srs服务器减少缓冲延时。具体配置可看 https://ossrs.net/lts/zh-cn/docs/v5/doc/low-latency, 配置了一个低延时版本
```python
docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 registry.cn-hangzhou.aliyuncs.com/lipku/srs:v1.1
```
## 7. TODO ## 7. TODO
- 添加chatgpt实现数字人对话 - [x] 添加chatgpt实现数字人对话
- 声音克隆 - [ ] 声音克隆
- 数字人静音时用一段视频代替 - [ ] 数字人静音时用一段视频代替
如果本项目对你有帮助帮忙点个star。也欢迎感兴趣的朋友一起来完善该项目。 如果本项目对你有帮助帮忙点个star。也欢迎感兴趣的朋友一起来完善该项目。
Email: lipku@foxmail.com Email: lipku@foxmail.com

3
app.py
View File

@ -38,8 +38,9 @@ async def main(voicename: str, text: str, render):
#file.write(chunk["data"]) #file.write(chunk["data"])
elif chunk["type"] == "WordBoundary": elif chunk["type"] == "WordBoundary":
pass pass
from llm.LLM import *
def llm_response(message): def llm_response(message):
from llm.LLM import LLM
# llm = LLM().init_model('Gemini', model_path= 'gemini-pro',api_key='Your API Key', proxy_url=None) # llm = LLM().init_model('Gemini', model_path= 'gemini-pro',api_key='Your API Key', proxy_url=None)
llm = LLM().init_model('ChatGPT', model_path= 'gpt-3.5-turbo',api_key='Your API Key') llm = LLM().init_model('ChatGPT', model_path= 'gpt-3.5-turbo',api_key='Your API Key')
response = llm.chat(message) response = llm.chat(message)