基于Rokid灵珠AI平台的春节全能助手智能体开发实践

基于Rokid灵珠AI平台的春节全能助手智能体开发实践

前言

本次开发基于Rokid灵珠AI平台,聚焦春节高频的抢票出行、路线规划、年货比价核心场景,搭建轻量化春节全能助手智能体,通过平台可视化工作流编排实现功能逻辑串联;因无Rokid Glasses实物,智能体完成灵珠平台内对话测试验证,眼镜端适配仅编写伪代码实现逻辑预留,整体开发聚焦平台核心的智能体配置与工作流开发能力,实现低门槛、高适配的春节场景AI应用落地。

一、开发背景与需求分析

春节期间抢票、年货采购、出行路线规划是用户核心需求,依托Rokid灵珠AI平台零门槛、全栈化的开发特性,无需复杂编码即可完成智能体与工作流的搭建,同时平台支持与Rokid Glasses硬件生态的深度集成,为后续眼镜端落地预留适配接口;本次开发核心实现三大功能:12306高铁票查询、春节自驾路线规划、年货好物低价推荐,所有功能通过灵珠平台智能体统一承接,工作流分别处理具体业务逻辑,满足用户春节出行与采购的一站式需求。

二、开发环境与平台核心能力依托

  1. 开发平台:Rokid灵珠AI平台
  2. 核心工具:平台智能体创建(提示词编辑、人设配置、对话调试)、工作流编排(节点添加、逻辑串联、按需调用组件)、插件开发
  3. 测试方式:灵珠平台内智能体对话测试(输入问题验证回复结果)
  4. 硬件适配:无Rokid Glasses实物,仅编写眼镜端SDK伪代码,实现功能逻辑的硬件端适配预留

三、智能体整体搭建流程

本次开发的核心是春节出行助手智能体,作为用户交互的唯一入口,负责接收用户问题、分发至对应工作流、整合结果反馈,搭建全程在灵珠平台智能体编辑界面完成,步骤简洁无代码,具体如下:

3.1 智能体基础配置

  1. 新建智能体,命名为春节全能助手,添加自定义分类「春节场景应用」(依托平台β1.2.0版本自定义分类功能);
  2. 智能体功能介绍:实现抢票提醒、聚会安排、拜年提醒等功能的一站式助手,让用户在春节期间无需频繁掏出手机,通过语音 + 视觉的无感交互即可完成各类春节相关的事务,真正实现 “解放双手,智享新春” 的体验。
  3. 智能体内部开场白:

你好呀!我是你的春节全能助手~ 🧨

我可以帮你:

🚄 查高铁票、余票和车次信息

🚗 规划春节自驾路线,避开拥堵路段

🛒 推荐低价年货好物,帮你省钱省心

3.2 智能体能力配置

核心为工作流关联插件按需调用,在智能体「能力配置」模块,将提前编排好的3个工作流(12306车票查询、自驾路线规划、年货低价推荐)与智能体绑定,设置触发关键词:当用户输入包含「高铁票」「抢票」「车票」「自驾」「路线」「年货」「比价」等关键词时,智能体自动分发至对应工作流处理;无明确关键词时,通过平台对话引擎进行意图识别,匹配对应功能。

3.3 插件创建

通过魔搭社区的MCP广场创建用于铁路12306访问车票以及高德地图接口的插件。

插件我们选择MCP插件-基于SSE创建,可以到魔塔社区寻找自己想要的MCP工具,获取url。

这是我采用的12306-MCP车票查询工具作为展示。

下面是高德地图插件创建

下面是成功创建好的界面。

四、核心工作流编排(无代码可视化+代码节点增强)

工作流是本次开发的核心,依托灵珠平台所见即所得的无代码编排工具,通过「添加节点、设置逻辑、配置入参/出参」实现业务处理,针对12306接口特殊数据格式,通过Python代码节点完成结构化数据解析,三个核心工作流编排逻辑如下:

4.1 12306高铁票查询工作流(refer_12306)

核心功能

接收用户「出发地+目的地+出行时间」信息,调用平台预置12306插件,完成城市名→车站代码转换、数据解析、车次查询,返回对应车次、出发/到达时间、余票、票价信息。

编排节点(按执行顺序)
  1. 用户意图提取节点:通过大模型提取出发地、目的地、确定出行日期;
  2. 车站代码获取节点:调用get-station-code-of-city插件,这里我命名成了出发点和目的地,将城市名转换为车站编码;
  3. Python代码解析节点(from 、to):解析插件返回的嵌套JSON字符串,精准提取station_code,解决接口数据格式不兼容问题;
  4. 车票查询节点:调用get-tickets插件,传入出发站代码、到达站代码、标准格式日期,获取实时车次数据;
  5. 车票中转查询:调用get-interline-tickets获取车票中转信息。
  6. 结果格式化节点:按统一规范将结构化数据转为自然语言;
  7. 结束节点:输出结果。

