工作流应用

更新时间: 2025-02-26 18:27:19

工作流应用将复杂的任务拆分成一系列有序执行的步骤,以降低系统复杂度。在百炼,通过工作流组合使用大模型、API和函数计算等节点,可有效降低编码成本。本文介绍如何创建工作流。

应用介绍

为什么使用工作流应用

工作流是一种将复杂任务拆分为一系列有序步骤的方法,旨在简化系统复杂度,提高工作效率。在现代软件开发和业务流程管理中,工作流应用变得尤为重要。通过在百炼平台上创建工作流应用,可以清晰地定义任务的执行顺序、责任分配以及各步骤之间的依赖关系,从而实现自动化和优化。

工作流应用有许多使用场景,如:

  • 旅行规划:用户可通过工作流插件选择目的地等参数,自动生成旅行计划,包括航班、住宿、景点推荐等。

  • 报告分析:针对复杂数据集,通过组合数据处理、分析和可视化插件,生成结构化和格式化的分析报告,满足不同业务需求。

  • 客服支持:通过自动化工作流处理客户咨询,包括问题分类等,提高客服响应速度和准确性。

  • 内容创作:实现文章、市场营销文案等内容的生成,用户只需输入主题和要求,系统自动生成符合要求的文稿。

  • 教育培训:通过工作流设计个性化学习方案,包括学习进度跟踪、测评等,实现学生的自主学习。

  • 医疗问诊:根据患者输入的症状,通过组合多种分析工具生成初步诊断或推荐相关检查,辅助医生进行进一步判断。

应用类型

百炼提供两种类型的工作流应用:

任务型工作流

对话型工作流

  • 单次任务执行: 仅依赖一个系统变量(query),适合单次、简单的指令或任务执行,例如文本搜索、数据处理、翻译、问答等。

  • 简化交互: 测试窗口只提供变量输入,方便快速获得结果,降低交互复杂度。

  • API 调用限制: 不支持 API 的多轮对话调用,意味着每次调用都是独立的,无法保持上下文或连续交互。

  • 自动化与批处理: 特别适用于自动化处理或批量任务处理,每个任务都是独立执行,不需要记录之前的对话内容。

  • 多轮对话支持: 配备三个系统变量(query、historylist、imagelist),能自动管理对话历史和图片历史,支持持续对话和上下文关联。

  • 多模态交互: 测试窗口不仅提供文本对话窗,还支持语音和视频对话窗,适合丰富的用户交互体验。

  • 个性化服务: 特别适用于智能客服、聊天机器人、虚拟助手等需要连续对话、情感交流和复杂问题讨论的场景。

  • 增强用户体验: 通过记录对话和图像信息,可以提供更加精准和个性化的回答,满足用户在多轮交互中的需求。

支持模型

如需了解模型的详细介绍,请参阅模型列表

如需了解各模型的 API 调用速率限制,请参阅限流

文本生成

图片理解

视频理解

  • 通义千问-Max

  • 通义千问-Plus

  • 通义千问-Turbo

  • 通义千问-Plus-2024-12-20

  • 通义千问-Math-Plus

  • 通义千问-Math-Turbo

  • 通义千问-Coder-Turbo

  • 通义千问-Coder-Plus

  • 通义千问-MT-Turbo

  • 通义千问-MT-Plus

  • 通义法睿-Plus-32K

  • DeepSeek-R1

  • DeepSeek-V3

  • DeepSeek-R1-Distill-Qwen-32B

  • DeepSeek-R1-Distill-Qwen-14B

  • DeepSeek-R1-Distill-Qwen-7B

  • 通义千问VL-Plus

  • 通义千问VL-OCR

  • 通义千问VL-Max-2024-08-09

说明

在使用VL模型时,如需上传图片,请通过指定参数传入图片的URL地址。

  • 通义千问VL-Max

  • 通义千问VL-Max-Latest

  • 通义千问VL-Max-2024-10-30

  • 通义千问VL-Max-2024-08-09

具体案例

任务型工作流

本段落以创建一个判断短信是否涉及电信诈骗的工作流应用为例进行说明。

  1. 阿里云百炼大模型服务平台左侧导航栏中,单击我的应用。 单击新增应用,选择工作流应用,单击创建任务型工作流,进入工作流配置页面。

  1. 配置开始节点:删除默认的city和date参数。输入节点内置一个默认参数query,故此处不需要参数。

  1. 添加大模型节点,用于识别诈骗信息:

    将左侧大模型节点拖入画布配置页面,将开始节点连接到大模型节点,并配置对应参数。未提及的参数保持默认即可。

    • 模型配置: 通义千问-Plus

    • System Prompt:

      分析并判断所给信息是否存在诈骗嫌疑。给出肯定答案,是否存在诈骗嫌疑。
       处理要求:细致审查信息内容,关注关键词汇和典型诈骗模式,如请求紧急转账、提供个人信息、承诺不切实际的利益等。 
      操作步骤: 
      1. 识别信息中的关键要素,包括但不限于发件人身份、提出的请求、承诺的回报及任何紧迫性表述。 
      2. 对比已知的诈骗案例特征,检查信息中是否有类似的操作手法或语言模式。 
      3. 评估信息的整体合理性,考虑所提要求是否符合常规逻辑和常规流程。 
      4. 若信息中包含链接或附件,不要直接点击或下载,以避免潜在的安全风险,并提醒用户注意此类内容的危险性。 
      输出格式:明确指出该信息是否展现出诈骗的特征,并简要说明判断依据。如果存在诈骗嫌疑,提供一些建议或预防措施以保护用户安全。
    • User Prompt:

      判断“${sys.query}”该信息是否涉嫌诈骗信息。

