我用GPT搭建了一个虚拟女友!

 Datawhale干货 

作者:仲泰,Datawhale成员

1. 作者知乎:https://www.zhihu.com/people/yong-tan-39-67

2.我用GPT搭建了一个虚拟女友-哔哩哔哩:https://b23.tv/GYYwMcq

3. 五月学习:ChatGPT应用组队学习来了!

本项目是Datawhale四月学习的优秀分享。

心路历程

从去年年底ChatGPT问世以来,我对LLMs做了很多学习探索,从最初体验各种好玩的prompt,到开放API后部署QQ,VX的GPT机器人,套壳做镜像版GPT等,到忍痛开通GPT Plus,到几个账号被封,最后再到加入Datawhale,参加AIGC学习活动,我已经从一个无知的小白,成长为一个有经验的小白了,非常幸运在这段时间里认识了许多志同道合的伙伴和前辈,感谢你们的不吝赐教与无私分享,让一个AI本科生看到了希望。

734c693e9cd65da31416968184ff53b8.jpeg

我是那种想法很多但不太爱敲代码的人,我曾经梦想创业,拥有自己的公司和品牌,自高中起就做着各种尝试,但是理想很丰满,现实很骨感,目前的职业规划是AI产品经理(因为我相信产品经理是CEO最好的预科)。LLM的出现,极大地帮助了我这样代码能力一般(能看懂代码,但想要实现某种功能写出对应的代码比较吃力)的人来说无疑是巨大的福音。在这几个月里,陆陆续续看到国内外基于大语言模型做的很多项目,新的开源大模型发布,每每看到这样的讯息都让我热血沸腾。

在Datawhale四月AIGC的学习活动中,我决心要做一个自己满意的作业,起初我是尝试AI+教育方向的,因为我认为GPT凸显了应试教育的低效和短视,并且本科教育与社会生产存在一定的知识脱节,所以我想尝试用AI工具赋能K12或本科教育,改善现状,但后来我发现GPT存在一定的事实错误,但教育是严肃的严谨的,尽管我做的一些尝试是有一定价值的,但短期来看很难落地。

84ad85bc432a415f564f8ae1583f05d2.jpeg

因此我换赛道到了AI+游戏上,我认识到近些年很多新兴技术的落地往往是从游戏行业开始的,因为具有娱乐性质更容易进入大众视野,最终我选择了虚拟女友这个方向,学习借鉴了一些开源项目,最终也算是实现了预期的效果。

ad620ef87de69fcf3d1f758d487a987a.png
img

实现思路

整个项目是由四个部分组成的,首先ChatGPT大家很熟悉,然后Vits是一个语音合成模型,前段时间很火的AI孙燕姿也是基于这个技术做的,然后Unity是游戏开发引擎,Live2D是一种应用于电子游戏的绘图渲染技术,简单讲就是做皮套人的。

c5c6eeecab679983dc850a1e65f851c6.png
img

项目整体思路其实挺简单的,首先我们先去Live2D官网下载一个untiy的SDK,然后再选一个用的比较多的也比较可爱的皮肤,直接导入到unity里面就行,然后就是写一个接入GPT的脚本,可以加一个预设,比如:你叫小糖,请扮演我可爱的女朋友。最后再写一个脚本调用Vits的API就行了。

7852be392f7fb3ae4f74b2c7718251f7.png
img

具体代码详见后续package文件内。

cdf4cd00e410f160a2d4c64a919ae6e9.png
img

这个基于GPT的虚拟女友相比于以前传统的那种虚拟人,更加私人定制,自由度更高,比如再做一个捏脸系统,用户可以选择自己喜欢的角色和声音,然后以前像siri,天猫精灵这样的语音助手回答的内容比较固定单一,但是得益于chatgpt这样的生产式大语言模型,虚拟人每次的反馈都会是一个惊喜,再比如可以迭代一个语音识别的功能,用户不用打字只需要说话就可以和虚拟人进行互动。

基于虚拟女友这个想法出发,其实可以优化包装成别的产品,比如vtuber,手机手表语音助手,企业数字人客服,还有游戏里的NPC。

1237bf0a527a98e1ae72c941d6a4fdc3.png
img