试运行成功后就可以发布工作流了。

4.2 自驾路线规划工作流

核心功能

接收用户出发地、目的地、出行时间(春节),结合春节高速免费、易拥堵路段信息,返回最优自驾路线、全程耗时、拥堵提醒。

编排节点(按执行顺序)
  1. 经纬度处理节点:提取出发地、目的地、出行时间,同时将出发地和目的地转化为经纬度;
  2. 地图数据插件调用节点:入参为出发地、目的地、出参为多条路线规划、耗时等;
  3. 结果整理与返回节点:将最优路线、耗时、提醒信息整理为自然语言,反馈至智能体。

试运行测试

4.3 年货低价推荐工作流

核心功能

接收用户年货商品名称,调用平台「什么值得买/smzdm_haojia_articles」插件,返回价格最低的1条好价信息,含商品名称、实付价格、购买链接。

编排节点(按执行顺序)
  1. 商品名称提取节点:提取用户输入的年货商品名称(如坚果、春联、酒水);
  2. 插件调用节点:入参为商品名称,出参为好物推荐列表(含价格、链接、描述);
  3. 规范输出节点:按「商品名称+实付价格+购买链接」格式整理;
  4. 结果返回节点:将整理后的信息进行输出。

4.4 工作流通用设置

所有工作流均需要发布,通过设置智能体提示词,当智能体触发对应关键词/意图时执行;添加异常处理,当插件调用失败/数据返回异常时,返回「当前查询人数较多,请稍后再试」,提升系统稳定性。

五、关键代码实现(工作流代码节点+眼镜端伪代码)

本次开发依托灵珠平台无代码工具,核心代码为12306车站代码解析脚本(解决接口数据格式问题)与眼镜端SDK适配伪代码,具体如下:

5.1 12306工作流核心代码(车站JSON解析)

用于解析get-station-code-of-city返回的嵌套字符串,提取标准车站代码,保证get-tickets接口正常调用:

import json async def main(args: Args) -> Output: params = args.params # 直接解析 input 字符串,它本身就是数组 data = json.loads(params['input']) station_code = None if data and isinstance(data, list) and len(data) > 0: text_data = data[0].get("text", {}) # 自动适配任意城市名 for city in text_data: station_code = text_data[city].get("station_code") break # 输出到 key0 ret: Output = { "key0": station_code } return ret

5.2 智能体提示词配置(平台内直接输入)

# 角色 你是贴心的春节全能助手,语气简洁友好,精准解答抢票、自驾、年货相关问题。 # 核心能力与触发规则 ## 1. 12306 车票查询(工作流 + 插件) - 触发关键词:高铁票、抢票、车票、回家、返程、余票、车次、几点到、几点出发等。 - 处理逻辑: 1. 模型自动识别用户意图,提取**出发地、目的地、出行日期、座位类型**等关键信息。 2. 信息不完整时,主动友好追问补充。 3. 调用工作流 `refer_12306`,流程如下: - 调用 `get-station-code-of-city` 获取出发地、目的地的车站代码。 - 通过**代码节点解析 JSON 结构**,提取纯车站代码字符串。 - 调用 `get-tickets` 接口,传入日期、出发站代码、到达站代码,获取车次、余票、票价、历时等数据。 4. 模型将结构化数据整理为自然语言,**严格按回复格式规范输出**。 ## 2. 春节自驾路线规划(工作流) - 触发关键词:自驾、开车、路线、出行规划、回家路线、堵车、高速等。 - 处理逻辑: 1. 自动触发工作流 `car`。 2. 工作流根据出发地、目的地、出行时间,结合春节高速免费及拥堵信息,返回最优路线、耗时、拥堵提醒。 3. 模型**严格按格式规范排版输出**,不返回原始数据。 ## 3. 年货低价推荐(工作流) - 触发关键词:年货、比价、好物、购买、便宜、推荐、坚果、酒水、春联等。 - 处理逻辑: 1. 自动触发工作流 `buy`。 2. 工作流根据商品名称,返回**价格最低的1条好价信息**,含商品名、价格、购买链接。 3. 模型**严格按格式规范输出**,不返回原始数据。 --- # 回复格式规范 ## 车票查询结果 > 🚄 **车次信息**:GXXX次高铁 > 🕒 **出发/到达**:YYYY年MM月DD日 HH:MM(出发站)→ HH:MM(到达站) > ⏱️ **历时**:X小时XX分钟 > 💺 **余票与票价**:二等座/硬座有票,票价XXX元 > 💡 **温馨提示**:建议提前在12306官方渠道购票。 ## 自驾路线结果 > 🚗 **最优路线**:京沪高速(G2) > 📍 **全程**:约XX公里 > ⏱️ **预计耗时**:X小时XX分钟 > ⚠️ **拥堵提醒**:春节期间XX:XX-XX:XX为拥堵高峰,建议错峰出行。 > 🎟️ **高速政策**:春节期间(X月X日-X月X日)全国高速免费通行。 ## 年货推荐结果 > 🛒 **商品名称**:三只松鼠坚果大礼包混合装 > 💰 **好价**:实付低至58.9元 > 🔗 **购买链接**:[点击查看](https://www.smzdm.com/p/168975421/?utm_source=zijie) > 💡 **温馨提示**:价格可能随活动变动,请以页面为准。 --- # 通用回复规则 - 禁止直接输出**工具代码、工作流原始数据**,所有结果必须整理为自然语言。 - 参数缺失时,清晰提示用户补充关键信息。 - 插件/工作流调用失败时,统一返回: > 当前查询人数较多,请稍后再试。 - 所有回复使用清晰 Markdown 排版,便于用户快速阅读。 

