数字人解决方案——实时对话数字人源码与环境配置

前言

1.从技术角度来看,现在的数学人就是一个缝合怪,把各种技术点都整合在一起,用来实现直播、对话等数字人。技术流程大概如下图:

 其实最重要的一环应该属于LLM(大型语言模型),LLM相当于一个人的意识,如果没有LLM,这一套完全没有深度。

2.数学人的呈现方式有现在基本上可以分为三种,2D、2.5D、3D这三种,2D是最常见的用一段语音去驱动一张照片,2.5D比2D多一些肢体动作,3D是UE建模。

3.我这里部署的是2D实时对话的数字人,部署环境是win 10、cuda 11.7、cudnn 8.5、GPU是3060(6G显存)。

2D实时对话数字人

因为这个项目本身就是一个缝合的项目,所以尽量使用Anaconda来创建环境,这样项目之间就不存在依赖互相干扰的问题。python使用python3.9或者3.10。

一.项目源码

缝合连接的源码可使用开源的Fay这个代码,这个代码里面有连接各种API和部署本地库的,源码地址:GitHub - TheRamU/Fay: Fay是一个完整的开源项目,包含Fay控制器及数字人模型,可灵活组合出不同的应用场景:虚拟主播、现场推销货、商品导购、语音助理、远程语音助理、数字人互动、数字人面试官及心理测评、贾维斯、Her。 开源项目,非产品试用!!!Fay是一个完整的开源项目,包含Fay控制器及数字人模型,可灵活组合出不同的应用场景:虚拟主播、现场推销货、商品导购、语音助理、远程语音助理、数字人互动、数字人面试官及心理测评、贾维斯、Her。 开源项目,非产品试用!!! - GitHub - TheRamU/Fay: Fay是一个完整的开源项目,包含Fay控制器及数字人模型,可灵活组合出不同的应用场景:虚拟主播、现场推销货、商品导购、语音助理、远程语音助理、数字人互动、数字人面试官及心理测评、贾维斯、Her。 开源项目,非产品试用!!!https://github.com/TheRamU/Fay

2D数字人源码地址:

https://github.com/waityousea/xunirenhttps://github.com/waityousea/xuniren

LLM用是清华开源的ChatGLM源码地址:GitHub - THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 开源双语对话语言模型ChatGLM-6B: An Open Bilingual Dialogue Language Model | 开源双语对话语言模型 - GitHub - THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 开源双语对话语言模型https://github.com/THUDM/ChatGLM-6B

二.Fay环境安装

 conda create --name fay python=3.10activate fay

安装fay所需要的环境依赖:

git clone https://github.com/TheRamU/Fay.git
cd xx/xx/fay
pip install -r requirements.txt

打开fay项目下的system.conf文件,添加用到的Key,关于这些key如何获取,可以参与fay给参考教程:

Fay控制器部署及必须的key如何获取_哔哩哔哩_bilibiliFay是一个完整的开源项目,包含Fay控制器及数字人模型,可灵活组合出不同的应用场景:虚拟主播、现场推销货、商品导购、语音助理、远程语音助理、数字人互动、数字人面试官及心理测评、贾维斯、Her。开源地址:https://github.com/TheRamU/Fay公众号:《fay数字人》, 视频播放量 1897、弹幕量 0、点赞数 5、投硬币枚数 4、收藏人数 12、转发人数 8, 视频作者 xszyou, 作者简介 ,相关视频:Fay(github数字人开源项目):直播间搭建,开源项目:数字人FAY——Fay新架构使用讲解,SadTalker无限免费数字人,动手给fay(github数字人开源项目)加上rasa及chatglm:兼顾实时、可控、记忆及大模型的生成能力,chatgpt4彩蛋:fay(github数字人开源项目),给Fay加上本地免费语音识别(达摩院funaar),(yolov8+VisualGLM)让你的fay数字人助理看得见,单张照片生成MetaHuman数字人,Fay(github数字人开源项目):UE工程讲解,如何搭建数字人直播间并开播https://www.bilibili.com/video/BV1go4y1L7oe/?spm_id_from=333.999.0.0&vd_source=d08e238ac726c4b15a0e12ffd5176ee5