未命名绘图-第 2 页

  1. 连接大模型节点和结束节点,并配置结束节点的变量,未提及的参数保持默认即可。

    • 输入:输入/插入变量:大模型.result

未命名绘图-第 2 页

  1. 单击右上角测试,输入你的包裹已在驿站存放多日未提取,请抽空过来取件按下 Enter 键。等待工作流运行结束后,输出节点会输出运行结果

image

  1. 继续单击右上角测试,输入你有一条中奖100万的信息,请查收按下 Enter 键。等待工作流运行结束后,输出节点会输出运行结果

image

  1. 如果当前工作流应用可以正常工作,请单击右上角发布应用,以备后续调用。

对话型工作流

您将使用对话型工作流创建一个智能导购员,可帮助用户选购手机、电视和冰箱。

  1. 前往阿里云百炼大模型服务平台,在左侧导航栏中,单击我的应用。 选择新增应用 > 工作流应用 > 创建对话型工作流,进入工作流配置页面。

  1. 将左侧意图分类节点拖入画布,连接开始意图分类节点,并配置对应参数。

    • 配置开始节点:删除默认的 city 和 date 参数。输入节点内置一个隐藏参数query,用来接收用户输入。

    • 配置意图分类节点

      • 输入:选择系统变量query

      • 模型配置:通义千问-Plus

      • 意图配置:

        • 消费者想选购电视

        • 消费者想选购手机

        • 消费者想选购冰箱

未命名绘图-第 1 页

  1. 将左侧大模型节点拖入画布,连接意图分类冰箱大模型节点,并配置对应参数。

    • 模型配置:通义千问-Plus

    • System Prompt

      你是负责给顾客推荐冰箱的智能导购员。
      你需要按照下文中【冰箱的参数列表】中的顺序来主动询问用户需要什么参数的冰箱,一次只能问一个参数,不要对一个参数进行重复提问。
      如果用户告诉了你这个参数值,你要继续询问剩余的参数。
      如果用户询问这个参数的概念,你要用你的专业知识为他解答,并继续向他询问需要哪个参数。
      如果用户有提到不需要继续购买商品,请输出:感谢光临,期待下次为您服务。
      【冰箱的参数列表】
      1.使用场景:【家用、小型商用、大型商用】
      2.容量:【200L、300L、400L、500L】
      3.能效等级:【一级能效、二级能效、三级能效】
      如果【参数列表】中的参数都已收集完毕,你要问他:“请问您是否确定购买?”并同时将顾客选择的参数信息输出,如:用于小型商用|300L|一级能效。问他是否确定需要这个参数的冰箱。如果顾客决定不购买,要问他需要调整哪些参数。
      如果顾客确定这个参数符合要求,你要按照以下格式输出:
      【使用场景:家用,容量:300L,能效等级:一级能效】。请你只输出这个格式的内容,不要输出其它信息。
    • User Prompt

      用户的问题是:${sys.query}

未命名绘图-第 1 页

  1. 将左侧大模型节点拖入画布,连接意图分类的电视和大模型节点,并配置对应参数。

    • 模型配置:通义千问-Plus

    • System Prompt

      你是负责给顾客推荐电视的智能导购员。
      你需要按照下文中【电视的参数列表】中的顺序来主动询问用户需要什么参数的电视,一次只能问一个参数,不要对一个参数进行重复提问。
      如果用户告诉了你这个参数值,你要继续询问剩余的参数。
      如果用户询问这个参数的概念,你要用你的专业知识为他解答,并继续向他询问需要哪个参数。
      如果用户有提到不需要继续购买商品,请输出:感谢光临,期待下次为您服务。
      【电视的参数列表】
      1.屏幕尺寸:【50英寸、70英寸、80英寸】
      2.刷新率:【60Hz、120Hz、240Hz】
      3.分辨率:【1080P、2K、4K】
      如果【电视的参数列表】中的参数都已收集完毕,你要问他:“请问您是否确定购买?”,并同时将顾客选择的参数信息输出,如:50英寸|120Hz|1080P。问他是否确定需要这个参数的电视。如果顾客决定不购买,要问他需要调整哪些参数。
      如果顾客确定这个参数符合要求,你要按照以下格式输出:
      【屏幕尺寸:50英寸,刷新率:120Hz,分辨率:1080P】。请你只输出这个格式的内容,不要输出其它信息。
    • User Prompt

      用户的问题是:${sys.query}

