鸿蒙应用实践:利用扣子API开发起床文案生成器

前言

扣子是一个新一代 AI 应用开发平台,无需编程基础即可快速搭建基于大模型的 Bot,并发布到各个渠道。平台优势包括无限拓展的能力集(内置和自定义插件)、丰富的数据源(支持多种数据格式和上传方式)、持久化的记忆能力(通过数据库记住用户重要信息)以及灵活的工作流设计(通过拖拉拽方式处理复杂任务)。这些功能使得用户可以轻松创建功能强大的 Bot 来处理各种任务。

HarmonyOS NEXT将在今年第四季度正式商用,目前已有top5000应用开启了原生鸿蒙应用的开发,鸿蒙生态也将会越来越丰富。HarmonyOS NEXT正吸引着越来越多的开发者加入原生鸿蒙应用开发队伍之中去。俗话说“站在风口浪尖上,猪都能飞起来”,抓住鸿蒙应用抢占先机,是很多应用开发者目前最应该做的。

我们将使用扣子(coze)智能体API开发一个起床文案生成器,用于自己的鸿蒙应用中生成”千人千面“的起床文案。

什么是扣子(coze)智能体API

扣子支持将 Bot 发布为 API 服务,并提供了一系列接口,支持开发者在自己的应用中构建 AI 助手。当前,扣子 API 免费供开发者使用,每个空间的 API 请求限额为:每秒 2 次 (QPS),每分钟 60 次 (QPM),每天 3000 次 (QPD)。

基础概念

名词说明
会话(Conversation)Bot 和用户之间的一段问答交互。一个会话包含一条或多条消息,并且能够自动处理截断,以适应模型的上下文内容。
消息(Message)一条由用户或 Bot 创建的消息,消息内容可以包括文本、图片或文件。消息以列表的形式储存在对话中。
对话(Chat)在会话中对 Bot 的一次调用。Bot 收到请求后,结合用户输入、通过预设的一系列工作流等配置来调用模型或工具执行指定任务。每个对话都是会话的一部分,Bot 会将对话中产生的消息添加到会话中。
你可以直接发起会话,与 Bot 进行一次交互;也可以创建会话和消息,并在指定会话中发起对话,会话中的其他消息会作为历史消息传递给大模型。

起床文案生成的原理

根据用户提供的信息(如称呼、提醒事项、喜好、城市等),针对每个维度进行相关数据查询、文案编辑等处理,最终将所有结果整合到一起进行统一润色,生成一篇完整的文案。如图:

开发起床文案生成器的具体实现流程

本次开发主要使用到了扣子(coze)平台的Bot、工作流。

1. 注册并登录扣子(coze)平台

1.1. 进入扣子(coze)官网

可以在API HUB中找到 扣子API 或发现其他 AI 相关API。

1.2. 注册(登录账号)

点击”开始使用“输入手机号登录或者使用抖音一键登录功能(如果首次登录还需要填写一些注册信息)。登录成功后跳转到控制台如图:

2. 创建工作流

2.1. 工作流基本概念

工作流支持通过可视化的方式,对插件、大语言模型、代码块等功能进行组合,从而实现复杂、稳定的业务流程编排,例如旅行规划、报告分析等。

当目标任务场景包含较多的步骤,且对输出结果的准确性、格式有严格要求时,适合配置工作流来实现。

2.2. 功能概述

工作流由多个节点构成,节点是组成工作流的基本单元。例如,大语言模型 LLM、自定义代码、判断逻辑等节点。

工作流默认包含了开始节点和结束节点。

  • 开始节点是工作流的起始节点,可以包含用户输入信息。
  • 结束节点是工作流的末尾节点,用于返回工作流的运行结果。

不同节点可能需要不同的输入参数,输入参数分为引用和输入两类。引用是指引用前面节点的参数值、输入则是支持设定自定义的参数值。

2.3. 创建工作流

依次点击 个人空间 -> 工作流 -> 创建工作流

在弹窗中填写相关信息

2.4. 编辑工作流程

篇幅原因,我们目前暂时只做两个维度:用户的称呼、用户城市的天气和用户的代办清单。

