探索元宇宙的未来:数字人对话系统 - Linly-Talker —— “数字人交互,与虚拟的自己互动”

news2025/1/18 7:38:33

探索元宇宙的未来:数字人对话系统 - Linly-Talker —— “数字人交互,与虚拟的自己互动”

之前空闲的时候我似乎已经写过了有关于数字人的两篇文章,今天更多的写这篇文章就是想探索一下元宇宙的未来,这种数字人对话系统能做什么,还需要做什么的,还有什么没做的,以及我做了什么

Kedreamix:“数字人交互,与虚拟的自己互动”——用PaddleAvatar打造数字分身,探索人机交互的未来img

Kedreamix: 数字人对话系统 Linly-Talker (已加入Qwen和GeminiPro加强对话+上传任意图片的数字人)img

首先给大家贴一下我的数字人对话系统的github链接,我也一直保持更新和迭代,哈哈,一起加油,如果感兴趣可以给个star呀,如果有兴趣和我一起完善我也非常欢迎。

数字人对话系统 - Linly-Talker —— “数字人交互,与虚拟的自己互动”github.com/Kedreamix/Linly-Talker

最后也给出我在b站发布的视频,可以多多关注嘻嘻:

Linly-Talker 更新GPT多轮对话系统,LLM为数字人赋能 !!!_哔哩哔哩_bilibiliwww.bilibili.com/video/BV1v94y1K7GK/img

TO DO LIST

先说一下我做了什么吧,这下面是我用gradio已经实现了的,大家都是可以去进行尝试的,代码应该没什么问题,现在如果跑起来,加上Qwen 1.8B的大模型,可能只需要8g显存就能跑起来,还是比较简单的,我也把百度网盘的模型下载链接传上去了,方便大家学习和下载。

  • 基本完成对话系统流程,能够语音对话
  • 加入了LLM大模型,包括LinlyQwenGeminiPro的使用
  • 可上传任意数字人照片进行对话
  • Linly加入FastAPI调用方式
  • 利用微软TTS加入高级选项,可设置对应人声以及音调等参数,增加声音的多样性
  • 视频生成加入字幕,能够更好的进行可视化
  • GPT多轮对话系统(提高数字人的交互性和真实感,增强数字人的智能)

那也要提一下我想做或者说未来要做的,这也感谢大家给我提出的意见什么的,其实还有很多的想法,我觉得未来是可以把这个进行完善的,慢慢的进行一个学习和开发,慢慢加强起来。

  • 语音克隆技术(语音克隆合成自己声音,提高数字人分身的真实感和互动体验)
  • 加入Langchain的框架,建立本地知识库
  • 实时语音识别(人与数字人之间就可以通过语音进行对话交流)
  • 替换edgetts,转为个人可训练的TTS模型,可以任意定制音频和音色
  • 提高ASR速度,替换Whisper,换为中文ASR
  • NeRF数字人的方式,可以考虑替换掉SadTalker或者多几个选项

示例

从github能看到我对应给出的示例,现在能够自己自由的对话了

img

数字人对话Linly-Talker示例

项目展示

接下来讲一下我的更新,我从2023.12到现在,大概是更新了三个版本,现在应该都是可以使用并且没有bug的,如果有问题有bug我也会及时完善

2023.12 更新

用户可以上传任意图片进行对话

2024.01 更新

  • 令人兴奋的消息!我现在已经将强大的GeminiPro和Qwen大模型融入到我们的对话场景中。用户现在可以在对话中上传任何图片,为我们的互动增添了全新的层面。
  • 更新了FastAPI的部署调用方法。
  • 更新了微软TTS的高级设置选项,增加声音种类的多样性,以及加入视频字幕加强可视化。
  • 更新了GPT多轮对话系统,使得对话有上下文联系,提高数字人的交互性和真实感

现在的启动一共有几种模式,可以选择特定的场景进行设置

第一种只有固定了人物问答,设置好了人物,省去了预处理时间

 python app.py

在这里插入图片描述

固定人物问答

第二种是可以任意上传图片进行对话

 python app_img.py

在这里插入图片描述

任意图片问答

第三种是在第一种的基础上加入了大语言模型,加入了多轮的GPT对话

 python app_multi.py

在这里插入图片描述

多轮GPT问答

文件夹结构如下

Baidu (百度云盘) (Password: linl)