未命名绘图-第 1 页

  1. 将左侧大模型节点拖入画布,连接意图分类的手机和大模型节点,并配置对应参数。

    • 模型配置:通义千问-Plus

    • System Prompt

      你是负责给顾客推荐手机的智能导购员。
      你需要按照下文中【手机的参数列表】中的顺序来主动询问用户需要什么参数的手机,一次只能问一个参数,不要对一个参数进行重复提问。
      如果用户告诉了你这个参数值,你要继续询问剩余的参数。
      如果用户询问这个参数的概念,你要用你的专业知识为他解答,并继续向他询问需要哪个参数。
      如果用户提到不需要继续购买商品,请输出:感谢光临,期待下次为您服务。
      【手机的参数列表】
      1.使用场景:【游戏、拍照、看电影】
      2.屏幕尺寸:【6.4英寸、6.6英寸、6.8英寸、7.9英寸折叠屏】
      3.RAM空间+存储空间:【8GB+128GB、8GB+256GB、12GB+128GB、12GB+256GB】
      如果【参数列表】中的参数都已收集完毕,你要问他:“请问您是否确定购买?”,并同时将顾客选择的参数信息输出,如:用于拍照|8GB+128GB|6.6英寸。问他是否确定需要这个参数的手机。如果顾客决定不购买,要问他需要调整哪些参数。
      如果顾客确定这个参数符合要求,您要按照以下格式输出:
      【使用场景:拍照,屏幕尺寸:6.8英寸,存储空间:128GB,RAM空间:8GB】。请你只输出这个格式的内容,不要输出其它信息。
    • User Prompt

      用户的问题是:${sys.query}

未命名绘图-第 1 页

  1. 将左侧文本转换节点拖入画布,连接意图分类节点的其他意图和文本转换节点,并配置对应参数。

    • 输入:

      您好!请直接告诉我,您想购买电视、冰箱还是手机呢?

未命名绘图-第 1 页

  1. 将三个大模型节点和文本转换节点都连接到结束节点,并配置对应参数。

    • 输入:请输入/插入4个变量:大模型_1.result,大模型_2.result,大模型_3.result,文本转换_1.result

未命名绘图-第 1 页

  1. 单击右上角测试,在对话框输入给我介绍一下你们的冰箱,我要家用的?,单击执行。等待工作流运行结束后,输出节点会输出运行结果。可继续追问,在对话框输入介绍一下200L的家用冰箱?

image

  1. 单击右上角发布,即可发布成功。

节点说明

节点是工作流应用的核心功能单元,各自承担特定任务,如执行操作、触发条件、处理数据或决定流程走向。它们就像积木般灵活拼接,共同构建高效、智能的自动化流程。

开始/结束

  • 为什么使用它

    开始和结束节点就像电影的「开场」与「落幕」。没有“开始节点”,工作流无法接受任何信息;没有“结束节点”,用户就看不到结果。它们是“先呼后应”的基础角色。

  • 功能与用法

    • 开始节点:作为整个工作流的入口,用于接收外部传入的数据(如用户输入、系统参数等)。

    • 结束节点:用于输出最终结果到前端或其他系统;在配置时可以指定输出格式(文本或JSON)。

  • 参数配置

    • 开始节点

      参数名

      说明

      变量名

      用作输入参数的 key

      类型

      数据类型(String / Boolean / Number)

      描述

      参数含义备注,用于说明变量的用途

    • 结束节点

      参数名

      说明

      输出模式

      选择“文本”或“JSON输出”两种方式

      输入

      文本模式时,可直接写文本或插入变量;JSON模式时,设置要输出的变量名

      结果返回

      开关控制,决定是否将结果返回给调用者

说明
  • 在结束节点中必须至少声明一个输出变量,才能让其他系统或用户看到工作流的产出。

  • 系统里有个“内置系统变量”,如 .query,可以直接使用它来获取用户的输入问题。

知识库

  • 为什么使用它

    想象一下,你有一座巨大的“知识宝库”,里面存放了海量文档、FAQ、产品资料。这个节点能帮你从海量信息里提取“最相关”的内容,为后续 AI 问答做好准备。

  • 功能与用法

    • 通过搜索一个或多个知识库来得到相关文档片段,让 AI 能“读到”更多上下文,回答更专业或精准。常常与大模型节点结合使用。

    • 在构建对话型工作流、智能客服系统时尤其常用。

  • 参数配置

    参数名

    参数说明

    输入

    content:可直接输入文本,也可引用前面节点输出的变量 。

    imageList:支持图片搜索,可直接输入图片链接,也可引用前面节点输出的变量。

    选择知识库

    指定要在哪些知识库里进行搜索(支持多选)。

    输出

    命名本节点的结果变量,如 kbResult

  • 输出结构示例

    {
      "rewriteQuery": "...",
      "chunkList": [
        {
          "score": 0.36,
          "documentName": "文档名称",
          "title": "文档标题",
          "content": "相关内容片段",
          "imagesUrl": "图片URL"
        }
      ]
    }

    这里常用的就是 chunkList,含有文档内容片段及相似度分值。

说明

搜索结果得分越高代表匹配度越强,可以在后续节点里对结果做过滤、排序或组合。

不支持本地的向量数据库,您需要将您的文件上传到知识库即可使用。

