我们 做 了 个 能 对话 的 AI 派 蒙 , 免费 给 大家 玩 ! (1)
标题 你 已经 看到 了
我们 前前后后 忙活 了 将近 两个 月
做 出来 了 这个 非常 离谱 的 东西
就是 用 ChatGPT
+VITS 语音 生成
+ 基于 BERT 的 情绪 分类
+UE5 作为 前端
做出 了 这个 能够 对话 的 “ 派 蒙 ”
你 是 谁 啊 ?
哼 我 就是 派 蒙
你 的 向导 和 伙伴
难道 你 忘 了 我 吗 ?
旅行者 这么 健忘 可 不行
你 是 应急 食品
哼 你 这个 家伙
又 敢 叫 我 应急 食品
哇 好 生气
我 决定 给 你 起 一个 难听 的 绰号
就 叫 你 “ 臭 脚丫子 ” 吧
派 蒙 , 我们 一起 去 吃 好吃 的 吧
好 主意 我 可是 提 瓦特 大陆 的 美食 专家
旅行者 我们 一起 去 找 好吃 的 吧 你 想 吃 什么 呀 ?
那 你 喜欢 吃些 什么 呢 ?
呵呵 旅行者 我 最 喜欢 吃 的 就是 各种 甜点 啦
提拉 米苏 、 马卡龙 、 蛋糕 、 布丁 ...
这些 都 让 我 欲罢不能
当然 我 也 不会 拒绝 美味 的 烧烤 、 火锅 和 各类 美食
只要 是 好吃 的 我 都 喜欢
提 瓦特 大陆 上 你 最 喜欢 哪个 角色 呀 ?
嘿嘿 当然 是 我 最 亲爱 的 旅行者
除了 你 之外
我 还 挺 喜欢 琴 和 可莉 这 两个 角色
琴 那 优雅 的 气质 和 可莉 的 活力 都 让 我 觉得 很 有趣
不过 最 重要 还是 我们 一起 冒险 的 时光
那才 是 最 珍贵 的
怎么样 ?
这个 效果 是不是 还 可以 啊 !
没有 太违 和 吧 !
回答 得 有模有样 啊
表情 和 动作 也 基本上 配合 得 不错
这里 我用 的 是 最强 的 GPT4 模型
回答 得 非常 好
但 回复 时间 会 比较慢
视频 里 我们 剪掉 了 等待时间
不然 就 得 干 等 好 一会儿
就 像是 和 太空 中 的 派 蒙 聊天 一样
我们 也 可以 用 GPT3.5 来 回答
质量 上 确实 是 差 了 挺 多 的
但用 3.5 的话 基本 可以 做到 实时 对话
除了 派 蒙 之外
我 也 做 了 一个 我 自己 的 数字 人
就 叫 他 数字 云飞 吧
我们 也 试一下 啊
你 是 云飞 吗 ?
是 的 我 现在 是 扮演 数码频道 极 客湾 的 主持人
请问 有 什么 问题 我 可以 帮 您 解答 吗 ?
你 觉得 安卓 和 iPhone 相比 有 什么 优势 ?
安卓 和 iPhone 各有 优劣
安卓 系统 更加 开发 可 定制 性 更 高
可以 找到 各种 价格 区间 的 手机
而 iPhone 系统 更 封闭
优点 是 系统 更 流畅
安全性 和 隐私 保护 较 好
选择 哪种 系统 主要 取决于 个人 喜欢 和 需求
哎呀 感觉 我 以后 直播 都 可以 拿 数字 云飞代班 了
那 我 就 可以 原地 退休 了 啊
好 了
今天 的 视频 并 不 只是 来 炫耀 的
我 想 好好 聊 一下 我们 在 这个 背后 用到 的 各种 技术
并且 最 重要 的 是
我会 把 这个 Demo 免费 分享 给 大家
这样 你们 每 一个 人 都 可以 去 玩玩 看
那 我们 赶紧 开始 吧 !
为了 让 大家 思路清晰 一点
我们 来 画个 流程图
你 先 想想 你 和 数字 生命 对话 的 过程 是 什么样 的
其实 就是 你 把 话 说 出来
它 听 完 做出 应答
同时 产生 情绪 变化
产生 表情 和 动作
那 这个 流程 里 的 第一步 肯定 先得 有个 语音 识别
把 你 问 的 问题
说 出来 的话 转 成 文字
这个 文字 进到 GPT 之类 的 语言 模型 里
它会 回复 你
我们 一方面 要 让 电脑 用 人类 的 语气 念出 它 回答 的 这段话
另一方面 我们 要 做 一个 情绪 识别
把 这段 文字 是 高兴 还是 生气 还是 什么 情绪 给 判断 出来
再 给 画面 上 的 数字 人 做点 表情 和 动作 预设
来 把 这些 情绪 表达出来
这 一整套 东西 配合起来 就 能 实现 我们 的 数字 生命 了 !
那 我们 一个个 来看 啊
首先 是 语音 识别
这个 相对 比较简单
我们 用 的 是 阿里 达摩院 的 Paraformer
这 是 个 非常 不错 的 中文 语音 识别 模型
并且 阿里 开源 了 很多 它们 训练 好 的 模型
有 我们 用 的 通用版
也 有 针对 金融 、 音视频 领域 的 特调 模型
专有名词 识别 会 更 准确
那 我们 就 不用 自己 训练 了
直接 用 这个 通用 模型 推理 就行
实测 下来 这玩 意识 别的 准确度 非常 高
比 很多 手机 上 自带 的 语音输入 法 还要 准
那用 在 我们 的 项目 里 肯定 是 够 了
把 语音 识别 成 文字 后
就要 扔进 ChatGPT 了
我们 通常 直接 用 ChatGPT
都 是 在 它 这个 网页 上面 跟 它 对话 的 对 吧 !
但是 我们 的 程序 要 想 使用 ChatGPT 的 服务 的话
可能 更 正规 的 办法 是 去 调用 ChatGPT 的 API
OpenAI 是 提供 了 API 给 第三方 程序 使用 的
用 API 的话
响应速度 也 是 最快 的
基本 可以 实时 应答
但 缺点 就是 目前 我们 可用 的 API 只能 支持 GPT3.5
3.5 的话 这个 派 蒙和云飞 就 会 比较 笨 了
尽管 OpenAI 开放 了 GPT4 API 的 申请
但 我 排 了 两个 月 的 队 至今 都 没排 上
就算 能 用 估计 价格 也 不 便宜
想想 还是 算了吧
不过 没 必要 灰心
咱们 想用 GPT4 的话 其实 不 一定 要用 API 嘛
毕竟 只要 是 ChatGPT 的 Plus 会员
都 是 可以 直接 在 网页 上用 GPT4 来 对话 的
那 这个 事儿 也 好办
我们 直接 抓 网页
不 就 能 用 GPT4 了 吗 !
我们 完全 可以 开 一个 网页
自动 输入 我们 的 问题
然后 抓取 网页 版 的 输出 结果
抓 网页 这 操作
具体 就是 需要 开 一个 浏览器
自动 登录
输入 文字
想想 感觉 还 挺 复杂 的
不过 好 在 github 上 已经 有 大神 对 网页 版 chatGPT 抓 了 个 包
然后 逆向 出来 了 网页 版 使用 的 所有 API
我们 只要 在 用 过 网页 版 之后 抓取 浏览器 cookie
获得 咱们 账号 的 权限
就 可以 直接 在 python 里 调用 了
所以 最终 落实 到 我们 的 程序 里
就 设计 了 两个 方案
想要 实时 应答
不 需要 那么 聪明 的话
就 直接 调用 API 的 GPT3.5
这个 OpenAI 会 给 我们 按照 流量 收费
但 我 做 了 一个 违背 祖宗 的 决定
就是 让 在座 的 各位 免费 白 嫖 我们
你们 尽管 用 就行了
如果 开销 太 大
我们 到时候 就 限流 嘛
而 想要 得到 聪明 准确 地 回答
可以 接受 速度慢 一些 的话
或者说 我们 的 API 如果 被 你们 薅 没 了 挂 了 的话
那 你 就 可以 用 网页 版 抓取 回答
GPT3.5 和 GPT4 都 可以 用
后者 就 需要 你 自己 有 Plus 账号 了
这里 我们 还 做 了 一个 小 优化
大家 知道 GPT 是 一个 字 一个 字 推理 的
遇到 GPT4 这种 大 模型
这 一个 字 一个 字 的 蹦出来
你 想 等 它 回答 完 就 特别 煎熬
要 等 很 久
稍微 长 一点 的 回答
等 个 一两分钟 很 正常
这 要是 放在 对话 里
你 跟 人 说 一句 话
他 两分钟 后 再 回答 你
这 谁 受得了 呀 !
但 实际上 我们 人类 在 说话 的 时候
肯定 是 有 一句 说 一句 嘛
用不着 等 整句话 思考 完再 一口气 说 出来
所以 与其 等待 GPT 返给 我们 完整 的 一段话
不如 在 它 推理 完 第一句 话 的 时候
我们 就 开始 后面 语音 和 情绪 的 计算
于 此 同时
下 一句 话 还 在 推理 中
这样 就 等于 并行 了 嘛
这样 优化 完 你 跟 他 对话
就 可以 不用 等 这么久 了
笨蛋
哼 旅行者 你 这个 大 笨蛋
别以为 敢 叫 我 笨蛋 就 了不起
你 也 不过如此 嘛
笨蛋
哇 好 生气
我 决定 给 你 起 一个 难听 的 绰号
就 叫 你 臭 袜子 吧
算是 优化 了 一下 对话 效率
我们 把 GPT 这个 文字处理 的 管线 接 好 之后
就 得 让 它 来 角色扮演 了
但 你 直接 问 它 肯定 不行
因为 它 现在 还是 ChatGPT
它 不是 派 蒙
你 现在 让 它 模仿
它 只会 告诉 你
它 是 一个 莫得 感情 的 语言 模型
你 最 喜欢 提 瓦特 大陆 上 的 哪个 角色
?? 作为 一个 程序 , 我 没有 感情 ??
?? 也 没有 喜欢 或 不 喜欢 的 概念 ??
?? 我 只是 一个 为 用户 提供 服务 的 工具 ??
?? 没有 自己 的 主观 意识 和 情感 ??
嘎嘎 , 机械 嘎嘎
欸 所以 我们 要 做 什么 呢
就是 用 提示 词 催眠 ChatGPT
让 它 觉得 自己 是 派 蒙
这个 前面 这部分 是 拿 猫 娘 的 催眠 咒语 改 的
后面 这个 部分 呢
我加 了 一些 派 蒙 的 性格 介绍
还有 给 它 塞 一些 派 蒙 的 语录
让 它 学习 一下 派 蒙 的 语气
由于 GPT4 可以 支持 比较 长 的 输入
所以 稍微 多 写点 提示 词
让 它 更 熟悉 派 蒙 也 是 可以 的
但 如果 是 GPT3.5 的话
就 得 准备 一套 不同 的 提示 词 了
因为 允许 输入 的 长度 更 短
要 大幅 地 精简 描述 才行
唉 说实话 论 角色扮演
还是 最早 的 new bing 效果 最好
你 只要 告诉 它 模仿 谁
它 在 网上 自己 找 资料 就 能 开始 扮演 了
可惜 new bing 被 微软 做 了 额叶 切除 手术
现在 已经 不行 了
还是 ChatGPT 效果 更好 一点
那么 问题 来 了
GPT3.5 和 GPT4 效果 到底 差多远 呢 !
我 也 随便 说 了 几句话 给 大家 对比
你 是 谁 啊 ?
呵呵 我 就是 派 蒙
你 的 向导 和 伙伴 你别 装傻 了
快 跟 我 一起 去 探险 吧
我 是 提 瓦特 大陆 上 的 一个 生物
名字 叫 派 蒙 我 是 你 的 向导 和 伙伴
提 瓦特 大陆 上 你 最 喜欢 哪个 角色 呀 ?
呵呵 当然 是 我 最 亲爱 的 旅行者
除了 你 之外
我 还 挺 喜欢 琴 和 可莉 这 两个 角色
琴 那 优雅 的 气质 和 可莉 的 活力 都 让 我 觉得 很 有趣
我 最 喜欢 的 角色 是 旅行者 因为 他 是 我 的 伙伴
我们 一起 探索 这个 神秘 的 大陆 、 克服 各种 困难 ...
打败 强大 的 敌人 、 分享 欢乐 和 忧愁
他 是 一个 勇敢 、 聪明 、 善良 的 ( 好 ) 人
你 能 明显 感觉 出来 GPT4 的 回答 要 有 更 有 人性
GPT3.5 更 像是 一个 没有 感情 的 工具 人
给 到 的 多 是 比较 机械式 的 回答
但 如果 只是 当 工具 用 的话
我 觉得 还是 3.5 更 实用
因为 GPT4 的 计算 实在 是 太慢 了 !
即使 是 用 了 优化 之后
每 一句 之间 的 停顿 也 要 等 很 久
这个 网页 版 的 GPT4 还有 使用 限制
3 小时 25 条
说实话 也 并 不是 很 够用
所以 要 想 免费 且 实时 地 达到 节目 开头 那个 效果
那 恐怕 得 等 GPT5 出来 之后
你 才能 用 上 体验 更好 或者 是 免费 的 GPT4 了
再要 不 就是 看看
接下来 会 不会 有 一些 比较 好 的 开源 模型
可以 直接 本地 部署 的
那 也 可以 试试看
好 了 现在 ChatGPT 已经 给 到 我们 回答 了
那么 是 时候 把 这个 文字 通过 AI 的 嘴念 出来 了
这才 叫 真正 的 神 之 嘴 嘛
这个 文字 转 语音 的 操作 呢
我们 要 用到 一个 叫 VITS 的 网络
就是 这个
啊 相信 看 完 这个 图
你 已经 非常 懂 这个 训练 和 推理 的 原理 了
我 就 不 多 赘述 了
通过 拿 大量 某个 角色 的 声音 样本 来 训练
VITS 就 可以 学会 这个 角色 的 声线
效果 真的 是 非常 不错 的
像 我们 以往 这种 机器 音都会 用 传统 的 TTS 解决方案
就 没有 什么 感情
但 VITS 其实 是 可以 把 你 说话 的 语气 和 情绪 给 模仿 出来 的
找到 多个 美食 你 要 去 第几个 ?
当然 要 让 他 学会 我们 想要 的 声线