当前位置: 首页 > news >正文

聆思CSK6大模型开发板语音控制风扇(上)

前言

本文介绍如何实现大模型+语音交互对风扇实现开关控制,示例使用的硬件是聆思CSK6大模型开发板模型接的星火大模型。本文将先详细介绍大模型云端从获取交互语音下发控制指令的全过程,包括整合上下文、配置提示词、语义意图分类、提取关键信息以及控制指令的执行等关键环节。

语音控制风扇云端流程配置

创建应用

登录LSPlatform,创建新应用

下载工程示例:风扇控制.json

导入工程示例:点击右上角”≡“找到”导入“

点击之后选择”导入节点文件”,导入下载的”风扇控制.json“示例工程文件

二、示例工程讲解

流程分为主要两个部分,第一部分为进行语音交互,将用户的语音输入识别为文字后利用第一个提示词节点(分类提示词),将用户的语音命令进行意图分类。

第二部分是根据前面的意图识别结果进行多分支处理。画图(第一个分支)的分支是调用星火大模型的文生图功能生成图片。风扇控制(第二个分支)的分支是再次利用提示词(控制风扇提示词)调用星火大模型从用户的语音内容中提取关键的控制信息,如“打开/关闭风扇”控制gpio上下电来实现控制风扇的状态,最后一个分支是闲聊分支是用于完成语音的基本问答功能。

  • 关键节点讲解
第一部分

第一部分主要讲解提示词语义改写落域结果判断部分

提示词(分类提示词)

按照提示词的一般设计原则,首先要对大模型进行角色设定(“你是一个分类专家”)。然后对其进行任务设定(“你需要将用户的句子归为“风扇控制”、“画画”、“闲聊”中的一类”)。接下来就是给大模型一些例子进行学习理解以提高分类的准确性。

语义改写

语义改写可以帮我们改写用户的问题,当有多轮提问的时候,使用语义改写可以将用户的多个问题改写成一个完整的问题,提高流程的处理效果。

当判断到有历史对话时,语义改写节点会整合用户的多个问题为一个完整问题,再传到提示词节点进行分类。

当判断到没有历史对话时,直接会传到提示词节点进行分类。

落域结果判断

这里有三个落域,分别是画画控制GPIO闲聊三个落域,它会通过前面的分类提示词来判断是哪个落域,每个落域对应不同的分支,如要再增添落域,点击左下角”添加“即可

第二部分

前置处理函数、后置处理函数都是使用function节点来编写javascript代码,其主要作用

前置处理:主要用来提取上一个节点的输出参数转换或组装成下一个节点的输入参数

后置处理:主要用来提取上一个节点的输出参数生成语音播放内容以及NLP结果推送给端侧,会比前置处理单纯提取参数复杂一些。

第二部分我们只看第二条分支(风扇分支),前置处理与”闲聊”的前置处理相同,直接照抄即可。这里关键讲解“提示词”与“后置处理”节点

风扇控制提示词

风扇控制的提示词的作用是从用户的命令中提取关键信息(打开/关闭)来实现并返回风扇状态的十进制值,打开即为“1”,关闭即为“0”,采用自然语言处理(NLP)比采用通配符匹配有更好的识别效果

风扇控制后置处理节点

后置处理这里分为设置语音提示、创建数据模板、获取用户指令、识别指令、执行操作、构造消息发送反馈和日志打印,这里主要部分为创建数据模板、获取用户指令、识别指令、执行操作。

创建数据模板