大模型

  • 为什么使用它

    这是整个工作流的“智慧大脑”——能读懂语言、生成文字、分析图像,还能参与多轮对话。你可以用它写文案、做文本总结、甚至对图片内容做分析(如果是 VL 系列模型)。

  • 功能特性

    • 既支持一次性处理一个输入,也能批量处理大量数据。

    • 可以配置不同大模型(如通义千问-Plus),根据性能、速度或其他特性的需求选择合适的模型。

  • 节点参数配置

    参数名

    参数说明

    模式选择

    单次处理模式:使用较低的搜索比例且不使用Query改写的快速搜索版本。

    批次处理模式:在批处理模式中,节点会多次运行。每次运行时,列表中的一个项目会被依次分配给批处理变量。这个过程会一直持续,直到处理完列表中的所有项目或达到设定的最大批处理次数为止。

    批处理配置:

    • 批处理次数上限(范围1-100,普通用户默认100):批处理运行的次数上限。

      说明

      实际批次处理次数取决于用户输入数组中的最小长度,若没有输入变量,则取决于配置中的批次数量。

    • 并行运行数量(范围1-10):批处理的并发限制,设置为1表示串行执行所有任务。

    模型配置

    选择合适的大模型,支持模型参数调整,具体支持模型,请参见支持模型

    模型选择VL模型时:

    • 模型入参:vlImageUrl可引用参数或输入图片链接。

    • 图片来源:可选图片集/视频帧。

      • 图片集:模型会认为上传的图片是独立的,会根据问题匹配对应图片进行理解。

      • 视频帧:模型会认为上传的图片来源于同一个视频,会把图片按序看作一个整体来理解,视频帧需不少于4张。

    参数配置

    温度系数:用于调节生成内容的多样性。较高的温度值将增加生成文本的随机性,产生更多独特的输出;而较低的温度值会使生成内容更为保守和一致。

    DeepSeek 系列模型暂不支持此项配置

    最长回复长度:限制模型生成文本的最大长度(不包括Prompt)。该限制因模型类型而异,具体最大值可能会有所不同。

    开启搜索:启用后,允许大模型在互联网上搜索相关信息。如果您没有看到该参数,则代表当前模型不支持开启搜索开关。

    System Prompt

    可用于设定模型的角色、任务、输出格式等内容,如“你是一个数学专家,专业解决数学问题,请输出符合格式的数学解题过程和结果”。

    User Prompt

    配置Prompt模板,支持变量插入,大模型将根据Prompt的配置进行处理和生成。

    输出

    输出本节点处理结果的变量名,用于后续节点识别和处理本节点的结果。

    DeepSeek R1 系列模型支持输出深度思考过程(reasoningContent)。
    说明

    如需通过API集成应用到您的业务,请参阅HTTP

  • 任务工作流下的大模型节点

    • 与工作流应用的大模型节点的不同:支持进行多轮对话配置,模型支持将选定的历史对话信息作为输入。

      多轮对话配置:对话型应用会把前几轮对话中在“上下文”中要求的变量收集起来作为输入参数传给大模型。

      image

    • 上下文:声明大模型需要的上下文输入,默认的 ${系统变量.historyList}代表的是前几轮对话的应用输入输出。其他参数均指的是前几轮对话中的应用参数。

      image

      image

  • 文本模型节点示例

    测试界面,query参数中输入芯片工程师

    image

    结束节点输出:

    image

  • 图像模型节点示例

    大模型支持单个图像或多张图片传入,支持URLbase64方式传入。

    说明

    单张图片可以直接传入。例如:https://****.com/****.jpg

    多张图片可列表传入。例如:["URL","URL","URL"]

    测试界面,query参数中输入:https://****.com/****.jpg

    image

    结束节点输出:

    image

API

  • 定义

    通过POST或GET的方式,调用自定义API服务,输出API调用结果。

  • 参数配置

    参数名

    参数说明

    API地址

    填写要调用的API地址,可选POSTGET

    Header设置

    设置Header参数,设置KEYVALUE

    Param设置

    设置Param参数,设置KEYVALUE

    Body设置

    可选:noneform-dataramJSON

    输出

    输出本节点处理结果的变量名,用于后续节点识别和处理本节点的结果。

    说明

    如需通过API集成应用到您的业务,请参阅HTTP

  • 节点示例

    使用POST方法,调用接口。

    image

    结束节点输出:

    image