2.4.1. 编辑开始节点

如图,我们的工作流一共需要提供4个输入参数,其中 userName 和 botName 用与最终生成的文案中的称呼,city 和 todoList 两个字段分别表示用户所在城市和代办清单,其中代办清单的类型是一个数组,数组中的每一项包含代办的描述和代办的时间。所有参数均不是必填项。

2.4.2. 维度一(城市天气)

全局浏览如图

新增一个”选择器节点“:在 如果 中引用变量 city ,选择条件中选择 不为空。由于输入中我们设置的所有字段均可以不填写,所以在这里我们需要判断一下city字段是否填写,如果填写了才能进行接下来的维度一的流程。

获取”实时的天气“:我们需要调用一些天气信息服务商提供的接口,这里有两个方案:

  • 方案一:使用代码节点,通过编写 js 代码编写网络请求的方式,获取实时天气。(优点:获取信息的方式更加自由。缺点:需要编程基础,需要自行寻找接口服务商。)
  • 方案二:使用插件节点,到插件商店中选择已经上架商店的现成的插件。如图,这里我们选择墨迹天气。(优点:集成方便。缺点:自由度不高,智能使用已有的。)

获取输入参数:根据墨迹天气插件的输入参数,我们需要从开始节点的输入中 city 字段中获取这些输入参数,但是用户输入的城市信息是不可控的,所以我们需要大模型的介入来处理这些信息,获取这些数据。

新增一个”大模型节点“:点击新增大模型节点

模型我们选择默认的模型,在输入参数中选择city字段,创建输出字段,与墨迹插件的输入字段保持一致:

编写提示词:让大模型根据城市信息填充输出字段。示例如下:

## Global- 提取出{{city}}中的城市名称,并将信息补全## Skill ### Skill1 提取城市- 将{{city}}中的城市名称提取出来。### Skill2 补全信息- 将提取出的城市名称进行补全,尽可能的补全信息,例如:台湖镇,补全后为:北京市通州区台湖镇。### Skill2 城市信息输出- 将补全后信息里的省份名,不包含直辖市作为province的值输出- 将补全后信息里的市名,包含直辖市作为city的值输出- 将补全后信息里的区县镇作为towns的值输出- 将补全后信息里的乡村作为villages的值输出- 将 当前时间 作为start_time的值输出- 将 7天后的时间 作为end_time的值输出## Constraints

这个节点放置在墨迹天气插件节点的前边,就能保证墨迹天气可以获取到想要的参数了。

新增一个大模型节点:成功获取到想要的天气信息后,我们需要通过大模型来对天气信息进行分析、处理和总结。

设置人设与回复逻辑:

# 角色你是一位资深的天气信息分析专家,擅长运用亲切、温暖且充满正能量的语言,依据给定的 json 格式数据,为用户精准剖析接下来 7 天的天气详情。## 技能### 技能 1: 详述今日天气1. 精准阐述今天的天气各项要素,涵盖温度高低、天空状况、风力大小等。2. 以温馨且积极的言辞传达今天的天气给人的舒适感受。### 技能 2: 研判后续天气1. 全面概括接下来一周的天气变动走向,包含温度起伏、晴雨交替等。2. 用鼓舞人心的话语让用户对未来天气满怀乐观与憧憬。### 技能 3: 给予穿衣指导1. 依照天气状况,给出贴合近期的时尚又舒适的穿搭提议。2. 着重强调舒适与美观二者的完美融合。### 技能 4: 预警极端天气1. 密切关注并明确指出近期可能出现的极端天气状况。2. 提供详尽的防范手段和应对策略。### 技能 5: 确定雨伞携带1. 确切告知用户今日出门是否需要携带雨伞。2. 清晰解释如此决策的依据,让用户一目了然。## 限制- 仅依据给定的 json 格式天气数据展开分析与回答,杜绝主观臆测。- 语言始终维持温馨、积极、鼓舞人心的格调,规避负面或忧虑的表述。- 回复内容务必简洁清晰、重点突出、通俗易懂。

至此,我们维度一(城市天气的)所需要的节点就设置完毕了,把他们链接起来:

总结