这版AI虚拟女友做的比较仓促,还是有一定的优化空间的,比如:

  • 人称错乱,有时虚拟人的回答会用“她”而不是“我”

  • 延迟较高,等待时间稍长

  • 上下文记忆较短,体验欠佳

  • 肢体动作和口型较为单一

  • 人物情感不够丰富

可以采用微调模型训练,使用metahuman或VRoid建模,对输入的文本进行情感分析来改善

具体流程

Live2D人物准备

前往https://www.live2d.com/zh-CHS/download/cubism-sdk/下载

36c37f146b1f115fea1e863ef7d5ebad.png
img

打开unity,新建一个2D项目

4cddac8dcf20ebc1099d0757450d8694.png
img

访问下载https://gitee.com/DammonSpace/vits-chatgpt-live2d-unity-wife,将SDK和package直接导入即可

f7e656b8baee6e3dac34ccdee2b126bf.png
img
a0a4e38af7086a5fcfa6f5a4af3df859.png
img

找到项目内的sample场景拖拽出来

8e41f4dd9cfadd466371be767989c741.png
img

这时候可能会遇到一个报错

5d7beba81455c505833565960941d2ee.png
img

解决办法:Edit->Project Settings->Player, 勾选上Allow Unsafe Code选项

82f6ecf8444886316ac973c261c0c9f3.png
img

到此人物就加载完成了

本地vits部署

首先要安装anaconda(安装教程略)

git lfs install
git clone https://huggingface.co/spaces/zomehwh/vits-uma-genshin-honkai

如果模型安装失败,可以到这里手动下载:https://huggingface.co/spaces/zomehwh/vits-uma-genshin-honkai/tree/main/model

注意这里可能会报错安装pyopenjtalk依赖失败 解决办法可以查看链接:https://www.bilibili.com/video/BV13t4y1V7DV/

conda create -n vits
activate vits
cd <项目文件夹>
pip install -r requirements.txt

注意这里可能会报错安装pyopenjtalk依赖失败 解决办法可以查看链接:https://www.bilibili.com/video/BV13t4y1V7DV/

部署完成后运行python app.py 复制URL打开

799f91608af99166c8dfd88cb9847ecc.png
img

页面下方有个use via API,点进去可查看API调用方法,记得安装gradio_client(安装教程略)

6760d295be7789aff57accd8b773eddc.png
img

GPT和VITS的API接入

将你的APIkey填写到GPT脚本的Open AI_Key处

4f1ceb2fbf9ebf0292324047bad21d91.png
img

将http://127.0.0.1:7860/run/GetSpeech填写到vits的脚本里

d1377ace709f5a59b4e2ff8e33a56307.png
img

最后,点击Game,然后改一下显示的分辨率,再运行项目即可

94f45e05072fb5eb76538d04b580ab56.png
img

打开控制台,可以看到每次生成语音的耗时,显卡配置越好,生成所耗时间就越短,体验就越好

390fb35b190c9ede7a732b57f85406b8.png
img

后记

在新时代来临之时,不少同学会感到迷茫,在知乎上也有很多相关提问,“XXX会不会失业”,“觉得AI是风口,我该如何学习”,“普通人如何利用GPT赚钱”等等。而在我看来为在AIGC的猛烈冲击下,心态很重要:

第一是要拥抱未来,持续学习

保持开放心态:“君子善假于物也”,我们需要拥抱AI时代并保持开放和乐观的心态,不畏惧新技术所带来的挑战。更新知识结构:在AI时代,我们需要不断更新自己的知识结构,特别是与AI相关的领域(如计算机科学、数据分析、统计学等),最近看到一句话说的挺好,“不是每个人生来都握着一副好牌,但学好数学+编程+机器学习,一定是王牌”。深度思考:既要持续关注AI领域的动态和趋势,使自己始终与时代同步,又要警惕追风捉影,深度思考问题,需求的本质。

第二是要应用场景并解决问题,实现自我和社会价值

深入行业:我们需要深入研究所处行业的需求和痛点,并发现AI技术可以解决的具体问题。创新与发展:通过挖掘AI技术的新应用场景,推动整个行业的创新与发展,并实现个人价值的提升。比如ControlNet为斯坦福计算机在读华人博士开发。传播AI:作为AI的使用者,我们可以帮助更多的人了解和使用AI技术,从而解决实际生活中的问题,促进个人和社会的进步。

参与学习:ChatGPT应用组队学习来了!