意图分类

  • 定义

    根据意图描述智能分类匹配,选择其中一个链路执行。

  • 参数配置

    参数名

    参数说明

    输入

    输入本节点需要处理的变量,用于识别需要处理的内容,支持引用前置/开始节点变量或直接输入变量值。

    模型配置

    模型选择:通义千问-Plus。

    意图配置

    意图配置解释文案:配置不同的意图,输入意图描述,模型将根据不同的意图描述匹配后续链路,如:“用于数学题的计算”,“关于天气相关的知识问答”。

    其他意图

    意图未匹配时,匹配此链路。

    意图模式

    • 单选模式:大模型将从现有的意图配置中挑选最合适的意图作为输出。

    • 多选模式:大模型将从现有的意图配置中挑选所有匹配的意图作为输出。

    思考模式

    • 快速模式:该模式能够避免输出复杂的推理过程,从而提升处理速度,适用于简单场景。

    • 效果模式:该模式通过逐步思考,能够更准确地匹配相应的分类。

    高级配置

    高级配置内容将作为额外的prompt提供给模型。在此,您可以输入更多限制条件或提供更多案例,从而使模型的分类结果更符合您的要求。

    示例

    假设您正在开发一个电商平台的客服系统,用户可能会提出各种关于订单查询、退换货、支付的问题。为了确保模型准确分类,可以在高级配置中添加相关提示和示例。

    请根据以下示例进行意图分类:
    案例1:用户输入“我想退还刚买的这件外套”,分类为“退换货”。
    案例2:用户输入“请帮我查询订单的发货状态”,分类为“订单查询”。
    限制条件:仅处理与订单相关的查询,忽略支付和技术问题。

    效果:

    用户输入:“我上周在你们网站订购的那本书什么时候可以送到我家?”

    分类结果:“订单查询”

    在该实例中,高级配置通过提供具体的分类案例,引导模型将“查询送达时间”归类为“订单查询”意图,同时限定了分类范围,排除了其他无关问题。

    上下文

    开启上下文能力后,系统将以Message格式自动记录历史对话信息,调用模型时传入上下文,模型将结合上下文内容进行生成。

    仅在对话型工作流的意图分类节点中有该配置项。
    说明

    若开启上下文,您传入该节点的变量类型需为List类型。

    输出

    输出本节点处理结果的变量名,用于后续节点识别和处理本节点的结果。

    说明
    • 该节点在对话型工作流中支持上下文。

    • 运行该节点将消耗Token,并在运行时显示其消耗数量。

  • 节点示例

    以下是一个意图分类节点示例(具体配置方式,请参见对话型工作流)。其工作流程逻辑如下:首先接收客户问题。接着,将这些问题传递给意图分类节点,该节点根据输入的信息判断属于电视还是手机的问题,或者其他类别,意图模式选择多选模式,思考模式选择快速模式。然后通过不同分支的文本转换节点生成相应的输出。最后,通过结束节点输出并完成整个流程。image

  • 测试结果

    测试界面,query参数中输入我想买电视、手机:

    结束节点输出:

    image

文本转换

  • 定义

    用于文本内容的转换与处理,如抽取特定内容、格式转换等,支持模板模式。

  • 参数配置

    参数名

    参数说明

    输出模式

    支持文本输出JSON输出

    输入

    通过大模型指定处理方式将需要处理内容转换为特定格式,用户后续节点的处理,可通过变量配置的方式引用前置节点的处理结果。

    • 文本输出:输入/可插入变量。

    • JSON输出:变量名 | 引用/输入 | 变量。

  • 节点示例

    以下是一个简单的文本转换节点示例。其工作流程逻辑如下:首先,用户输入一个关键词。然后,这个关键词被传递给文本转换节点,节点内部根据该关键词进行处理,生成相应的输出回复。最后,回复通过结束节点输出,从而完成整个流程。

    测试界面,query参数中输入数学

    image

    结束节点输出:

    image

脚本转换

  • 定义

    通过脚本代码处理,将输入内容转化为特定格式的模板或输出形式。该过程包括对输入数据的解析、转换和格式化,以实现一致性和可读性。

  • 参数配置

    参数名

    参数说明

    输入

    输入本节点需要处理的变量,用于识别需要处理的内容,支持引用前置/开始节点变量或直接输入变量值。

    代码

    通过编写代码的方式将需要处理内容转换为特定格式,用于后续节点处理,可通过变量配置的方式引用前置节点的处理结果。

    输出

    输出本节点处理结果的变量名,用于后续节点识别和处理本节点的结果。

  • 节点示例

    以下是一个简单的脚本转换节点示例。其工作流程逻辑如下:用户首先输入两个参数,这些参数随后被传递给脚本转换节点。在节点内部,代码对这些参数进行处理,最终生成所需的输出回复。流程以结束节点输出回复的形式完成,从而实现整个过程的闭环。

    测试界面,city参数中输入北京date参数中输入2022.2.10

    image

    结束节点输出:

    image

条件判断

  • 定义

    设置条件,满足条件后字段选择后续链路,支持且/或条件配置,多个条件是从上而下按顺序执行。

  • 参数配置

    参数名

    参数说明

    条件分支

    填写条件判断语句。

    其他

    不需要条件判断的可从此输出。

  • 节点示例

    以下是一个简单的条件判断节点示例。其工作流程逻辑如下:用户首先输入两个参数,这些参数随后被传递给条件判断节点。在节点内部对参数进行条件判断,然后通过不同分支的文本转换节点生成输出回复。最后,结束节点将生成的回复输出。

    测试界面,scert参数中输入12345admin参数中输入admin

    image

    结束节点输出:

    image

函数计算

  • 定义

    授权阿里云函数计算服务,调用函数计算中自定义的服务。

  • 参数配置

    参数名

    参数说明

    输入

    输入本节点需要处理的变量,用于识别需要处理的内容,支持引用前置/开始节点变量或直接输入变量值。

    Region

    选择地域:杭州北京上海

    服务配置

    选择服务配置。

    输出

    输出本节点处理结果的变量名,用于后续节点识别和处理本节点的结果。

  • 节点示例:计算发酵系数。

    以下是一个简单的计算发酵系数示例。其函数计算节点内部逻辑如下:接受初始和最终的葡萄糖浓度以及生物质浓度作为输入参数。接着,计算葡萄糖的消耗量及生物质的生成量。如果发现葡萄糖的消耗量为零或负值,则返回无穷大并记录相应的警告;反之,函数将返回生物质生成量与葡萄糖消耗量的比值,这便是所需的发酵系数。总体而言,此示例利用葡萄糖和生物质浓度数据有效地计算出发酵系数。

    测试界面,依次填入下列参数:

    • glucose_initial(初始葡萄糖浓度)参数中输入100

    • glucose_final(最终葡萄糖浓度)参数中输入50

    • biomass_initial(初始生物质浓度)参数中输入10

    • biomass_final(最终生物质浓度)参数中输入20

    image

    结束节点输出:

    image