[key]
#funasr / ali
ASR_mode = ali
#ASR二选一(需要运行fay/test/funasr服务)集成达摩院asr项目、感谢中科大脑算法工程师张聪聪提供集成代码
local_asr_ip=127.0.0.1
local_asr_port=10197# ASR二选一(第1次运行建议用这个,免费3个月), 阿里云 实时语音识别 服务密钥(必须)https://ai.aliyun.com/nls/trans
ali_nls_key_id=
ali_nls_key_secret=
ali_nls_app_key=# 微软 文字转语音 服务密钥(非必须,使用可产生不同情绪的音频)https://azure.microsoft.com/zh-cn/services/cognitive-services/text-to-speech/
ms_tts_key=
ms_tts_region=# 讯飞 情绪分析 服务密钥 https://www.xfyun.cn/service/emotion-analysis/
xf_ltp_app_id=
xf_ltp_api_key=#NLP多选一:xfaiui、yuan、chatgpt、rasa(需启动chatglm及rasa,https://m.bilibili.com/video/BV1D14y1f7pr)、VisualGLM
chat_module=xfaiui# 讯飞 自然语言处理 服务密钥(NLP3选1) https://aiui.xfyun.cn/solution/webapi/
xf_aiui_app_id=
xf_aiui_api_key=#浪.潮源大模型 服务密钥(NLP3选1) https://air.inspur.com/
yuan_1_0_account=  
yuan_1_0_phone=#gpt 服务密钥(NLP3选1) https://openai.com/
chatgpt_api_key=#ngrok内网穿透id,远程设备可以通过互联网连接Fay(非必须)http://ngrok.cc
ngrok_cc_id=#revChatGPT对接(非必须,https://chat.openai.com登录后访问https://chat.openai.com/api/auth/session获取)
gpt_access_token=
gpt_conversation_id=

绑定完使用到的key,启动fay看看是否能交互。

python main.py

文字输入:

 语音输入:

 这样代表fay启动成功,文字和语音都能进行交互。

三. 2D数字人部署

环境安装

 conda create --name xuniren python=3.10activate xuniren

项目下载与依赖torch:

git clone https://github.com/waityousea/xuniren.git
cd xuniren
conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.7 -c pytorch -c nvidia
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
pip install -r requirements.txt

安装pytorch 3D(win下这一步比较容易报错)

git clone https://github.com/facebookresearch/pytorch3d.git
cd pytorch3d
python setup.py install

安装完成之后运行api看看是否有报错。

python fay_connect.py

 四.数字人实现对话

要与数字人对话,按前言给的流程图,要实现语音文字、LLM、文字转语音、合成视频,这里可以先试试线上的语言模型。

1.启动fay

cd xx/xx/Fay
activate fay
python main.py

可以看到1003接口已打开

2.打开一个新conda终端启动数字人

cd xx/xx/xuniren
activate xuniren
python fay_connect.py

此时1002口也连接上,数字人终端可以检测到fay面板已经打开

3.打开fay的控制面板,启动数字人助理

4.开始交互

语音识别后,提交给语言模型,模型回答后生成语音,把语音保存的地地址发给数字人,生成的语音是mp3格式的,把mp3转成wav,然后通过模型合成视频,合成后对视频进行播放。

 这就是一个简单的对话数字人的全部过程,这里除了语音合成视频用的本地模型之外,都用的是在线的api,在6G的GPU在,1秒的时间,大概能生成1秒左右的视频。

五.本地部署ChatGLM

如果想要数字人有自己的知识库,或者有自己回答问题的方式,就要接入私有化的LLM,Fay有接入ChatGLM的接口,也可以按Fay的代码接入微调过的LLM。

1.ChatGLM-6B

ChatGLM-6B 是清华开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。我笔记本的3060刚刚好6G,那可以用GLM试试。

2.源码下载与环境依赖

为了方便管理,这里还是用conda创建环境

git clone https://github.com/THUDM/ChatGLM-6B
cd ChatGLM-6B
conda create --name GLM python=3.10
activate GLM
conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.7 -c pytorch -c nvidia
pip install -r requirements.txt

3.更改模型精度

我当前笔记本的GPU只有6G,所以要更改模型精度,要不然会报内存不够的错误。

更改api.py文件

4.运行ChatGLM

更改完成之后,运行api.py,这里会下载12G大小的模型,下载的过程中可能会出现中断,多运行几次就可以了,下载的时间看自己的网速快慢。当出现以下界面,GLM安装成功。

六、对接本地语言模型