Linly-Talker/ 
├── app.py
├── app_img.py
├── utils.py
├── Linly-api.py
├── Linly-api-fast.py
├── Linly-example.ipynb
├── README.md
├── README_zh.md
├── request-Linly-api.py
├── requirements_app.txt
├── scripts
│   └── download_models.sh
├──	src
│	└── .....
├── inputs
│   ├── example.png
│   └── first_frame_dir
│       ├── example_landmarks.txt
│       ├── example.mat
│       └── example.png
├── examples
│   └── source_image
│       ├── art_0.png
│       ├── ......
│       └── sad.png
├── checkpoints // SadTalker 权重路径
│   ├── mapping_00109-model.pth.tar
│   ├── mapping_00229-model.pth.tar
│   ├── SadTalker_V0.0.2_256.safetensors
│   └── SadTalker_V0.0.2_512.safetensors
├── gfpgan // GFPGAN 权重路径
│   └── weights
│       ├── alignment_WFLW_4HG.pth
│       └── detection_Resnet50_Final.pth
├── Linly-AI // Linly 权重路径
│   └── Chinese-LLaMA-2-7B-hf 
│       ├── config.json
│       ├── generation_config.json
│       ├── pytorch_model-00001-of-00002.bin
│       ├── pytorch_model-00002-of-00002.bin
│       ├── pytorch_model.bin.index.json
│       ├── README.md
│       ├── special_tokens_map.json
│       ├── tokenizer_config.json
│       └── tokenizer.model
├── Qwen // Qwen 权重路径
│   └── Qwen-1_8B-Chat
│       ├── cache_autogptq_cuda_256.cpp
│       ├── cache_autogptq_cuda_kernel_256.cu
│       ├── config.json
│       ├── configuration_qwen.py
│       ├── cpp_kernels.py
│       ├── examples
│       │   └── react_prompt.md
│       ├── generation_config.json
│       ├── LICENSE
│       ├── model-00001-of-00002.safetensors
│       ├── model-00002-of-00002.safetensors
│       ├── modeling_qwen.py
│       ├── model.safetensors.index.json
│       ├── NOTICE
│       ├── qwen_generation_utils.py
│       ├── qwen.tiktoken
│       ├── README.md
│       ├── tokenization_qwen.py
│       └── tokenizer_config.json

总结

最后说一下我想做什么吧,其实我一直把这个数字对话系统趋于实时化,最近也看到相关的项目有做音频和视频流式的东西,我也在不断的学习中,希望也不断的学习,不断的超越自己。最后也提一下,我做了一个个人博客,后续也会放出来我博客的笔记,和知乎同步更新应该哈哈,大家也可以多关注一下,一起学习交流。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法沉淀——双指针算法(leetcode真题剖析)

算法沉淀——双指针算法 01.移动零02.复写零03.快乐数04.盛最多水的容器05.有效三角形的个数06.和为s的两个数字07.三数之和08.四数之和 双指针算法(Two Pointer Algorithm)是一种常用于数组(或链表)操作的算法技巧。它的核心思想…

2024年1月的论文推荐

又到月底了,在月初推荐论文的基础上又整理了10篇推荐阅读的论文 1、MosaicBERT https://mosaicbert.github.io/ 一种用于快速预训练的双向编码器。MosaicBERT是针对快速预训练优化的自定义BERT架构。主要架构修改:FlashAttention, ALiBi,门控线性单元…

【JavaWeb程序】【C00150】基于SSM的二手交易平台管理系统-(论文+PPT)

基于SSM的二手交易平台管理系统-(论文PPT) 项目简介项目获取开发环境项目技术运行截图 项目包运行、免费远程调试 项目简介 这是一个基于ssm的二手交易平台管理系统 本系统分为用户和管理员两个模块。 其中用户的权限为:修改个人信息、闲置商…

log4j2 java api 入门介绍

概述 Log4j 2 API 提供了应用程序应该编码的接口,并提供了实现者创建日志实现所需的适配器组件。 虽然 Log4j 2 在 API 和实现之间被分解,但这样做的主要目的不是允许多个实现,尽管这当然是可能的,而是明确定义在“正常”应用程…

探索机器学习的奥秘

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 机器学习的定义二. 机器学习的发展历程三. 机器学习的原理四. 机器学习的分类…

路由、组件目录存放

文章目录 单页应用程序:SPA- Single Page Application路由的介绍VuePouter的介绍VueRouted 的使用 组件目录存放问题(组件分类) 单页应用程序:SPA- Single Page Application 单页应用(SPA):所有功能在一个…

四. 基于环视Camera的BEV感知算法-BEVFormer实战

目录 前言1. BEVFormer实战 前言 自动驾驶之心推出的《国内首个BVE感知全栈系列学习教程》,链接。记录下个人学习笔记,仅供自己参考 本次课程我们来学习下课程第四章——基于环视Camera的BEV感知算法,一起去学习下 BEVFormer 的相关代码 课程…

MySQL之索引分类,语法以及SQL性能分析(慢日志,profile,explain)

