From 69f75f220a2d952df5d92a820143fa32d26328af Mon Sep 17 00:00:00 2001 From: lipku Date: Sun, 28 Jan 2024 07:58:46 +0800 Subject: [PATCH] update readme --- README.md | 22 ++++++++++++++++------ app.py | 3 ++- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 93a885e..43ddb31 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,14 @@ nginx ``` 将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 不需要第1步的安装,直接运行。 @@ -70,7 +77,7 @@ srs和nginx的运行同2.1和2.3 ├── data │ ├── data_kf.json │ ├── pretrained -│ └── └── ngp_kg.pth +│ └── └── ngp_kf.pth ``` @@ -82,12 +89,15 @@ srs和nginx的运行同2.1和2.3 整体延时5s多 (1)tts延时2s左右,目前用的edgetts,需要将每句话转完后一次性输入,可以优化tts改成流式输入 (2)wav2vec延时1s多,需要缓存50帧音频做计算,可以通过-m设置context_size来减少延时 -(3)srs转发延时,设置srs服务器减少缓冲延时 +(3)srs转发延时,设置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 -- 添加chatgpt实现数字人对话 -- 声音克隆 -- 数字人静音时用一段视频代替 +- [x] 添加chatgpt实现数字人对话 +- [ ] 声音克隆 +- [ ] 数字人静音时用一段视频代替 如果本项目对你有帮助,帮忙点个star。也欢迎感兴趣的朋友一起来完善该项目。 Email: lipku@foxmail.com diff --git a/app.py b/app.py index 0ce8d8f..c7ebfce 100644 --- a/app.py +++ b/app.py @@ -38,8 +38,9 @@ async def main(voicename: str, text: str, render): #file.write(chunk["data"]) elif chunk["type"] == "WordBoundary": pass -from llm.LLM import * + 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('ChatGPT', model_path= 'gpt-3.5-turbo',api_key='Your API Key') response = llm.chat(message)