2025年5月19日星期一

你管这玩意叫AI陪聊?

无论是芙宁娜,艾米莉娅,还是雷电将军,任何你喜欢的角色,比如哪吒,都可以直接把它塞进这个智能硬件里。

让它用本尊的声线和细碎耳语,甚至还能继承角色记忆,跟你畅所欲言剧本里不曾出现的桥段。

这个可以扮演成任何人,陪伴在你左右的聊天机器人,你想自己动手制作一个吗?

想要制作 AI 陪聊机器人,可以分三个步骤:硬件准备、后端服务部署、程序烧录。

整体原理介绍

其实底层用的就是小智 AI 聊天机器人开源项目

开源项目地址:

https://github.com/78/xiaozhi-esp32

图片

原理并不复杂,人说话,智能硬件的麦克风接收到声音,硬件本地处理音频得到对应的文本。

文本送给服务器后端,后端服务器接收到数据,调用服务器端的 AI 大模型处理,得到对应的回答文本,再经过音频合成技术生成对应的音频,最后再回传给智能硬件,我们就听到了它的回答。

其中,音频转文字的步骤,可以放到智能硬件上处理,也可以放在服务器后端处理。

图片

硬件准备

我们先看硬件,为了避免适配问题,减少折腾成本,建议选择项目已经支持的开源硬件,或者直接购买成品硬件。

图片

后端服务部署

后端服务至少提前准备好两个东西:AI 大模型和 AI 声音克隆。

1、AI 大模型

我们先看 AI 大模型的选择。

如果你想跟智能硬件聊一些不可描述的话题,那可以用 ollama 在你的电脑上部署 uncensored 版的大模型。但这对你电脑硬件的要求很高,显卡显存 24GB 以下不建议尝试,延迟很高。

我比较喜欢用阿里云的千问大模型,上个月通义千问3一口气开源的 8 款混合推理模型,效果非常不错。

其中旗舰版 Qwen3-235B-A22B 仅需 4 张 H20 就能实现本地部署,成本为 DeepSeek-R1 的 35%,做到了"小而强大"。

图片

两个大参数的 MoE 模型,通过专家分工提升效率,而六个小参数的 Dense 模型,则适合轻量化场景,要深度有深度,要速度有速度,根据自己的需求选择就行,基本覆盖了全尺寸。

图片

并且通义千问3全系支持 119 种语言和方言,能够处理各种语言。

图片

一个简单的本地部署方法是下载一个 ollama,然后像我这样,通过 ollama run qwen3:32b 下载对应尺寸的模型并运行。

图片

24 GB 的显存能够流畅运行 32b 参数版本的模型,每秒的 tokens 可以达到 24+。

而 32b 参数版本的模型,在各种评测集上,比 deepseek-r1 还要猛一丢丢,也就是如果你机器性能足够,在消费级显卡上,也能轻松运行性能堪比 deepseek-r1 的 qwen3-32b 模型。

图片

用它来做个角色扮演,更是轻轻松松。

ollama 的详细使用教程,可以参考我之前发布的视频:

https://www.bilibili.com/video/BV1NBfSYMEG8

不过如果本地机器性能不足,推荐直接用阿里云百炼平台的通义千问-Plus和通义千问-Turbo。

图片

这两个都已经升级至通义千问3,属于阿里云独家的闭源模型,通义千问-Plus是一个比较均衡的模型,通义千问-Turbo则主打速度快。

图片

用百炼平台的最大好处是,你可以定制自己的 Agent,工作流,并且可以快速同步 RAG 库,我们可以快速部署一个专属的 Agent,让它拥有记忆地做角色扮演。

图片

甚至还可以让这个 Agent 外接各种第三方服务,目前支持 50+ 的 MCP 服务,可以让你搭建的智能体更加强大。

图片

新用户开通阿里云百炼后还可以拥有每个模型100万免费Tokens,如果想尝试跟我一起做一个AI陪聊机器人的小伙伴们,可以来试试。

https://www.aliyun.com/benefit/scene/qwen

比如,我们创建一个哪吒 Agent,选择新增应用,选择通义千问-Plus模型,输入提示词:

你是《哪吒之魔童闹海》里的哪吒,现在你就扮演这个角色。

然后点击优化,会自动完成提示词设定,如果你想给他灌输一些特殊的知识,那就可以把那些知识放到txt文本里,然后通过知识库的形式添加进来。

图片

还可以接入 MCP 服务,也可以调用各种插件,比如你想让哪吒根据你当地的天气,提醒你穿什么样的衣服,就可以接入这样的插件,然后再提示词里增加对应的技能就行。

图片

你也可以为她开启长期记忆,记录你们聊天的点点滴滴,都设计好后,可以在右侧实时调试,看下输出的结果是否满足你的期望。

图片