索引分类 分类含义特定关键字主键索引针对于表中主键创建的索引默认自动创建,只能有一个PRIMARY唯一索引避免同一个表中某数据列中的值重复可以有多个UNIQUE常规索引快速定位特定数据可以有多个全文索引全文索引查找的文本中的关键字,而不是比较索引中的…

04.领域驱动设计:了解聚合和聚合根,怎样设计聚合

目录 1、概述 2、聚合 3、聚合根 4、怎么设计聚合 4.1 聚合的构建过程主要步骤 第 1 步:采用事件风暴。 第 2 步:选出聚合根。 第 3 步:找出与聚合根关联的所有紧密依赖的实体和值对象。 第 4 步:画出对象的引用和依赖模型…

web前端项目-五子棋【附源码】

五子棋(人机对弈) 本项目【五子棋】是一款人机对弈的策略型棋类游戏。可以选择落子方;游戏难度和是否显示落子次序。游戏双方分别使用黑白两色的棋子,在棋盘直线与横线的交叉点上进行对弈。五子棋可以促进大脑发育、提高思维能力…

go语言基础之泛型

1.泛型 泛型是一种独立于所使用的特定类型的编写代码的方法。使用泛型可以编写出适用于一组类型中的任何一种的函数和类型。 1.1 为什么需要泛型 func reverse(s []int) []int {l : len(s)r : make([]int, l)for i, e : range s {r[l-i-1] e}return r }fmt.Println(reverse…

Docker—入门及Centos7安装

1、Docker入门 1.1、Docker是什么? Docker是基于Go语言实现的云开源项目。 Docker的主要目标是“Build,Ship,and Run Any App,Anywhere”,也就是通过对应组件的封装、分发、部署、运行等生命周期的管理,使用户的APP&…

指数计算(填空)

解题思路: 7的2020次方很大,需要用BigInteger来进行运算。 pow用来算指数运算。 remainder用来算BigInteger之间的取余。 解题代码: public static void main(String[] args) {BigInteger xnew BigInteger ("7");BigInteger ynew…

Tools工具安装及模板制作

Tools工具: 如何安装tools 1、右键单击——tools——挂载tools 2、把光盘里面的内容挂载到系统的临时挂载目录里面 mount /dev/cdrom /mnt 先卸载光盘 安装zip包 ********************************************** 使用yum源 1、挂载光盘 2、配置yum 写文件 安装…

java servlet勤工助学家教管系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java servlet 勤工助学家教管系统是一套完善的java web信息管理系统 serlvetdaobean mvc 模式开发 ,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myecli…

Vite+Vue3使用Vue-i8n笔记

一、下载依赖 vue-i18n yarn add vue-i18n创建存放语言文件的目录 以及配置文件的配置 我是在src/lang 新建index.ts、cn.ts、en.ts以及test文件夹其中再分别新建cn.ts以及en.ts /lang/index.ts 用于导出vue-i18n需要的配置对象 import en from "./en.ts"; import…

(八)循环控制中的break和continue关键字

文章目录 break提前结束整个循环示例代码现象 continue提前结束本次循环示例代码现象 break提前结束整个循环 示例 代码 #include <stdio.h>int main() {int numOfPerson ;int totalmoney 0;int money ;printf("这是一个使用break关键字的程序\n");for(numO…

2024年阿里云幻兽帕鲁Palworld游戏服务器优惠价格表

自建幻兽帕鲁服务器租用价格表&#xff0c;2024阿里云推出专属幻兽帕鲁Palworld游戏优惠服务器&#xff0c;配置分为4核16G和4核32G服务器&#xff0c;4核16G配置32.25元/1个月、10M带宽66.30元/1个月、4核32G配置113.24元/1个月&#xff0c;4核32G配置3个月339.72元。ECS云服务…

【Git配置代理】Failed to connect to github.com port 443 问题解决方法

前言&#xff1a; 在学习代码审计时&#xff0c;有时会需要使用git去拉取代码&#xff0c;然后就出现了如下错误 看过网上很多解决方法&#xff0c;觉得问题的关键还是因为命令行在拉取/推送代码时并没有使用VPN进行代理。 解决办法 &#xff1a; 配置http代理&#xff1a;…

前端canvas项目实战——简历制作网站(三)——右侧属性栏(线条宽度样式)

目录 前言一、效果展示二、实现步骤1. 实现线条宽度&#xff08;strokeWidth&#xff09;的属性模块2. 实线线条样式&#xff08;strokeDashArray&#xff09;的属性模块3. 意料之外的“联动” 三、Show u the code后记 前言 上一篇博文中&#xff0c;我们初步实现了右侧属性栏…