1.要实现对接本地的语言模型步骤有些多,fay提供了对接rasa加GLM的方法,首先要更改fay的配置文件,把语言模型改成如下:

改完成之后,启动第一个fay的conda环境并运行main.py程序,窗口放着不用动。

activate fay
python main.py

 2.启动多一个fay的conda环境,用来运行rasa

activate fay
cd fay/test/rasa
pip install rasa
rasa run actions

 运行结果如下:

 3.再启动一个fay的conda环境,用来对接GLM

activate fay
cd fay/test/rasa

然后运行 rasa shell 来测试是否能连上GLM,在Your input处提出问题看看是否能得到相应的答案。

 如果运行成功,终止掉rasa shell,启动rasa api server:rasa run --enable-api -p 5005

4.启动数字人

cd xx/xx/xuniren
activate xuniren
python fay_connect.py

5.开启fay数字人控制面板,就可以跟数字人进行互动了。

后记

这是一个完成的部署过程,因为项目所用到的项目源码与环境相对多,部署过程会有很多问题,虽然是一个各种项目缝合在一起,但也给如何实现数字人做了一个很好的参考。之后有时间我试着把2.5D的模型缝合进来。

如果对该项目感兴趣或者获取源码的可以加我的企鹅群:487350510,大家一起探讨,也可以加fay的公众号,fay的公众号在它的git首页获取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/32546.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亚马逊运营listing优化A+页面

亚马逊A页面可以通过丰富的图文和视频更好的展示商品特点,提高产品的吸引力,有利于商品转化率的提高。今天海熹跨境人才网就来给大家说说关于A页面的优化技巧,一起来了解一下吧。 一、什么是A页面 亚马逊A页面与普通产品描述页面不同的是&am…

英语一大作文模板如何自己制作?

文章目录 (一)本人花费三个月制作模板过程1.1 考研同学通病1.2 三个月制作模板的历程1.2.1初始模板(来在凯文老师的课)1.2.2 更改模板 (薛非老师的作文课)1.2.3 花钱请专业老师批改作文中不断该进模板的结构…

介绍计算机的英语作文,总算晓得写一篇介绍电脑的英语作文

电脑的使用变得越来越普及,我们要正确使用电脑。在英语中也有关于介绍电脑的作文题材,那你想知道写一篇介绍电脑的英语作文怎么写吗?下面小编告诉你如何写一篇介绍电脑的英语作文,大家一起来看看吧! 写一篇介绍电脑的英语作文: C…

怎样在 iPhone 或 iPad 上使用“快捷指令”?

快捷指令可以说是苹果最强的APP之一了,它可以为所有的操作提供最快速的操作方式。 还可以通过一些自动化操作和脚本实现各种功能,甚至能取代一些小程序。 获取快捷指令可以有以下三种方式。 1.通过官方快捷指令库下载相关的快捷指令。 2.通过第三方途径下载更多的快捷指令…

iphone 快捷指令打开 行程码

每次打开微信,打开小程序,找行程码是不是很烦。 可以用快捷指令 iphone手机背面轻轻点两下 或 三下打开行程码。 首先现在打开行程码最多,最方便的是 微信小程序。然而现在无法用快捷指令打开小程序。只能找其他方法。 接着试了浏览器&…

苹果11怎么把计算机添加到快捷键,苹果11apple pay快捷键使用方法

导读:"苹果11apple pay怎么用"的相关电脑教程分享。- 来源:191路由网。 以IOS11系统为例,打开手机,找到并打开【wallet 与 apple pay】,接着在界面中找到要开通的公交卡,可以选择【上海公共交通卡…

如何使用支付宝充值美区App store的礼品卡