AppFlow

  • 定义

    授权阿里云AppFlow服务,调用AppFlow自定义的服务。

    说明

    关于AppFlow的相关文档,请参见产品简介,关于AppFlow的具体应用,请参见实践教程

  • 参数配置

    参数名

    参数说明

    输入

    输入本节点需要处理的变量,用于识别需要处理的内容,支持引用前置/开始节点变量或直接输入变量值。

    服务配置

    选择服务配置。

    输出

    输出本节点处理结果的变量名,用于后续节点识别和处理本节点的结果。

  • 节点示例

    以下是一个定时通知钉钉群的示例。其函数计算节点的内部逻辑如下:我们每天定时通过钉钉自定义机器人发送通知。具体流程是通过AppFlow节点调用相应服务,进而在钉钉中利用自定义机器人发送消息。

    image

    钉钉群输出:

    image

插件

  • 定义

    您可以将插件节点配置到工作流应用中以拓展应用能力,执行更复杂的任务。百炼提供了一系列官方插件,例如夸克搜索、计算器、Python代码解释器等,您也可以根据特定需求创建自定义插件。

    更多信息,请参见插件概述
  • 节点示例

    本文以夸克搜索插件为例说明。

    image

    配置过程

    步骤一:设置开始和大模型节点

    1. 配置开始节点参数

      不添加参数,保持默认。

    image

    1. 配置大模型节点

    您可以参考下图配置大模型节点。image

    步骤二:添加插件节点

    添加夸克搜索插件

    1. 选择插件对话框中单击夸克搜索卡片区域的添加后,再单击确定image

    2. 在插件参数配置面板,输入参数支持引用和输入,您可以按需配置。image

    步骤三:设置结束节点

    • 输出模式:文本输出。

    • 文本框中填入以下输出:image

    image

    结果输出

    测试数据输入

    测试结果

    在体验窗的文本交互页签,输入:最近中国哪个地方发生了地震image

    image

循环

  • 定义

    • 循环节点是工作流中用于处理重复任务的组件。

    • 接受引用类型的数组输入,支持多数组时以最短长度为准,每次循环传入对应项。

    • 通过中间变量在循环间共享数据,并配合变量设置节点动态修改变量值。

    • 输出也是数组形式,依据实际循环次数生成。每次循环前检查终止条件,满足则结束。

    • 循环体作为子画布,包含固定的开始和结束节点,并仅在内部显示变量设置节点。

    • 支持记录每次执行和流式输出,提升效率与可靠性。

  • 节点示例:批量处理用户问题。

    image

  • 节点测试

    您可以通过下面的示例,快速了解循环节点的使用。

    案例说明

    1. 首先使用脚本节点构造一个长度为gcity数组,并输出一个名为variable的数值,值为1。

    2. 执行循环节点,循环节点的配置信息为:

      • 使用脚本节点构造的数组作为输入。

      • 使用variable作为中间变量。

      • 选择variable作为最终输出output1,循环体中大模型节点的结果作为最终输出output2

      • 当中间变量大于g-1时,结束循环。

    3. 循环体中,流程会展示输入信息,执行大模型节点,使用脚本节点读取当前中间变量的值,输出一个中间变量加1后的数字,并使用变量来设置节点修改当前中间变量的值。

    4. 可观察循环体执行完成后每个节点的输入输出信息,观察输入信息的变化。

    说明

    循环次数限制为100次,大于100次可联系客服进行加白处理。

    配置过程

    步骤一:设置开始和脚本转换节点

    1. 配置开始节点参数

      不添加参数,保持默认。

    image

    1. 添加脚本转换节点

      使用脚本节点构造一个长度为4的city数组(类型为Array<String>),并输出一个名为variable的数字,值为1。
      • 命名节点:构造循环数组

      • 输入参数不添加。

      • 输出参数:

        result变量中添加参数

        city Array<String> 循环节点使用数组。

        variable Number 循环节点使用中间变量。

        说明

        如果您自行修改,则该节点输出必须是数组(List)类型数据。

      • 相应代码(可自行修改):

        代码示例

        def main(): 
          import json  
          ret = {        
            "result": {            
              "city": ["杭州","西安","福州","南京","太原","广州"],
              "variable":1          
              
            },    
          }    
          return ret

    image

    步骤二:设置循环节点

    在循环体中配置大模型节点变量设置节点(必选)。用户可根据具体场景,自行添加不同节点到循环体中。

    1. 配置循环节点参数配置

      循环数组:使用脚本节点构造的数组作为输入,类型为Array<String>

      循环体的输入,必须是数组(List)类型数据,循环会按照数组的索引顺序执行。

      image

      中间变量:使用variable作为中间变量,类型为Number

      用户自定义的变量,通过变量设置节点配合在循环体中更新变量的方式,可以让循环体提前结束。

      image

      输出变量:选择variable作为最终输出output1(类型为Number),循环体中大模型节点的结果作为最终输出output2(类型为Array<String>)。

      循环体的输出,支持中间变量输出以及数组输出,数组长度会等于循环体循环的次数。

      终止条件:当中间变量大于3时,结束循环(示例图中没有输入,您可自行设置)。

      用户自行设定的循环退出条件,通过变量设置节点更新循环体中间变量达成用户提前设置的终止条件的方式,让循环体提前结束循环,当未设置循环终止条件时,遍历循环数组中的所有索引后,循环结束

    image

    1. 添加文本转换节点

      命名节点:输入信息展示。

      输出模式:文本输出。

      文本框中填入:

      循环轮次:${Iterator_DANX.index}

      循环节点当前轮次输入;${Iterator_DANX.cityArray}

      中间变量:${Iterator_DANX.var}

      image

    image

    1. 添加大模型节点

      命名节点:城市识别。

      模型配置通义千问-Max

      参数配置默认

      Prompt:

      System Prompt:
      输入城市是隶属于那个省份
      
      User Prompt:
      ${Iterator_DANX.cityArray}
      说明

      User Prompt 选择:

      image

    image

    1. 添加脚本转换节点

      命名节点:构造循环数组

      输入参数:

      image

      输出参数:

      variable Number 输出中间变量加1

      相应代码(可自行修改):

      代码示例

      def main(): 
        import json  
        ret = {        
          "result": {            
            "Variable": params["Variable"] + 1
          },    
        }    
        return ret

    image

    1. 配置变量设置节点

      仅支持在循环节点中使用,用于设置循环中的中间变量,可通过引用或输入修改变量值。

      命名节点:修改中间变量

      设置值为:

      image

    image

    步骤三:设置结束节点

    • 输出模式:文本输出。

    • 文本框中填入:

      循环的输出output2;${Iterator_DANX.output2}
      循环的输出output1;${Iterator_DANX.output1}

      image

    image

    结果输出

    循环体中,流程会展示输入信息,执行大模型节点,使用脚本节点读取当前中间变了得值,输出一个中间变量加1后的数字,并使用变量设置节点修改当前中间变量的值。

    image

    image

    imageimage