先判断是否存在参数城市信息(选择器节点)->补全城市信息(大模型节点)->获取天气信息(墨迹天气插件)->分析天气信息(大模型节点)

2.4.3. 维度二(代办清单)

全局浏览如图

新增一个”选择器节点“:判断是否存在代办信息

新增一个”大模型节点“:

至此,我们维度二(代办清单)所需要的节点就设置完毕了,把他们链接起来:

总结

先判断是否存在代办清单(选择器节点)->分析代办清单(大模型节点)

2.4.4. 生成亲切的早安问候(多维度生成结果合并,统一润色)

新增一个”大模型节点“:

人设与回复逻辑:

# 角色你是早小安,是经验丰富且专业的清晨叫醒服务专家,能够依据用户提供的具体情况创作出一篇细致且充满活力的早安叫醒长文,让被叫醒的人开启元气满满的新一天。## 技能### 技能 1: 编写早安叫醒文本1. 全面且深入地剖析用户所提供的信息,精准抓取核心要点。2. 灵活运用亲切、乐观、振奋人心的措辞,巧妙地将关键信息自然融入文本之中。3. 所创作的文本需具备一定规模,涵盖诚挚的问候、有力的鼓舞、贴心的提醒等丰富内容。4. 在融入有效信息的基础上,尽可能使文本篇幅较长且表述详尽。## 限制:- 文本结构清晰,合理分段,层次分明。- 严格依据用户给出的信息进行编写早安叫醒文本,坚决不自行添加无关紧要的内容。- 始终保持语言风格的温馨、积极、鼓舞人心特质。- 所生成的文本内容务必符合道德规范与法律法规要求。

其中,输入参数一共接收4个参数,分别是开始节点的两个称呼(用户称呼和智能体称呼)和两个维度(城市天气和代办清单)的输出结果。进行润色总结后进行输出。

2.4.5. 编辑结束节点

所有的节点已经设置完毕,把他们连起来。注意,选择器节点的否则也要链接到信息总和节点中,表示跳过获取城市信息的流程。

2.5. 试运行(测试)工作流

2.5.1. 试运行

点击试运行

输入测试数据,点击运行

查看测试结果

2.5.2. 发布

测试结果没有问题后,将工作流进行发布。

3. 创建Bot

工作流发布成功后,回到控制台点击创建Bot

3.1. 填写相关信息

3.2. 填写人设与回复逻辑:

# 角色你是早小安,是专业的清晨叫醒服务专家,可以根据用户提供的信息编写一段较长的早安叫醒文本,为被叫醒的人带来活力满满的一天。## 技能### 技能 1: 编写早安叫醒文本1. 仔细分析用户提供的信息,提取关键元素。2. 运用温馨、积极、鼓舞人心的语言,将关键信息融入文本中。3. 文本应具有一定的长度,包含问候、鼓励、提醒等内容4. 文本在包含有效信息的情况尽量长## 限制:- 条理清晰,分段。- 仅根据用户提供的信息编写早安叫醒文本,不自行添加无关内容。- 语言风格保持温馨、积极、鼓舞人心。- 文本内容符合道德和法律规范。

3.3. 添加刚刚发布的工作流

3.4. 预览并调试并查看调试详情

3.5. 确认无误后点击发布

注意:根据需求点选,需要通过API接口调用则一定要点选”Bot as API“。

4. API调用Bot

4.1. 生成个人访问令牌

在控制台页面点击“扣子 API”

选择“API 令牌”并根据提示生成令牌。

4.2. 发送请求

我们以 python 语言为例:

import requestsimport json# 定义 API 的 URLurl = 'https://api.coze.cn/open_api/v2/chat'# 定义请求头headers = {    'Authorization': 'Bearer {{Personal_Access_Token}}',    'Content-Type': 'application/json',    'Connection': 'keep-alive',    'Accept': '*/*'}# 定义请求体data = {    "bot_id": "{{Bot_Id}}",    "conversation_id": "123",    "user": "user_1",    "query": "我是小明,你是早小安,北京,今天记得完成周末作业,下午去姥姥家买菜,明天去爷爷家看望领居张奶奶,小狗生病了,给于一下人文关怀,记得吃药",    "stream": False,}# 将请求体转换为 JSON 格式的字符串json_data = json.dumps(data)# 发送 POST 请求response = requests.post(url, headers=headers, json=data)  # 使用 json 参数自动设置正确的 Content-Type# 打印响应内容print(response.text)

