什么是流程编排?
流程编排是一种面向开发者的可视化开发工具,支持LLM、API、脚本等类型节点,旨在简化接入大型语言模型(LLM)流程,同时提供应用流程的全生命周期管理,包括流程的编排、试验、部署等,为开发者提供自定义AI应用开发一站式服务。
阿里云百炼平台中流程编排模块是支持基础节点、模型节点、引用节点、函数编程节点。
各节点说明请参考:
我们可以通过使用流程编排功能,配置我们理想的流程,比如查询各地天气情况、查询员工剩余年假等等。下面我们通过视频来了解一下什么是流程编排吧!
通过视频介绍,我们可以根据阿里云百炼操作文档,完成一个小练习,通过配置流程编排实现让天猫精灵随机播放一首歌曲。
首先登录阿里云百炼平台,点击应用中心--流程编排,选择新建流程,输入流程名称,进入画布,开始配置。
配置方式
开始节点
想要查询天气情况,需要城市和日期,这两个变量需要外部服务传入,所以开始节点需要添加这两个参数,city、date。
API调用节点
注册查询天气的接口:https://bailian.aliyun.com/sample/weather/queryV2。
说明
当前平台提供的是一个mock接口只为调试使用,不是真实数据,返回结构为:
{ "status": "success", "errorInfo": "", "data": "小到中雨,气温15~27℃" }
点击增加输入参数,将api的入参和当前传入的city、date参数进行映射,获取变量的方式请参考流程变量含义及取值方式说明。
大模型节点
示例Prompt:请根据以下关于天气的描述,给我推荐一首适合当前听的歌曲,仅输出歌名及歌手名即可,格式形如{"mediaName":"明天会更好","singerName":"群星"},歌曲名字段为mediaName,歌手名字为singerName,天气描述为:${svcVars.Api_XWndOx.response.data}
重要
prompt中用到了api节点产生的结果,关联表达式为${svcVars.Api_XWndOx.response.data},注意这个Api_XWndOx为API调用节点的id,使用例子内的示例时,Api_XWndOx需要替换成自己API调用节点的节点id,具体取值方式请参考流程变量含义及取值方式说明。
可以使用提示功能,在prompt录入区域输入"/",api节点的输出前缀会出现在提示下拉当中,由于接口的结果为json,要获取的字段为data,所以最终的表达式为${svcVars.Api_XWndOx.response.data}。
脚本节点
脚本详情:
import json import logging json_string = svcVars['LLM_RiKvop']['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_RiKvop']['response']['text'] 是获取大模型的结果,因为大模型结果存储结构是svcVars.LLM_RiKvop.response.text,所以要按照上面的写法获取,注意这个LLM_RiKvop为大模型节点的id,使用例子内的示例时,LLM_RiKvop需要替换成自己大模型节点的节点id,这个可以通过右上角的ID复制功能,如下图。
结束节点
可以定制最终的结果KEY(示例中为Answer),映射的值填写表达式(示例中为${svcVars.Script_oTmxWW.response.scriptResult}),获取的是脚本节点执行的结果。
最终结果展示
点击流程 按钮,输入参数值,开始测试。
最终结果如下,可以在sdk调用后获取内容,或者直接返回给前端做显示。
{ "Answer": "天猫精灵将为你播放 周杰伦 的 晴天,收听完整版请下载天猫精灵APP收听完整版" }
以上就是我们的小练习,您掌握了吗?若您还想了解阿里云百炼的内容,欢迎您在下方留言~ 我们会不定时更新内容!也可以加入阿里云百炼官方钉钉群:65295003032,入群探讨更多内容~