d2eb8a2e8e5254a5c10694d7f6375294.png
一起“收藏赞”三连

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

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

相关文章

人人都可拥有的自主性AI:有记忆会使用工具,还会自我学习!底层自研框架即将开源...

明敏 发自 凹非寺量子位 | 公众号 QbitAI 要说AutoGPT为啥会迅速蹿红&#xff1f; 还不是把人类对AI的想象力再次打开了。 使唤AI不用再一句句引导&#xff0c;更不用去研究提示工程了。 人人像钢铁侠那样拥有超级AI贾维斯不是梦。 而就在现在&#xff0c;这种Auto AI Copilot已…

被颠覆、被捅刀、被群嘲:谷歌还能打赢这场AI之战吗?

去年12月&#xff0c;AI聊天机器人ChatGPT3.5对外发布几周后&#xff0c;谷歌就意识到了危险&#xff0c;CEO桑达尔皮查伊&#xff08;Sundar Pichai&#xff09;对内发出了“红色警报”&#xff08;CodeRed&#xff09;。 这是一场噩梦的开始。 过去4个月&#xff0c;皮…

深度剖析ja3指纹及突破

声明 以下只是搬运下我公众号的东西。很早就发过了。原帖地址&#xff1a; 深度剖析ja3指纹及突破 (qq.com) 已经发公众号的为什么还发csdn 有的圈内朋友&#xff0c;不经过我的允许&#xff0c;删减摘录我公众号的内容&#xff0c;这里就不提谁了&#xff0c;心里清楚&#x…

《Linux是怎样工作的》读书笔记

目录 前言Chapter 1 计算机系统概要1.1 计算机的硬件1.2 OS1.3 用户模式和内核模式1.4内核 Chapter 2 用户模式实现的功能2.1系统调用2.2系统调用的包装函数2.3 OS提供的程序 Chapter 3 进程管理3.1进程与线程进程线程进程和线程的区别 3.2 fork3.3 execve3.4 结束进程 Chapter…

用 Real-ESRGAN 拯救座机画质,自制高清版动漫资源

本文约1200字&#xff0c;建议阅读8分钟Real-ESRGAN 是 ESRGAN 升级之作&#xff0c;主要有三点创新&#xff1a;提出高阶退化过程模拟实际图像退化&#xff0c;使用光谱归一化 U-Net 鉴别器增加鉴别器的能力&#xff0c;以及使用纯合成数据进行训练。 相比于如今画面优良精美的…

Git学习

安装Git 可参考&#xff1a;https://blog.csdn.net/mukes/article/details/115693833?ops_request_misc%257B%2522request%255Fid%2522%253A%2522168121346716800192220040%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id16812134671680019…

线性回归 梯度下降原理与基于Python的底层代码实现

线性回归基础知识可查看该专栏中其他文章。 文章目录 1 梯度下降算法原理2 一元函数梯度下降示例代码3 多元函数梯度下降示例代码 1 梯度下降算法原理 梯度下降是一种常用的优化算法&#xff0c;可以用来求解许包括线性回归在内的许多机器学习中的问题。前面讲解了直接使用公…

面渣逆袭:Java集合连环三十问

大家好&#xff0c;我是老三。上期发布了一篇&#xff1a;面渣逆袭&#xff1a;HashMap追魂二十三问&#xff0c;反响很好&#xff01; 围观群众纷纷表示&#x1f447; 不写&#xff0c;是不可能不写的&#xff0c;只有卷才能维持了生活这样子。 当然&#xff0c;我写的这一系…

Android-Activity生命周期

文章参考&#xff1a;文章参考1 文章参考&#xff1a;文章参考2 五大状态 StartingRunningStoppedPausedDestroyed 借用一张已经包浆的图 PS&#xff1a;Running和Paused是可视阶段&#xff0c;其余都是不可视 几大函数 onCreate&#xff1a;通过setContentLayout初始化布局…

Java 八股文-集合框架篇

Java 集合框架 一、常见集合 1.说说有哪些常见集合&#xff1f; 集合相关类和接口都在java.util中&#xff0c;主要分为3种&#xff1a;List&#xff08;列表&#xff09;、Map&#xff08;映射&#xff09;、Set(集)。 其中Collection是集合List、Set的父接口&#xff0c…

python爬虫入门篇

