操作手册
【实践】配置流程编排实现根据天气情况播放歌曲
本次实验任务是通过使用流程编排的功能,在流程画布中配置一个让天猫精灵根据所在地的天气情况随机播放一首歌曲的流程。
场景简介
本次实验任务是通过使用流程编排的功能,在流程画布中配置一个让天猫精灵根据所在地的天气情况随机播放一首歌曲的流程。我们会用API调用节点调用天气接口,然后将天气结果传入大模型节点的Prompt中,最终大模型推荐了一首歌曲,我们再利用脚本节点将大模型推荐的歌曲进行最终结果的拼接。
流程编排提供低代码拖拉拽的交互方式,方便开发者快速搭建符合业务场景的workflow,最终通过API调用到自己的系统或产品中。
背景知识
本场景主要涉及以下云产品和服务:
基于通义系列大模型和三方大模型的一站式大模型服务平台,提供生成式大模型的全流程应用工具和企业大模型的全链路训练工具。
您可扫描下方二维码或者钉钉搜索钉钉群号: 65295003032,加入阿里云百炼答疑群。
前提条件
云起实验室将在您的账号下开通本次实操资源,资源按量付费,需要您自行承担本次实操的云资源费用。
本实验预计产生费用0.1元。如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。
进入实操前,请确保阿里云账号满足以下条件:
开通大模型服务平台百炼
本步骤指导您如何开通大模型服务平台百炼,如果您已开通过,请跳过此步骤。
大模型服务平台百炼为首次开通服务的用户提供免费试用额度,开通的阿里云主账号与其RAM子账号共享免费试用额度。免费试用额度从开通百炼或模型申请通过之日起计算有效期,有效期一般是30~180天不等。
在实验页面,勾选我已阅读并同意《阿里云云起实践平台服务协议》后,单击进入实操。
前往阿里云百炼控制台。
在服务协议对话框中,阅读并单击同意。
说明如果您是大模型服务平台百炼的老用户,不会弹出此对话框,请您跳过此步骤。
在首页顶部,显示如下图所示的消息,您需要开通百炼的模型服务,以获得免费额度,请单击开通服务。
说明如果未显示该消息,则表示您已经开通,请跳过此步骤。
在弹出的对话框中,勾选我已阅读并同意《模型管理服务协议》,单击确认开通。
新建编排流程
流程编排是一种面向开发者的可视化开发工具,支持LLM、API、脚本等类型节点,旨在简化接入大型语言模型(LLM)流程,同时提供应用流程的全生命周期管理,包括流程的编排、试验、部署等,为开发者提供自定义AI应用开发一站式服务。
前往阿里云百炼控制台。
在左侧导航栏中,选择应用组件 > 流程管理。
在流程管理页面,单击新建流程。
在流程基础信息对话框中,自定义流程名称和流程描述,单击创建流程。
配置开始节点
想要查询天气情况,需要城市和日期,这两个变量需要外部服务传入,所以开始节点需要添加这两个参数,city、date。
选中开始节点,拖拽至右侧画布页面。
在画布的开始节点中,单击增加输入参数,根据如下说明配置两个参数。
参数key
来源
类型
参数key
来源
类型
city
模型识别
string
date
模型识别
string
配置API节点
API调用节点允许您的AI应用使用HTTP协议与外部服务进行通信,以便与外部数据和功能进行集成和交互。
本步骤中注册查询天气的接口,API地址为https://sample-on-query-stszruxqnc.cn-beijing.fcapp.run/queryWeather
。
当前平台提供的是一个mock接口只为调试使用,不是真实数据,返回结构为:
{
"status": "success",
"errorInfo": "",
"data": "小到中雨,气温15~27℃"
}
选中API调用节点,拖拽至右侧画布页面。
在画布中,将API节点和开始节点连接起来。
在画布的API调用节点中,API地址输入
https://sample-on-query-stszruxqnc.cn-beijing.fcapp.run/queryWeather
,单击增加输入参数,将当前传入的city、date参数进行映射。说明获取变量的方式请参考流程变量含义及取值方式说明。
KEY
VALUE
KEY
VALUE
city
${bizVars.city}
date
${bizVars.date}
配置大模型节点
大模型节点,用于关联包括但不限于官方模型、SFT模型,旨在使用大模型能力。
选中大模型节点,拖拽至右侧的画布中。
在画布中,将大模型节点和API节点连接起来。
在大模型节点中,选择大模型为通义千问-Max,输入示例Prompt。
示例Prompt:
请根据以下关于天气的描述,给我推荐一首适合当前听的歌曲,仅输出歌名及歌手名即可,格式形如{"mediaName":"明天会更好","singerName":"群星"},歌曲名字段为mediaName,歌手名字为singerName,天气描述为:${svcVars.Api_yBUrVU.response.data}
说明您需要将示例Prompt中天气描述的参数Api_yBUrVU替换成API节点的节点id。
重要示例prompt中用到了API节点产生的结果,关联表达式为
${svcVars.Api_yBUrVU.response.data}
,注意这个Api_yBUrVU为API调用节点的id,使用示例prompt时,Api_yBUrVU需要替换成自己API调用节点的节点id,具体取值方式请参考流程变量含义及取值方式说明。您也可以使用提示功能,在prompt录入区域输入"/",api节点的输出前缀会出现在提示下拉当中,由于接口的结果为json,要获取的字段为data,所以最终的表达式为
${svcVars.Api_yBUrVU.response.data}
。
配置脚本节点
脚本节点,是面向开发者提供简单的代码开发能力。目前支持JavaScript、Python和Groovy。Code节点中的代码封装在函数中,返回语句用于输出函数的结果。返回的任何结果都可以在后续步骤中使用。
本步骤将示例脚本配置到脚本节点中,并完成校验。
选中脚本节点,拖拽至右侧画布页面。
在画布中,将脚本节点和大模型节点连接起来。
在脚本节点中,脚本类型选择python,在脚本内容输入如下示例脚本。
说明您需要将示例脚本的LLM_bYGWO4替换成大模型节点的节点id。
import json import logging json_string = svcVars['LLM_bYGWO4']['response']['text'] data = json.loads(json_string) logging.info(data) prefix_str = '天猫精灵将为你播放' media_name = data['mediaName'] singer_name = data['singerName'] return f"{prefix_str} {singer_name} 的 {media_name},收听完整版请下载天猫精灵APP收听完整版"
说明示例脚本内容中json_string = svcVars['LLM_bYGWO4']['response']['text'] 是获取大模型的结果,因为大模型结果存储结构是svcVars.LLM_bYGWO4.response.text,所以要按照上面的写法获取,注意这个LLM_1RjdMM为大模型节点的id,使用示例脚本时,LLM_1RjdMM需要替换成自己大模型节点的节点id,这个可以通过右上角的ID复制功能,如下图。
配置结束节点
结束节点,在一个流程中不一定唯一,有多个分支的流程需要多个结束节点,每个结束节点需要单独配置返回的参数结构。
本步骤可以定制最终的结果,填写表达式(示例中为${svcVars.Script_NP47iN.response.scriptResult}
),获取的是脚本节点执行的结果。
选中结束节点,拖拽至右侧画布页面。
在画布中,将结束节点和脚本节点连接起来。
在结束节点中,输入
${svcVars.Script_NP47iN.response.scriptResult}
。说明您需要将表达式中的Script_NP47iN替换为脚本节点的节点ID。
最终结果展示
在画布页面,单击
图标。
在流程测试面板,输入参数值,单击确定,开始测试。
等待测试完成。
最终结果如下,可以在SDK调用后获取内容,或者直接返回给前端做显示。
以上,所有的实验内容就操作完成了。
说明如果您在流程发布后,将该流程关联新建应用或已有应用,在测试或调用应用时就会产生一定的费用,详情请参见计费项与定价,否则不会产生费用。
清理资源
在完成实验后,如果无需继续使用资源,请根据以下步骤,先删除流程,再结束实操。
删除流程。
前往阿里云百炼控制台。
在左侧导航栏中,选择应用组件 > 流程管理。
在流程管理页面,找到您创建的流程,单击删除。
在流程删除对话框中,单击确认删除。
删除流程后,选择不保留资源,单击结束实操。在结束实操对话框中,单击确定。
在完成实验后,如果需要继续使用资源,选择付费保留资源,单击结束实操。在结束实操对话框中,单击确定。请随时关注账户扣费情况,避免发生欠费。