请求成功:

至此,我们的起床文案生成器开发完成。

总结

开发的难易程度:使用扣子(coze)平台开发起床文案生成器相对简单,不需要编程基础,通过图形化的工作流配置就能实现复杂的功能。同时,平台内置的插件和大语言模型极大地简化了开发流程。

使用场景畅想:这个起床文案生成器可以用于个人或家庭的早晨问候,也可以在企业内部用于提升员工的早晨活力。此外,还可以在智能家居设备中集成,为用户提供更加个性化的叫醒服务。

HarmonyOS NEXT应用空白比较大,开发一个智能的闹钟还是非常不错的~

工作流和Bot均已上架,欢迎大家来玩来交流~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/770369.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JAVA小知识31:多线程篇2

一、等待唤醒机制 生产者和消费者,也叫等待唤醒机制。他是一个十分经典的多线程协作的模式。我们来讲一个小故事: 在一个繁忙的工厂里,有一个生产线,我们称之为“共享资源”。这个生产线一次只能生产一个产品,而且需要…

等保2.0 实施方案

一、引言 随着信息技术的广泛应用,网络安全问题日益突出,为确保信息系统安全、稳定、可靠运行,保障国家安全、公共利益和个人信息安全,根据《网络安全法》及《信息安全技术 网络安全等级保护基本要求》(等保2.0&#x…

SQL Server和Oracle数据库的实时同步

数据同步在大数据应用中扮演着关键角色,它确保了数据的实时性和一致性,为数据分析和决策提供了重要支持。常见的数据同步方式包括ETL实时同步和实时ETL工具,后者可以基于日志追踪或触发器进行分类。不同的数据库系统针对实时同步也有各自的实…

打破数据生产力的桎梏,打造数据分析驱动的新型组织

在当前的经济环境下,各行业面临着前所未有的挑战,降本增效成为企业普遍追求的目标。数字化转型被视为实现这一目标的关键路径。通过数字化手段,企业能够探索新的增长机会,提升运营效率,并有效控制成本支出。在这一转型…

电影解说 剪辑实战带货全新蓝海市场,电影解说实战课程(16节)

课程目录 1-影视解说自媒体带货新玩法_1.mp4 2-影视解说选品及解说规范标准_1.mp4 3-电影解说的脚本模版及流程_1.mp4 4-电影解说编写文案及爆火规律_1.mp4 5-手把手教你影视素材哪里找_1.mp4 6-影视解说剪辑、配音及创收方式_1.mp4 7-电影解说剪辑的实操课程A_1.mp4 8…

Zabbix 配置SNMP监控

Zabbix SNMP监控介绍 Zabbix提供了强大的SNMP监控功能,可以用于监控网络设备、服务器和其他支持SNMP协议的设备。SNMP(Simple Network Management Protocol,简单网络管理协议)是一种广泛用于网络管理的协议。它用于监控网络设备&…

SRC通杀小技巧-巧用域名“横向移动“

文章目录 前言还是DevOps做个字典? 前言 周末闲暇时间无聊顺便挖挖洞,低危小子的我叒找到个低危,本想着一个低危实在是食之无味,弃之又可惜,打算将域名先存起来,等过段时间有活动一块交,就在复制域名的时候…

【人工智能】GPT-5的即将到来:从高中生进化到,,,博士生?

GPT-5的即将到来:从高中生进化到,博士生? 随着近月GPT-4o的出世,OpenAI也在进行一系列的采访和介绍接下来的展望和目标。 在6月22日的采访中,美国达特茅斯工程学院公布了OpenAI首席技术官米拉穆拉蒂的访谈内容。穆拉蒂确认&#…

嵌入式上gst rtsp server opencv mat

0 安装gstreamer sudo apt install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-…

PhysioLLM 个性化健康洞察:手表可穿戴设备实时数据 + 大模型

个性化健康洞察:可穿戴设备实时数据 大模型 提出背景PhysioLLM 图PhysioLLM 实现数据准备用户模型和洞察生成个性化数据总结和洞察是如何生成的? 解析分析 提出背景 论文:https://arxiv.org/pdf/2406.19283 虽然当前的可穿戴设备伴随应用&…

uniapp应用如何实现传感器数据采集和分析

UniApp是一种跨平台的应用开发框架,它支持在同一份代码中同时开发iOS、Android、H5等多个平台的应用。在UniApp中实现传感器数据采集和分析的过程可以分为以下几个步骤: 引入相关插件或库 UniApp通过插件或库的形式扩展功能。对于传感器数据采集和分析&…

【APK】SDKManager运行后闪退

本地JDK已安装,且配置了环境变量,未安装 android studiio 问题描述:右键以管理员身份运行 SDKManager,终端窗口闪退 问题原因:未找到正确的Java路径 解决办法: 1.修改tools目录下的 android.bat 文件&am…

数字人直播源码开发全攻略揭秘:如何搭建自己的数字人直播平台?

当前,数字人直播逐渐成为众多中小型企业线上带货和品牌宣传的不二之选,而艾媒研究数据也显示,超五成以上的被调查群体的企业使用过虚拟人技术,超三成被调查群体的企业计划使用虚拟人技术。在此背景下,越来越多的创业者…

10计算机视觉—物体检测算法

目录 1.R-CNN(区域卷积神经网络)2014兴趣区域(RoI)池化层Fast RCNN 2015Faster R-CNN 2015Mask R-CNN 2017总结2. SSD(单发多框检测)2016SSD模型总结3.YOLO(你只看一次)快!很重要4.目标检测算法性能对比5.SSD代码实现 使用很少,比不上yolo多尺度锚框实现SSD代码实现训练…

DOM 中包含哪些重要方法

1. alert 带有指定消息的警告框 alert("hello world"); 2. confirm 带有确定和取消的对话框,点击确定返回 true,点击取消返回 false confirm("你好吗"); 3. prompt 显示一个提示框,允许用户输入文本,点击…

数据恢复篇:5 款最佳 Mac 数据恢复软件

说到保护我们的数字生活,数据恢复软件的重要性怎么强调都不为过。无论您是意外删除了假期照片的普通用户,还是面临硬盘损坏的专业人士,随之而来的恐慌都是普遍存在的。幸运的是,数据恢复工具可以缓解这些压力。在Mac用户可用的众多…

零障碍入门:SSH免密登录与Hadoop生态系统的完美搭档【实训Day02】

一、 SSH免密登录配置 1 生成公钥和秘钥(在hadoop101上) # su star # cd /home/star/.ssh # ssh-keygen -t rsa 2 公钥和私钥 公钥id_rsa.pub 私钥id_rsa 3 将公钥拷贝到目标机器上(在hadoop101上) # ssh-copy-id hadoop101 # ssh-copy-id hadoop102 # ssh-co…

翔云发票查验接口状态码说明,哪种情况扣次数那种情况不扣次数呢

翔云发票查验API,实时联网,可以实现发票信息真伪的快速核验,帮助企业财务摆脱繁琐的发票真伪查验工作。那么知道了发票查验接口的作用,对于开发者而言,接口返回的状态码又分别代表什么含义呢?下面就翔云发票…

【Elasticsearch】Elasticsearch索引创建与管理详解

文章目录 📑引言一、Elasticsearch 索引的基础概念二、创建索引2.1 使用默认设置创建索引2.2 自定义设置创建索引2.3 创建索引并设置映射 三、索引模板3.1 创建索引模板3.2 使用索引模板创建索引 四、管理索引4.1 查看索引4.2 更新索引设置4.3 删除索引 五、索引别名…

掌握高效实用的VS调试技巧

🔥 个人主页:大耳朵土土垚 1.编程常见的错误 1.1编译型错误 编程编译型错误是指在编译代码时发现的错误。编译器在编译过程中会检查代码是否符合语法规范和语义要求,如果发现错误会产生编译错误。 直接看错误提示信息(双击&#…