接下来的一些时间会分享一些爬虫相关的代码和知识 有人会问爬虫怎么舔女神&#xff1f; 我只能说浅了 看完伟大的Technical Licking Dog 的文章你将会对舔狗的认知得到一个升华&#xff01; 目录 接下来的一些时间会分享一些爬虫相关的代码和知识 正文 爬虫的运行原理&…

程序人生 - 为什么表情包越转发越模糊,还会变绿?

当代人聊天离不开什么&#xff1f; 表情包&#xff01;&#xff01;&#xff01; 没有表情包&#xff0c;怎么表达我的感情&#xff1f;&#xff08;当然&#xff0c;我对你基本没什么感情~只是想秀一下沙雕表情包&#xff01;&#xff09;在过去的日子里&#xff0c;江湖上流传…

⚡【C语言趣味教程】(1) 深入浅出 HelloWorld | 通过 HelloWorld 展开教学 | 头文件详解 | main 函数详解

&#x1f517; 《C语言趣味教程》&#x1f448; 猛戳订阅&#xff01;&#xff01;&#xff01; ​—— 热门专栏《维生素C语言》的重制版 —— &#x1f4ad; 写在前面&#xff1a;这是一套 C 语言趣味教学专栏&#xff0c;目前正在火热连载中&#xff0c;欢迎猛戳订阅&#x…

正确保护Macbook

MacBook该如何正确保护呢&#xff1f;不是各种键盘膜、保护壳通通用上就是最好的&#xff0c;那么该如何正确做呢&#xff1f;下面是macw小编带来的详细指导&#xff0c;快来学习&#xff01; 在接下来的文章中&#xff0c;笔者将展示哪些配件是可取的&#xff0c;哪些配件是坚…

从做产品的角度分析吕布为什么非死不可?

这是一篇小品文&#xff0c;作者是“产品家实战营3期”学员…… 马中赤兔&#xff0c;人中吕布&#xff0c;本意虽褒&#xff0c;但个人觉得将人与牲口类比&#xff0c;其段位貌似也没高到哪里&#xff0c;&#xff1a;&#xff09; 不过说起三国里的武将武力排名&#xff0c;吕…

中国撸串指北:13万家烧烤店的吃货最爱

戳蓝字“CSDN云计算”关注我们哦&#xff01; 数据分析&#xff1a;还是更爱火锅的朱小五 内容撰写&#xff1a;最爱干豆腐卷的王小九 来源|凹凸数读 对美食最大的肯定无疑就是那操着不同口音说出的“好吃&#xff01;”二字。 ——《人生一串》豆瓣短评 以美食慰藉夜归人&…

Github上这几个沙雕项目,够我玩三天!

点击上方“码农突围”&#xff0c;马上关注 这里是码农充电第一站&#xff0c;回复“666”&#xff0c;获取一份专属大礼包 真爱&#xff0c;请设置“星标”或点个“在看” 开源最前线&#xff08;ID&#xff1a;OpenSourceTop&#xff09; 猿妹综合整理 今天&#xff0c;猿妹再…

几个有趣的Github项目,够你玩一阵了...

点击上方“后端技术精选”&#xff0c;选择“置顶公众号” 技术文章第一时间送达&#xff01; 来源&#xff1a;开源最前线 今天&#xff0c;给大家整理一份有意思的沙雕项目&#xff0c;顺带分享了我的试用成果&#xff0c;说实话&#xff0c;这些项目够你玩三天了。 亲戚关系…

包浆网图分分钟变高清,伪影去除、细节恢复更胜前辈AI,下载可玩|腾讯ARC实验室出品...

丰色 发自 凹非寺量子位 报道 | 公众号 QbitAI 下面来欣赏一些高糊图片“整个世界都清晰了”的魔法时刻&#xff1a; 无论是动漫还是真实图像&#xff0c;是不是都清晰还原了&#xff1f; 以上就是由腾讯ARC实验室最新发表的图像超分辨率模型完成的。 与前人工作相比&#xff0…

爬虫入门实践 | 利用python爬取彩票中奖信息

系统环境&#xff1a;mac python版本&#xff1a;3.6.2(anaconda) 库&#xff1a;requests、BeautifulSoup 爬取一些简单的静态网站&#xff0c;一般采取的策略为&#xff1a;选中目标&#xff0c;也就是需要爬取的网站url&#xff1b;观察结构&#xff0c;查看网页结构&…