变量设置

  • 定义

    仅支持在循环节点中使用,用于设置循环体中的中间变量,可通过引用修改变量值。具体使用示例可参见:配置变量设置节点

  • 参数配置

    参数名

    参数说明

    中间变量

    用户自定义的变量,通过变量设置节点配合在循环体中更新变量的方式,可以让循环体提前结束。只能选择在循环节点参数配置中的中间变量。

    设置值

    用户所引用的值或参数。

    image

批量

  • 定义

    • 批量节点是工作流中用于处理批量任务的功能节点。

    • 接受引用类型的数组输入,可以传入多个数组,最终批处理次数由传入数组长度的最小值与批处理上限参数中较小的值决定。

    • 输出格式为数组形式,该数组长度取决于批处理执行次数。

    • 批量节点的子画布包含固定的开始节点和结束节点,标识一次批处理的开始和结束

  • 节点示例:批量处理用户问题。image

  • 节点测试

    您可以通过下面的示例,快速了解批量节点的使用。

    案例说明

    1. 使用脚本转换_1节点构造一个长度为4city数组。

    2. 使用脚本转换_1节点构造的数组作为批量节点的输入。

    3. 在批量处理节点的子画布内,分批次执行大模型节点,大模型节点的输出给到结束节点后汇总成数组返回。

    配置过程

    步骤一:设置开始和脚本转换节点

    1. 配置开始节点参数

      不添加参数,保持默认。

    image

    1. 添加脚本转换节点

      使用脚本节点构造一个长度为4的city数组(类型为Array<String>)。
      • 输入参数不添加。

      • 输出参数:city Array<String> 批量节点使用数组。

        说明

        该节点输出必须是数组(List)类型数据。

      • 代码示例(您可按需修改):

        代码示例

        function main() {    
          ret = {        
            "city": ["杭州", "福州","西安","南京"]   
          }    
          return ret
        }

    image

    步骤二:设置批量节点

    在批量节点中配置大模型节点。您可根据具体场景,自行添加不同节点到批量节点中。

    1. 配置批量节点参数配置

      批处理设置:您可按需设置。

      批处理数组:使用脚本节点构造的数组作为输入,类型为Array<String>

      批量节点的输入,必须是数组(List)类型数据,批量节点会按照数组的索引顺序执行。

      image

      输出变量

      说明

      您需先添加配置大模型节点才能选择输出变量。

      选择批处理节点中大模型节点的结果作为最终输出resultList(类型为String)。image

    image

    1. 添加大模型节点

      模型配置通义千问-Max

      参数配置默认

      Prompt:

      System Prompt:
      分别枚举城市的4个美食和著名景点或建筑。
      
      User Prompt:
      批量节点_1/queryList

      image

    image

    步骤三:设置结束节点

    • 输出模式:文本输出。

    • 文本框中填入:

      批量节点_1/resultList

      image

    image

    结果输出

    批量节点中:

    • 您可以查看大模型节点的输出,以下为输出结果示例:image您可以切换大模型节点输出的不同页签,查看输入批量节点数组中不同城市的大模型运行结果。

    • 您可以查看批量节点的输出,以下为输出结果示例:image

