这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【转载】用ESP32构建基于大模型的聊天机器人--from森

共1条 1/1 1 跳转至

【转载】用ESP32构建基于大模型的聊天机器人--from森

工程师
2025-05-18 23:57:56     打赏


一、器件准备1. ESP32开发板(ESP-WROOM-32)

cabb39151564466bbdfe3afe70645355.jpeg

2、INMP441全向麦克风

2.jpeg

3、MAX98357 I2S音频放大器模块

3.jpeg

4、1.8寸(128x160)TFT彩色显示屏(8针)

4.jpeg

5、小型喇叭

5.jpeg

三、注册并开通大模型服务

以接入讯飞星火模型为例:

1、注册账号

2、创建应用

完成注册并登录后,进入控制台,选择创建新应用,平台将自动生成APPID。

3、开通服务

点击已创建的应用条目,点击“更多服务信息查询”,可查看你的APPID、APISecret、APIKey信息,记录下来后面代码调试将使用。

返回后重新点击已创建的应用条目,进入后选择左侧的Spark4.0 Ultra模型,点击“立即购买”,然后选择我的应用、“免费包(个人)”,最后“确认下单”,这样就开通了讯飞认知大模型。

同样的操作,再选择开通语音转文字服务。

四、烧录固件1、编译环境准备

下载vscode和platformIO插件

......

 

int llm = 1;    // 大模型选择参数:0:豆包,1:讯飞星火,2:通义千问

 

......

 

// 讯飞stt和大模型服务的参数

String APPID = "12345678";     // App ID,必填

String APISecret = "12345678"; // API Secret,必填

String APIKey = "12345678";    // API Key,必填

 

......

......

 

// 角色设定

String roleSet = "你是一个二次元魔法猫娘,你的名字叫小灵,你的性格可爱活泼,说话简短,同时带有攻击嘲讽意味,你喜欢在回答的末尾加一个“喵”字。";

String roleSet1 = "你是一个二次元魔法猫娘,你的名字叫小灵,你的性格可爱活泼,说话简短,同时带有攻击嘲讽意味,你喜欢在回答的末尾加一个“喵”字。";

 

 

......

 

                // 增加足够多的同音字可以提高唤醒率,支持多唤醒词唤醒(askquestion.indexOf("你好") > -1 || askquestion.indexOf("您好") > -1) &&

                if( (askquestion.indexOf("坤坤") > -1 || askquestion.indexOf("小白") > -1 || askquestion.indexOf("丁真") > -1 || askquestion.indexOf("九歌") > -1))

                {

                    await_flag = 0;     //退出待机状态

                    start_con = 1;      //对话开始标识

                    Answer = "喵~九歌在的,请尽情吩咐小九歌,主人。";

                    response();     //屏幕显示Answer以及语音播放

                    conflag = 1;

                    return;

                }

......

 

Answer = "嗨~我没有听清,请再说一遍吧";

 

......

 

            else if (askquestion.indexOf("退下") > -1 || askquestion.indexOf("再见") > -1 || askquestion.indexOf("拜拜") > -1)

            {

                start_con = 0;      // 标识一轮对话结束

                musicplay = 0;

                Answer = "喵~主人,我先退下了,有事再叫我。";

                response();     //屏幕显示Answer以及语音播放

                await_flag = 1;     // 进入待机状态

                awake_flag = 0;     // 继续进行唤醒词识别

            }

 

......

编译并上传固件

在vscode中安装platformIO插件,编译并上传固件即可。

来源: 整理文章为传播相关技术,网络版权归原作者所有,如有侵权,请联系删除。




共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]