如何使用支付宝充值礼品卡 可能很多人不知道,支付宝可以给美区App Store 充钱,无需信用卡直接购买美区 Apple ID、Google Play、Spotify、Hulu礼品卡,下面就给大家介绍怎么购买 1.城市切换为:旧金山(国际-> 北美洲…

苹果钱包(AppleWallet)接入操作手册,超详细

一、写在前面 1.1 起源 最近有一点忙,更新博客出现了一些延迟。由于在工作中使用了Apple Wallet,所以在结束后准备以此记录一下。希望后面有要做此功能的同学,能够有所启发,觉得有帮助的,记得点赞收藏关注哦~ 1.2 A…

如何创建海外美区Apple ID,并使用支付宝购买Apple Store礼品卡,十分钟学会

今天成功的注册了一个国外apple ID,有点小开心,以前需要用到国外apple ID都是找别人借,总以为会有多难注册,所以自己瞎折腾注册了一个,结果才发现原来注册国外apple ID这么简单,下面就把我自己的实操过的教…

你的服务器还安全吗?用户数据是否面临泄露风险?

一系列严重的网络安全事件引起了广泛关注,多家知名公司的服务器遭到黑客挟持,用户的个人数据和敏感信息面临泄露的风险。这些事件揭示了网络安全的脆弱性和黑客攻击的威胁性,提醒着企业和个人加强对网络安全的重视。 一、入侵案例1.1 蔚来数据…

文心一言 VS 讯飞星火 VS chatgpt (57)-- 算法导论6.4 1题

文心一言 VS 讯飞星火 VS chatgpt (57)-- 算法导论6.4 1题 一、参照图 6-4 的方法,说明 HEAPSORT 在数组 A(5,13,2,25,7,17,20,8,4)上的操作过程…

免费分享最新整理《黑马测试面试宝典V2_0》

免费分享最新整理《黑马测试面试宝典V2_0》 软件测试面试题在网上流传也已不少,但是经过仔细查看发现了两个很重要的问题。第一,网上流传的面试题的答案并不能保证百分百正确。也就是说各位朋友辛辛苦苦花了很多时间准备的面试题,很可能最后的…

英文信详解:申请信、推荐信等等

目录 一、英文信一般格式二、英文信分类三、英文信格式说明1. 【信头】Heading2. 【信内地址】Inside address3. 【称呼】Salutation4. 【正文】Body of the letter5. 【结尾语】Complimentary close6. 【签名】Signature7. Enclosure(一般可忽略)8. Sub…

分享一个国内可用的AIGC网站,免费无限制,支持AI绘画

背景 AIGC作为一种基于人工智能技术的自然语言处理工具,近期的热度直接沸腾🌋。 作为一个AI爱好者,翻遍了各大基于AIGC的网站,终于找到一个免费!免登陆!手机电脑通用!国内可直接对话的AIGC&am…

AIPRM:一个让ChatGPT更高效的秘密武器

如果你使用过ChatGPT,你肯定会发现它的回复是否能够高效准确,跟你的输入提示息息相关,这也让我们应该怎样写提示而头疼。 现在有一个插件可以解决这些问题,它就是:AIPRM for ChatGPT。 AIPRM for ChatGPT 是一款专为提…

悬而未决的AI竞赛:全球企业人工智能发展现状

来源:德勤,智东西 随着企业领袖逐渐将人工智能视为下一轮经济大扩张的重要推动力量,一种担忧错失良机的情绪在全球范围内日益蔓延。许多国家纷纷制定人工智能战略,通过资金投入、政策激励、人才发展和风险管理推进技术能力的发展。人工智能对…

人工智能书籍汇总

人工智能相关岗位中,涉及到的内容包含: 算法、深度学习、机器学习、自然语言处理、数据结构、Tensorflow、Python 、数据挖掘、搜索开发、神经网络、视觉度量、图像识别、语音识别、推荐系统、系统算法、图像算法、数据分析、概率编程、计算机数学、数据…

一文了解2019年AI发展趋势,看完秒懂华为人工智能战略

https://www.toutiao.com/a6649263189580071432/ 2019-01-22 18:17:08 自有了人类以来,一共有26种通用目的技术(GPT)。最早的通用目的技术可以回归到1000多年前发明的轮子,近期的通用目的技术是电脑、互联网,21世纪之…

2019年人工智能的最大趋势和期望

2019年人工智能的最大趋势和期望 https://www.toutiao.com/a6634838180619108878/ 时间若白驹过隙,忽然而已。2019 年即将来临,新的一年中如何人工智能(AI)会发生哪些重大变化、最大趋势是什么、对此又有何期望呢?人工…

❤️制作人工智能QQ机器人,视频教程+源码❤️内容超级丰富,慢慢看!

文章目录 推荐系列教程,推荐的一定是好的!一.前言介绍要看二.机器人演示1.图片功能2.视频功能3.消息功能(知乎)4.智能聊天功能 三.b站视频教程四. b站主页 推荐系列教程,推荐的一定是好的! 十万字python基…