数据模板是用于告诉系统我们想要执行什么操作。模板里包含了一个意图(“SET")和一个结果列表,这个列表里包含了一个ID,一个类型("integer",表示我们用的是整数),和一个值(初始设为0,代表风扇是关闭的)。不建议直接修改。

获取用户指令

系统会通过读取msg.payload来获取用户指令,这里面包含了用户的输入。不需修改。

识别指令

系统会检查用户说了什么,如果用户说“打开风扇”,系统就设置一个值为1(代表风扇打开),并准备说“风扇已打开”。如果用户说“关闭风扇”,系统就设置值为0(代表风扇关闭)并准备说“风扇已关闭”。如果用户说的系统没听懂,就准备一句“很抱歉,我没有明白您的指令,请再说一遍”。

执行操作

如果系统识别了用户的指令,把值设置为GPIO的值(1或0),然后准备发送语音提示。

另外,正常情况下,节点将产生两个数据,其中nluMsg是一个JSON字符串,发送给开发板进行数据处理,其格式是由intentTemplate变量定义的,修改时要注意不要出错。而ttsMsg是发给TTS合成语音节点的,生成语音数据发送给开发板直接进行播放。

相关文章:

聆思CSK6大模型开发板语音控制风扇(上)

前言 本文介绍如何实现大模型语音交互对风扇实现开关控制,示例使用的硬件是聆思CSK6大模型开发板,大模型接的是星火大模型。本文将先详细介绍大模型云端从获取交互语音到下发控制指令的全过程,包括整合上下文、配置提示词、语义意图分类、提取…...

代码随想录算法训练营第四十一天 | 121. 买卖股票的最佳时机、122. 买卖股票的最佳时机II、123. 买卖股票的最佳时机III

一、121. 买卖股票的最佳时机 题目链接:121. 买卖股票的最佳时机 - 力扣(LeetCode) 文章讲解:代码随想录 (programmercarl.com)——121. 买卖股票的最佳时机 视频讲解:动态规划之 LeetCode:121.买卖股票的最…...

延时队列与redis and rabbitmq

延时队列是什么 延时队列(Delay Queue)是一种特殊的消息队列,它允许你在添加消息时设置一个延时时间,消息只有在延时时间到达后才能被消费。这种机制在分布式系统中非常有用,常用于处理需要在指定时间后执行的任务&am…...

数据结构--单链

#include "link.h" plink get_head() { plink pmalloc(sizeof(Link)); if(pNULL) { printf("申情节点失败\n"); return NULL; } p->len0; p->nextNULL; return p; } void head_insert(plink L,int a) {…...

春秋云镜CVE-2023-38836

打开靶场环境 点击发现一个登陆框&#xff0c;弱口令试一下 发现账号密码为admin,password 随便点击点击 Media发现这里可以上传文件上传木马试试 <?php eval($_POST["wjq"]); ?> 发现不能上传php文件 php内容 修改他的格式 抓包绕过一下 302就可以其实已经…...

Linux 进程概念

Linux 进程概念 硬件理解冯 诺依曼体系结构五大组成部件强调存储 引子操作系统&#xff08;Operator System&#xff09;概念作用认识为什么要有操作系统&#xff1f; 结构 示意图理解操作系统system call库函数概念 进程什么是进程概念误区认识 描述进程 - PCBtask_struct - P…...

【秋招突围】2024届校招-米哈游笔试题-第二套

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🌰 明晚又有米…...

tklog v0.0.9 :Rust灵活高效日志管理

tklog是rust高性能结构化日志库&#xff0c;支持同步日志&#xff0c;异步日志&#xff0c;支持自定义日志的输出格式&#xff0c;支持按时间&#xff0c;按文件大小分割日志文件&#xff0c;支持日志文件压缩备份&#xff0c;支持官方日志库标准API&#xff0c;支持mod独立参数…...

长安链java-sdk打成jar包部署找不到配置文件,springBoot项目制作Docker镜像

长安链使用sdk_config.yml的形式来引入用户的各种证书文件&#xff0c; 但是打成jar包部署在服务器上会提示找不到文件。 由于国内对镜像的限制&#xff0c;我选用了阿里的龙蜥镜像&#xff0c;里面提供java1.8的环境&#xff0c;因为长安链要1.8的环境 docker pull anolis-…...

AI问答:理解软件开发中的几个概念 / 软件逆向、加密、加固、脱壳、反编译

一、软件逆向 定义软件逆向工程是指从程序系统出发&#xff0c;通过运用解密、反汇编、系统分析、程序理解等多种计算机网络安全技术&#xff0c;对软件的结构、流程、算法、代码等进行逆向的拆解分析&#xff0c;从而推出软件产品的源代码、设计原理、结构、算法、处理过程、…...

第十一届MathorCup高校数学建模挑战赛-C题:基于有限差分法的散热机理建模与海底数据中心优化设计

目录 摘 要 1 问题重述 1.1 问题背景 1.2 问题重述 2 问题分析 3 模型假设 4 符号说明 5 我们的工作 6 模型的建立与求解 6.1 建模前的准备 6.2 问题一的建模与求解 6.3 问题二的建模与求解 6.4 问题三的建模与求解 6.5 问题四的建模与解决 7 结果检验及误差分析 8 模型评价 9 …...

【java】常量

文章目录 什么是常量常量分类 什么是常量 程序运行过程当中&#xff0c;其值不可以发生改变的量。 常量分类 常量类型说明举例字符串常年用双引号括起来的内容“Hello World !” “我是一个常量”整数常量不带小数点的数字666 -888小数常量带小数的数字3.14、-3.19字符常量用…...

react如何使用useContext + TS 自定义hooks

为了在 TypeScript 中为 useContext 提供良好的类型提示&#xff0c;我们需要为 Context 定义类型&#xff0c;并确保在创建和使用 Context 时应用这些类型。这可以帮助我们获得更好的类型检查和智能提示。 示例&#xff1a;在用户认证示例中添加 TypeScript 类型 定义类型 …...

【网络安全学习】SQL注入03:如何防止SQL注入

防止SQL注入&#xff0c;就必须清楚&#xff1a;数据库只负责执行SQL语句&#xff0c;根据SQL语句来返回相关数据。数据库并没有什么好的办法直接过滤SQL注入&#xff0c;哪怕是存储过程也不例外。 那么防止SQL注入就得从代码层面进行入手。 1. 严格的数据类型 Java、C#等强…...

linux利用crontab捕获iotop

1.iotop介绍 iotop-简单的类似TOP 命令的I/O监视器 使用&#xff1a;iotop[选项] 描述&#xff1a;iotop监视Linux内核输出的I/O使用信息&#xff08;需要2.6.20或更高版本&#xff09;&#xff0c;并显示系统上进程或线程的当前I/O使用情况表。至少需要在您的Linux内核构建…...

android13 关闭selinux 临时关闭或者永久关闭

总纲 android13 rom 开发总纲说明 目录 1.前言 2.情况分析 2.1 临时关闭 2.2 永久关闭 3.修改方法 3.1 临时修改 3.2 永久关闭 4.编译测试 5.彩蛋 1.前言 在Android操作系统中,SELinux(Security-Enhanced Linux)是一种安全模块,用于提供强制访问控制(MAC)安全…...

JetBrains GoLand单元测试不支持单个单元测试case执行

譬如函数代码 func AddInt(a, b int32) int32 {return a b } 单元测试代码&#xff1a; func TestAddInt(t *testing.T) {type args struct {a int32b int32}tests : []struct {name stringargs argswant int32}{{name: "add",args: args{a: 1, b: 2},want: 3},{n…...

基于STM32设计的盆栽种植自动管理系统(微信小程序)(201)

文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】设计实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献1.4 开发工具的选择【1】设备端开发【2】上位机开发1.5 系统框…...

白骑士的PyCharm教学实战项目篇 4.1 Web应用开发

系列目录 上一篇&#xff1a;白骑士的PyCharm教学高级篇 3.5 团队协作与集成开发​​​​​​​ 在现代开发环境中&#xff0c;Web应用已经成为开发者们不可或缺的一部分。利用PyCharm强大的功能&#xff0c;开发Web应用变得更加高效和直观。本文将详细介绍如何基于PyCharm进行…...

Linux与Docker常用运维命令一览

大家好&#xff0c;欢迎各位工友。 在博主陆陆续续的运维过程中&#xff0c;经常会用到许多运维相关的命令&#xff0c;以往都是现用现查&#xff0c;如今抽时间都记录一下&#xff0c;便于查阅和使用。 Linux常用命令 文件和目录操作 ls&#xff1a;列出目录内容cd [direc…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...