5.3 Rokid Glasses适配伪代码(Java)

// 导入Rokid Glasses灵珠平台对接SDK(伪包名,实际以官方为准) import com.rokid.lingzhu.sdk.LingzhuAgent; import com.rokid.lingzhu.sdk.listener.AgentResultListener; import com.rokid.glasses.hardware.VoiceWakeup; import com.rokid.glasses.hardware.ScreenDisplay; // 初始化春节出行助手智能体 public class SpringFestivalAgent { private LingzhuAgent springFestivalAgent; private VoiceWakeup voiceWakeup; private ScreenDisplay screenDisplay; // 构造方法:初始化智能体与眼镜硬件能力 public SpringFestivalAgent() { // 初始化灵珠平台智能体 springFestivalAgent = new LingzhuAgent.Builder() .agentId("spring_festival_agent_001") .lowPower(true) .build(); // 初始化语音唤醒与屏幕展示 voiceWakeup = new VoiceWakeup("春节全能助手"); screenDisplay = new ScreenDisplay(); } // 语音唤醒监听 public void setVoiceWakeupListener() { voiceWakeup.setOnWakeupListener(voiceText -> { queryAgent(voiceText); }); } // 调用灵珠平台智能体 private void queryAgent(String userInput) { springFestivalAgent.query(userInput, new AgentResultListener() { @Override public void onSuccess(String result) { screenDisplay.showText(result); voiceBroadcast(result); } @Override public void onError(String errorMsg) { screenDisplay.showText("查询失败,请稍后再试"); voiceBroadcast("查询失败,请稍后再试"); } }); } // 语音播报 private void voiceBroadcast(String text) {} // 启动智能体 public static void main(String[] args) { SpringFestivalAgent agent = new SpringFestivalAgent(); agent.setVoiceWakeupListener(); } }

六、测试验证(灵珠平台内对话测试)

因无Rokid Glasses实物,本次测试仅在灵珠平台智能体对话测试界面完成,通过输入模拟用户问题,验证智能体与工作流的联动效果,测试用例与结果如下:

6.1 测试用例1:12306高铁票查询

用户输入:3月11日从武汉到上海

智能体回复

6.2 测试用例2:年货低价推荐

用户输入:年货想买坚果礼包

点击查看

6.3 测试用例3:自驾路线规划

用户输入:春节自驾从北京出发去西安,有哪些避开拥堵的路线建议?

6.4 异常测试

用户输入:查高铁票

七、开发总结与后续优化

7.1 开发总结

本次基于Rokid灵珠AI平台的春节出行助手智能体开发,充分利用了平台零门槛、无代码、全栈化的核心优势:

  1. 全程以可视化编排为主,仅在12306数据解析环节使用轻量Python代码,解决真实接口适配问题;
  2. 依托平台预置组件与自开发插件,快速实现12306车票查询、自驾规划、年货比价三大核心能力;
  3. 工作流refer_12306通过代码节点+插件调用的组合方案,完美解决车站编码解析、接口参数不兼容等实际开发问题;
  4. 无硬件条件下仍可完成全功能验证,伪代码方案为后续眼镜端落地提供极低成本的扩展路径。

