【进阶教程】「天气查询小助手」

【进阶教程】10分钟开发「天气查询小助手」

【进阶教程】10分钟开发「天气查询小助手」 【进阶教程】10分钟开发「天气查询小助手」 Modified June 18, 2024 Code block JavaScript 点击校验并解析参数 参数 arg1 的参数值选择{{获取城市地点.response}},也就是上一个LLM节点的输出结果 3.4 查询地点编码 添加「HTTP请求」节点,将地点名称encode作为请求,调用天气系统的城市编码接口,查询地点编码 调用地址:https://ali weather.showapi.com/area to id 请求方式:GET 返回类型:JSON 填写请求参数和请求头 请求参数:area,Value 选择{{Encode 地点.return}} 请求头:Authorization,Value 是 APPCODE f477f3eac78340af8f6e714f3901d620 3.5 提取AreaCode 添加「JavaScript」节点,由于通过接口查询地点编码后,返回的响应体内容很多,我们需要 Java 节点帮我们提取出地点编码 areaCode Code block JavaScript Copy // const axios = require('axios'); module.exports = async function main(arg1) { return JSON.parse(arg1).showapi res body.list[0].areaCode; } 3.6 查询当地天气 添加「HTTP请求」节点,将地点编码areaCode作为请求,调用天气系统的天气查询接口,返回天气信息 调用地址:https://ali weather.showapi.com/hour24 请求方式:GET 返回类型:JSON 填写请求参数和请求头 请求参数:area,Value 选择上个提取地点编码的result 请求头:Authorization,Value 是 APPCODE f477f3eac78340af8f6e714f3901d620 3.7 渲染天气信息为Markdown格式 利用大模型从接口返回的内容,提取天气内容,并转为 markdown语法,用于发消息卡片 注意替换标黄部分的变量 Code block Plain Text 你是一个专业的程序员,从接口返回的内容中,找到hourList里的第一条记录,并用markdown语法展示记录信息 接口返回的内容是:{{查询当地天气.body}} 查找要求是:找到hourList里的第1条记录 需要你输出的是: 按照 markdown语法展示内容包括地点、天气、温度、风力、风向,并且根据天气和温度,给出穿衣和出行建议,祝用户今天顺利; 要求: 1、严格按照 markdown语法输出 2、严格提取接口返回的内容,不要扩展 限制条件: 内容里不要提到“接口”、“要求”、“第一条记录”、“markdown”这种词语 3.8 发送消息 用上一个节点的 markdown 内容样式,发送消息 变量选择 {{渲染卡片.result}} 4. 发布应用 保存提交技能后,进行预览和调试,就可以发布应用,在线上使用了 Code block JavaScript 点击校验并解析参数 参数 arg1 的参数值选择{{获取城市地点.response}},也就是上一个LLM节点的输出结果 Code block JavaScript 点击校验并解析参数 参数 arg1 的参数值选择{{获取城市地点.response}},也就是上一个LLM节点的输出结果 点击校验并解析参数 参数 arg1 的参数值选择{{获取城市地点.response}},也就是上一个LLM节点的输出结果 3.4 查询地点编码 添加「HTTP请求」节点,将地点名称encode作为请求,调用天气系统的城市编码接口,查询地点编码 调用地址:https://ali weather.showapi.com/area to id 请求方式:GET 返回类型:JSON 填写请求参数和请求头 请求参数:area,Value 选择{{Encode 地点.return}} 请求头:Authorization,Value 是 APPCODE f477f3eac78340af8f6e714f3901d620 调用地址:https://ali weather.showapi.com/area to id 请求方式:GET 返回类型:JSON 填写请求参数和请求头 请求参数:area,Value 选择{{Encode 地点.return}} 请求头:Authorization,Value 是 APPCODE f477f3eac78340af8f6e714f3901d620 调用地址:https://ali weather.showapi.com/area to id 请求方式:GET 返回类型:JSON 填写请求参数和请求头 请求参数:area,Value 选择{{Encode 地点.return}} 请求头:Authorization,Value 是 APPCODE f477f3eac78340af8f6e714f3901d620 3.5 提取AreaCode 添加「JavaScript」节点,由于通过接口查询地点编码后,返回的响应体内容很多,我们需要 Java 节点帮我们提取出地点编码 areaCode Code block JavaScript Copy // const axios = require('axios'); module.exports = async function main(arg1) { return JSON.parse(arg1).showapi res body.list[0].areaCode; } Code block JavaScript Copy // const axios = require('axios'); module.exports = async function main(arg1) { return JSON.parse(arg1).showapi res body.list[0].areaCode; } 3.6 查询当地天气 添加「HTTP请求」节点,将地点编码areaCode作为请求,调用天气系统的天气查询接口,返回天气信息 调用地址:https://ali weather.showapi.com/hour24 请求方式:GET 返回类型:JSON 填写请求参数和请求头 请求参数:area,Value 选择上个提取地点编码的result 请求头:Authorization,Value 是 APPCODE f477f3eac78340af8f6e714f3901d620 调用地址:https://ali weather.showapi.com/hour24 请求方式:GET 返回类型:JSON 填写请求参数和请求头 请求参数:area,Value 选择上个提取地点编码的result 请求头:Authorization,Value 是 APPCODE f477f3eac78340af8f6e714f3901d620 调用地址:https://ali weather.showapi.com/hour24 请求方式:GET 返回类型:JSON 填写请求参数和请求头 请求参数:area,Value 选择上个提取地点编码的result 请求头:Authorization,Value 是 APPCODE f477f3eac78340af8f6e714f3901d620 3.7 渲染天气信息为Markdown格式 利用大模型从接口返回的内容,提取天气内容,并转为 markdown语法,用于发消息卡片 注意替换标黄部分的变量 Code block Plain Text 你是一个专业的程序员,从接口返回的内容中,找到hourList里的第一条记录,并用markdown语法展示记录信息 接口返回的内容是:{{查询当地天气.body}} 查找要求是:找到hourList里的第1条记录 需要你输出的是: 按照 markdown语法展示内容包括地点、天气、温度、风力、风向,并且根据天气和温度,给出穿衣和出行建议,祝用户今天顺利; 要求: 1、严格按照 markdown语法输出 2、严格提取接口返回的内容,不要扩展 限制条件: 内容里不要提到“接口”、“要求”、“第一条记录”、“markdown”这种词语 注意替换标黄部分的变量 Code block Plain Text 你是一个专业的程序员,从接口返回的内容中,找到hourList里的第一条记录,并用markdown语法展示记录信息 接口返回的内容是:{{查询当地天气.body}} 查找要求是:找到hourList里的第1条记录 需要你输出的是: 按照 markdown语法展示内容包括地点、天气、温度、风力、风向,并且根据天气和温度,给出穿衣和出行建议,祝用户今天顺利; 要求: 1、严格按照 markdown语法输出 2、严格提取接口返回的内容,不要扩展 限制条件: 内容里不要提到“接口”、“要求”、“第一条记录”、“markdown”这种词语 注意替换标黄部分的变量 3.8 发送消息 用上一个节点的 markdown 内容样式,发送消息 变量选择 {{渲染卡片.result}} 4. 发布应用 保存提交技能后,进行预览和调试,就可以发布应用,在线上使用了 最后更新时间 | Last updated: 2024/05/13 文档状态:已更新 维护人: user 5929 最后更新时间 | Last updated: 2024/05/13 文档状态:已更新 维护人: user 5929 演示效果 查询天气 闲聊 查询天气 查询天气 闲聊 闲聊 搭建过程 1. 创建应用 创建应用「天气查询小助手」 创建应用「天气查询小助手」 创建应用「天气查询小助手」 2. 设置小助手的人设 角色设定 你叫天气查询小助手,可以帮用户查询天气,也喜欢跟用户交流气象知识 技能: 1、如果用户提问中有地点信息,就使用查询实时天气,就用愉快的语气告诉用户天气信息 2、如果用户提问里没有地点信息,就询问用户是否要查询天气,请用户给出地点 开场欢迎语 大家好,我是天气查询小助手,一个专业气象爱好者~ 角色设定 你叫天气查询小助手,可以帮用户查询天气,也喜欢跟用户交流气象知识 技能: 1、如果用户提问中有地点信息,就使用查询实时天气,就用愉快的语气告诉用户天气信息 2、如果用户提问里没有地点信息,就询问用户是否要查询天气,请用户给出地点 开场欢迎语 大家好,我是天气查询小助手,一个专业气象爱好者~ 角色设定 你叫天气查询小助手,可以帮用户查询天气,也喜欢跟用户交流气象知识 技能: 1、如果用户提问中有地点信息,就使用查询实时天气,就用愉快的语气告诉用户天气信息 2、如果用户提问里没有地点信息,就询问用户是否要查询天气,请用户给出地点 开场欢迎语 大家好,我是天气查询小助手,一个专业气象爱好者~ 3. 编排「查询实时天气」 Workflow 3.1 自定义创建 Workflow:查询实时天气 添加「 Workflow 」技能:查询实时天气 添加「 Workflow 」技能:查询实时天气 添加「 Workflow 」技能:查询实时天气 3.2 获取用户查询地点 添加「LLM」节点获取用户查询地点 Code block Plain Text Copy 你是一个专业的地理信息查询工具,根据用户提供的内容,提取城市的名称 用户提供的内容是:{{开始节点.userInput}} 需要你输出的是:城市名称 要求: 1、除了城市名称外,不要输出额外的内容 2、严格提取用户提供内容的城市名称,不要扩展 举一个例子 用户提问:成都的天气是什么? 输出内容:成都 用户提问:北京今天多少度? 输出内容:北京 添加「LLM」节点获取用户查询地点 Code block Plain Text Copy 你是一个专业的地理信息查询工具,根据用户提供的内容,提取城市的名称 用户提供的内容是:{{开始节点.userInput}} 需要你输出的是:城市名称 要求: 1、除了城市名称外,不要输出额外的内容 2、严格提取用户提供内容的城市名称,不要扩展 举一个例子 用户提问:成都的天气是什么? 输出内容:成都 用户提问:北京今天多少度? 输出内容:北京 添加「LLM」节点获取用户查询地点 3.3 Encode地点 添加「JavaScript代码」节点,将提取好的地点名称,用函数转为 encode 形式,用于接口消费 选择 JavaScript

在 小宇宙note 阅读完整内容