720|4

44

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

【DigiKey“智造万物,快乐不停”创意大赛】wifi语音识别灯控之技术规划篇 [复制链接]

  本帖最后由 JohnMatthrew 于 2023-11-30 22:55 编辑

技术栈

后端: springboot+springdata+netty+grpc

前端:微信小程序

agent: promptulate框架

 

后端具体路线
       先使用springboot搭建基本的restful交互,外挂emax broker进行通讯,使用hook进行emgx与后端平台进行交互,使用简单的物模型模板来对灯的状态进行建模,具体而言就是无类型的物模型。简单而言就是实现一个中台和一个小程序客户端(to c),中台可以自由配置产品以实现完整的生态链,控制它的发布和生命周期。

 

前端具体路线

       使用微信官方前端设计语言设计出用户端,分为控制部分与数据部分。控制部分主要是通过服务器将开关灯以及颜色转换操作传到Arduino nano IOT 33中对等待进行控制;数据部分主要作为用户日志,将用户对灯带控制的数据记录并显示在小程序界面中。


agent具体路线
        使用flask复用目前的pne框架,pne框架目前包含了必须的iot模块以及人类反馈模块,只需要提供相应的接口就可以连接后端。

 

        Langchain是LLM开发中值得关注的框架之一。它提供了一种将外部工具与LLM结合的思路,并利用嵌入和向量数据库来克服上下文有限的问题。然而,Langchain本身存在一些问题,例如代码冗余,这对编程体验产生了负面影响。此外,Langchain并没有内置物联网(IoT)工具,这对于物联网开发者来说并不友好。与此相比,Promptlulate是由CWL社区和Promptlulate AI社区联合开发的LLM框架,它内置了IoT工具。这使得我们可以使用Promptlulate进行一些硬件实验,来感受自主智能体的魅力。Promptlulate提供了更好的编程体验,避免了冗余代码的问题,并为物联网开发者提供了方便和友好的环境。

 

       在Promptlulate框架的思想下,要使用LLM控制你的IoT设备,首先需要创建相应的工具模块。由于MQTT协议是IoT设备最常用的协议,因此我选择使用Paho库来快速创建一个API封装器,用于发布设备控制指令。在这里,物联网的控制主要是开关量和数字量的控制,而数字量的实现相对较为复杂,因此本次提案暂时只包括了开关量的控制。

开关量的工具模块主要分为三部分。首先是通信模块,即API封装器。它的构造非常简单,使用Paho库来进行MQTT信息的发布

 

        第二部分就是映射表和描述,将该工具的作用描述清楚给llm,并将自然语言映射到操作指令。但显然自然语言表达多种多样,单靠传统的条件判断和传统算法难以进行有效判断用于意图,但是借助大语言模型,这样的判断就变得非常简单,这就需要第三部分构建合适的prompt进行判断。

第三部分自然就是prompt构建,使用了角色扮演和格式化输出的技巧,使得大语言模型判断用户的意图并返回对应的序号,这部分借助promptulate的格式化字符串生成组件,开发起来非常简便。

 

       到现在我们已经拥有了完整的iot开关量控制工具,可以根据用户的意图进行相应的电器控制,但是这还远远不够,我们需要的是llm能有根据环境自主决策,比如说根据现在的环境来给我自主选择合适的智能设备。

 

ReAct是Reasoning和Acting的缩写。

这个框架的基本思路是给一个Prompt,这个Prompt将Question拆解成几个步骤。分别是:

Tought: 思考自己应该采取的下一步动作。

Action:执行某个动作,并决定自己使用什么工具。

Finish[answer] 它将使用答案完成当前任务。

Observation:观察到的外部工具给到的结果,将作为新的提示输入给 ChatGPT。


技术指标
后端:实现物模型和产品模板,可以对智能灯进行物模型抽象化,获取灯的各种状态,事件以及报警信息。实现iwt鉴权等安全措施确保安全。引入agent智能化能力,通过humanfeedback 工具实现人在回路的智能体控制,当弱网或者没有网络的时候可以通过本地模块的语音模块进行控制。

前端:用户端用于手动控制灯带开关与颜色控制,同时收集并显示用户对灯的操作数据。

最新回复

直接全栈了,有点技术那堵,现在但凡和无线街上的都是会点应用端    详情 回复 发表于 2023-12-1 10:25
点赞 关注
 
 

回复
举报

7044

帖子

11

TA的资源

版主

沙发
 

用户端用于手动控制灯带开关与颜色控制,同时收集并显示用户对灯的操作数据。

这个非常好呀!

点评

是的,还能根据目前用户开关频次进行分析。后续还能促进省电以及习惯的学习  详情 回复 发表于 2023-12-25 23:09
 
 
 

回复

6533

帖子

9

TA的资源

版主

板凳
 

直接全栈了,有点技术那堵,现在但凡和无线街上的都是会点应用端 

点评

是的,拿出点干货出来给大家。敬请期待  详情 回复 发表于 2023-12-25 23:09
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复

44

帖子

1

TA的资源

一粒金砂(中级)

4
 
lugl4313820 发表于 2023-12-1 07:22 用户端用于手动控制灯带开关与颜色控制,同时收集并显示用户对灯的操作数据。 这个非常好呀!

是的,还能根据目前用户开关频次进行分析。后续还能促进省电以及习惯的学习

 
 
 

回复

44

帖子

1

TA的资源

一粒金砂(中级)

5
 
秦天qintian0303 发表于 2023-12-1 10:25 直接全栈了,有点技术那堵,现在但凡和无线街上的都是会点应用端 

是的,拿出点干货出来给大家。敬请期待

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表