发布应用

发布后的应用可以被API调用,也可以通过Web页面分享给同一主账号下的RAM子账号使用。您可以单击智能体应用管理界面右上角的发布按钮。

通过API调用

您可以在智能体应用发布渠道页签,单击API调用右侧的查看API,查看通过API调用智能体应用的方法。

注:您需用您的API KEY对DASHSCOPE_API_KEY进行替换才可发起调用。

image

关于API调用的相关问题总结:

  • 关于调用方式(HTTP/SDK),请参见HTTP

  • 关于调用接口的详细参数信息,请参见应用调用参数信息

  • 关于调用参数传递问题,请参见应用的参数传递

  • 关于调用报错信息,请参见错误信息进行解决。

  • 关于调用并发数限制问题,应用本身不限流,主要与您内部调用的模型有关,有关模型内容请参见模型列表

  • 目前不支持在工作流中调用析言服务,可以通过API节点调用自定义的API服务。

说明

API调用的默认超时时间为5秒。

其他调用方式(对话型工作流应用)

其他分享方式,请参见应用分享

音视频对话(对话型工作流应用)

功能简介

百炼可以将对话型工作流应用发布为音视频实时对话应用,并提供了便捷的调试窗口,支持通过H5/APP快速体验demo效果,也可以通过音视频SDK集成到用户的Web/iOS/Android应用中。

功能亮点

  • 全球高可用、低延迟:依托阿里云的实时音视频网络体系,全球3200+节点覆盖和QoS优化,使得用户可以在全球范围内与 AI 智能体完成音视频通话。

  • 高度拟人化:通过持续迭代智能降噪、智能打断、智能断句等功能,使智能体在互动行为上更接近于人类,CosyVoice模型提供更加逼真的人声。

  • 易调试:提供体验窗与调试信息展示,全流程可观测、可修改、可调试。

  • 易体验、易集成:集成方式可参见集成方案

说明

DeepSeek V3、R1 系列模型不支持视频对话功能。

用法说明

  1. 首先,请配置一个可正常执行的对话型工作流

image

  1. 然后,请通过测试 > 体验窗 > 文本交互调试出符合预期的效果。

image

  1. 切换到语音交互视频交互,配置 API-KEY

image

  1. 进行音视频设置,配置参数后,在体验窗调试音视频交互效果。

    其中语音转文字可进行语种选择

    image文字转语音可进行语音模型选择音色选择

    image

image

  1. 点击右上角体验按钮,生成临时体验二维码,通过手机微信/钉钉/浏览器扫码体验交互效果.

image

  1. 效果确认后,点击发布按钮,进入发布渠道,完成智能媒体服务开通和SLR授权后,创建互动智能体。

image

说明

计费模式:百炼与视频云分别产生应用调用的账单。

  • 百炼按照应用API调用计费(如果TTS选择百炼CosyVoice,则模型调用也会计费),详情请参见大模型产品计费说明

  • 视频云按照AI实时互动计费模式计费,AI实时互动每日为未订阅套餐包的用户赠送20通免费电话额度用于产品体验。详情请参见AI实时互动计费说明

导入或导出工作流应用的DSL

在工作流配置页面顶部点击配置后,您可以按需选择导出DSL导入DSLimage

查看工作流应用版本

  1. 点击工作流配置页面右上角的发布,在发布对话框中输入版本信息(例如:1.0.0)后,点击确定

image

  1. 点击页面顶部的image图标,您可以在历史版本面板按需查看或使用(点击使用此版本内容回到当前画布)当前工作流应用的不同版本。

    您也可以点击顶部的DSL导出该版本,导出所选历史版本工作流的DSL。

image

  1. 可选:在工具栏查看或搜索当前画布节点。

image

删除与复制工作流应用

您可以在我的应用 > 应用列表找到已发布的应用卡片,在更多 > 复制应用/删除应用进行删除与复制工作流、修改应用名操作。

image

常见问题

  • 工作流应用结果写入数据库?

    插入脚本转换节点,用脚本操作数据库写入,多轮对话机制实现通义千问对话形式。

  • 如何上传图片?

    使用VL模型,通过指定参数传入图片URL地址。

  • 工作流应用中的异步调用参数调取失败?

    GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}

    失败工作流不支持传入变量,需要手动将链接的task_id替换为您需要查询的task_id。

  • 若意图分类节点开启上下文,运行报错?

    若意图分类节点开启上下文,则您传入该节点的变量类型需为List类型。

  • 百炼构建工作流应用,如何上传文件?

    您可以在工作流应用中加入一个API节点来实现文件上传功能。

  • 使用API调用节点使用流式输出报错?

    工作流中使用的API节点不支持,HTTP API本身是支持的,建议使用智能体编排应用调用其他智能体应用,实现流式返回结果。

上一篇: 文件交互 下一篇: 智能体编排应用
阿里云首页 大模型服务平台百炼 相关技术圈