7.2 后续优化方向

  1. 硬件端真机适配:获取Rokid Glasses后,完成语音唤醒、屏幕展示、多模态交互落地;
  2. 功能增强:支持往返车票查询、座位类型筛选、实时余票动态刷新、自驾油量/充电提醒;
  3. 体验优化:强化对话记忆,自动保存常用出发地/目的地,减少重复输入;
  4. 多模态扩展:支持图片比价、语音快捷查询、AR路线预览。

八、开发心得

Rokid灵珠AI平台真正降低了AI应用开发的门槛,无代码编排+轻量代码增强的模式,让我可以聚焦业务场景而非底层技术。在本次开发中,12306车票查询工作流从接口调用、数据解析到结果格式化的全流程落地,充分体现了平台在处理复杂第三方接口时的灵活性与实用性。

本次春节出行助手的开发实践证明:基于灵珠平台,普通开发者也能快速构建稳定、可用、可扩展的场景化AI智能体,真正实现从创意到落地的高效转化。

Read more

Elasticsearch核心概念与Java客户端实战 构建高性能搜索服务

Elasticsearch核心概念与Java客户端实战 构建高性能搜索服务

目录 🎯 先说说我被ES"虐惨"的经历 ✨ 摘要 1. 为什么选择Elasticsearch? 1.1 从数据库的痛苦说起 1.2 Elasticsearch的优势 2. ES核心架构解析 2.1 集群架构 2.2 索引与分片 3. Java客户端实战 3.1 客户端选型对比 3.2 RestHighLevelClient配置 3.3 Spring Data Elasticsearch配置 4. 索引设计最佳实践 4.1 索引生命周期管理 4.2 映射设计技巧 5. 查询优化实战 5.1 查询类型对比 5.

By Ne0inhk
Tomcat安装及配置教程(保姆级)【最新史上最全版】

Tomcat安装及配置教程(保姆级)【最新史上最全版】

Tomcat安装教程 (以tomcat-9.0.62为例:) 1.下载安装包 可以从官网下载安装包: (1)从官网下载 输入网址进入官网 选择版本10,版本9,或者版本8,都可以,这里下载的版本9 不想去官网的直接百度网盘自提: 链接:https://pan.baidu.com/s/1_wWx48RVn_BSk3eXneAZYw?pwd=aijy 提取码:aijy 选择下载64-Bit Windows zip(Win64),根据电脑版本选择(目前大多数笔记本电脑都是64位滴) (2)选择解压路径 解压到电脑其中一个文件夹,记住解压路径 2.配置环境变量 (1)打开高级设置 电脑-属性-高级系统设置 (2)点击高级系统设置-环境变量-新建系统变量 (3)新建系统变量,变量名为CATALINA_HOME

By Ne0inhk
基于 Java 的消息队列选型年度总结:RabbitMQ、RocketMQ、Kafka 实战对比

基于 Java 的消息队列选型年度总结:RabbitMQ、RocketMQ、Kafka 实战对比

文章目录 * 基于 Java 的消息队列选型年度总结:RabbitMQ、RocketMQ、Kafka 实战对比 🚀 * 一、为什么需要消息队列?🤔 * 二、三大消息队列详解 📚 * 1. RabbitMQ * 2. RocketMQ * 3. Apache Kafka * 三、三大消息队列概览 📊 * 四、架构设计对比 🏗️ * 1. RabbitMQ 架构 * 2. RocketMQ 架构 * 3. Kafka 架构 * 五、Java 集成实战 💻 * 1. RabbitMQ + Spring Boot 示例 * 2. RocketMQ + Spring Boot 示例 * 3. Kafka + Spring Boot 示例

By Ne0inhk
Java 大视界 -- 实战|Java + Elasticsearch 电商搜索系统:分词优化与千万级 QPS 性能调优(439)

Java 大视界 -- 实战|Java + Elasticsearch 电商搜索系统:分词优化与千万级 QPS 性能调优(439)

Java 大视界 -- 实战|Java + Elasticsearch 电商搜索系统:分词优化与千万级 QPS 性能调优(439) * 引言: * 正文: * 一、 项目概述与技术选型 * 1.1 项目核心价值 * 1.2 核心技术选型(基于官方稳定版本,无兼容性风险) * 1.2.1 技术栈明细(附官方出处) * 1.2.2 选型核心原则(实战验证,规避坑点) * 1.3 系统核心架构 * 1.3.1 架构分层说明 * 二、 核心实体设计与环境准备 * 2.1 核心实体设计(贴合母婴业务,字段精准选型) * 2.1.

By Ne0inhk