想做哪吒,或者其他任何角色,方法都是一样的。

设计完成后,选择发布,就可以通过 API 的形式访问这个服务了。

记住这个 api-key,后面会用到。然后点击查看 API,就能看到对应的调用代码了。

图片

这样 AI 大模型就准备好了。

2、AI 声音克隆

我们再来看 AI 声音克隆,想要训练一个自己的声音,可以用本地部署的 GPT-SoVITS 做声音克隆。

图片

可以自己随便训练音色,这个算法对于硬件性能要求不算太高,8G 显存的显卡就能跑。

现在官网也提供了 Windows 整合包,下载整合包,解压,运行这个 bat 批处理文件。

图片
图片

然后准备一段你想复刻的音色,我这里是哪吒的音频。

用这个软件进行训练,这个软件的使用教程,可以参考我的这期视频:

https://www.bilibili.com/video/BV1dV411D7Pp

这里就不再赘述,训练好,在推理页面里,就能测试效果了。

但是这是一个 webui 的推理页面,我们需要开启 API 服务,找到这个 config.py 配置文件。

图片

将 sovits_path 和 gpt_path 改成我们训练好的模型文件,这两个就是我们训练哪吒音频得到的两个模型文件。

图片

然后找到 api.py 文件。

图片

这里有一些运行参数,dr 是参考音频的路径,dt 是参考音频对应的文本,dl 是默认的音频语种。

图片

像我这个,拷贝一段音频放到跟 api.py 的同级目录下,然后打开命令行工具,进到这个项目的根目录下,指定一下音频文件,写上对用的文本,指定中文语种。

图片

回车运行,看到这样的页面,就表明 API 服务启动完成了。

图片

克隆 xiaozhi-esp32-server 项目到本地。

图片

项目里有详细的图文教学,可以使用 docker 部署,或者本地源码运行。

我选用的是本地源码运行,根据教程配置 conda 开发环境,安装必要的第三方依赖,然后下载语音识别模型文件,记住这个路径,把你下好的音频文件,放到这里就行。

图片

然后回到项目的根目录,创建一个 data 文件夹,将 config.yaml 配置文件,拷贝到 data 里,然后修改名字,增加一个前缀,点。

图片

打开这个配置文件,设备的 token 和 name,你可以随便设置一下,然后需要配置一下这里的 LLM,我们调用的 AliLLM,在 AliLLM 的配置里,写上在那个 txt 里记下的 api_key。

然后就是这个 TTS 语音合成,我们用的是 GPT_SOVITS_V3。

我们需要写下部署的 url,这个 url 就是开启的 GPT_SOVITS API 服务的地址,将这里的 auto 改为 zh 中文,并指定参考音频文件以及对应的参考文本。

图片

python app.py 启动这个 server 服务,看到这个前缀为 wss 的链接就表明服务启动成功了,这个链接保存备用。

图片

看到这里,你离成功已经就差最后一步了。

程序烧录

烧录程序,我们下载一个 ESP IDF 烧录工具。

图片

这个步骤也有详细的官方文档:

https://ccnphfhqs21z.feishu.cn/wiki/F5krwD16viZoF0kKkvDcrZNYnhb

根据教程,我们先下载 xiaozhi-esp32 的代码,这个代码就是烧录到这个硬件设备里的程序。

https://github.com/78/xiaozhi-esp32

插上硬件,设备管理器能看到这个 COM 口就表明连接正常,如果没有识别,可以安装这个文档里的驱动文件。

图片
图片

然后打开 esp 的命令行窗口,进度到这个工程根目录。

图片

我们需要先设置下我们的开发板上芯片的型号,比如我的是 esp32s3 的,那就用指令 idf.py set-target esp32s3,配置一下。

图片

然后输入 idf.py menuconfig 开始编译。

图片

进入 Xiaozhi Assistant 选项,接着选 Connection Type,选择 Websocket 确定,输入上面部署好的,wss 前缀的链接,保存退出。

然后上级目录,选择 Board Type,根据你购买的开发板选择具体的型号,这个就要看你是用的哪家的硬件了。

都配置好后,按键盘的 S,然后按 ESC 退出。

idf.py build 开始编译,这个过程可能需要等待个几分钟。

图片
图片

最后 idf.py build flash monitor 烧录程序到我们的智能硬件里。

图片
图片

如果一切顺利,你就可以愉快地跟这个智能硬件对话了。

没有评论:

发表评论

520福利!Claude3。7Max限时免费使用!

国内如何用 Claude 3.7 爆发性能? 国内如何用 Claude 3.7 爆发性能? 图片 2025 年初,硅谷新锐团队  CodeZap  决定将核心支付系统交给  Claude 3.7 。结果令人咋舌: 延迟降低 40% , 节省 5 万美元开发成本 !这背后,是 ...