政安晨【超级AI工作流】—— 基于COZE探索有趣的主题互动问答工作流(同宇宙儿童提问机)

news2025/4/5 7:45:34

政安晨的个人主页:政安晨

欢迎 👍点赞✍评论⭐收藏

希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正!

本例,我们将从零展示如何创建一款专门针对儿童对某项主题进行问答的对话流智能体,并以此为例,分析AI工作流在设计时要注意的问题。

创建智能体

首先,按照你自己的规划创建一个智能体,并修改智能体为对话流模式:

创建工作流

对话流节点说明

开始节点

工作流节点的输入和输出结构取决于子工作流定义的输入输出结构,不支持自定义设置。

在工作流节点中你需要为必选的输入参数指定数据来源,支持设置为固定值或引用上游节点的输出参数。

代码节点

在开始节点之后,我们放置一个代码节点,通过编写代码获取当前的时间和日期,以备后续在对话工作流的处理中使用。

代码节点支持通过编写代码来生成返回值。扣子支持在代码节点内使用 IDE 工具,通过 AI 自动生成代码或编写自定义代码逻辑,来处理输入参数并返回响应结果。

配置

说明

输入

声明代码中需要使用的变量。添加输入参数时需要设置参数名和变量值,其中变量值支持设置为固定值或引用上游节点的输出参数。

在代码中引用输入参数时,直接通过 params['input'] 取值即可。

代码

代码节点中需要执行的代码片段。你可以直接编写代码,也可以通过 AI 自动生成代码。

  • 引用变量:直接使用输入参数中的变量,通过return一个对象来输出处理结果。
  • 函数限制:不支持编写多个函数。即使仅有一个输出值,也务必保持以对象的形式返回。

支持 JavaScript 和 Python 两种语言。详细说明可参考开发语言。

输出

代码运行成功后,输出的参数。你可以根据实际需求,在输出结构中只保留必要的参数。

确保此处定义的参数名、类型与代码的 return 对象完全一致。以代码节点默认提供的代码为例,输出的参数与代码中定义的 return 对象完全一致。

代码如下:

from datetime import datetime

async def main(args: Args) -> Output:
    current_time = datetime.now()
    formatted_date = current_time.strftime("%Y-%m-%d")
    formatted_time = current_time.strftime("%H:%M")
    ret: Output = {
        "current_date": formatted_date,
        "current_time": formatted_time        
    }
    return ret

编码完成后,对该节点进行测试:

意图识别节点

意图识别节点能够让智能体识别用户输入的意图,并将不同的意图流转至工作流不同的分支处理,提高用户体验,增强智能体的落地效果。

节点说明

意图识别(Intent Recognition)指的是让智能体理解用户通过自然语言表达的意图或目的。意图识别是智能助手的典型能力,例如用户在对话中输入“我想查看今天的 AI 新闻”,其中“查看新闻”为用户意图,也就是用户希望智能体执行的操作。扣子工作流支持意图识别节点对用户意图进行归类,无需再通过大模型节点配合选择器节点实现意图识别,使工作流运行更加高效。

意图识别节点可用于以下场景:

  • 客户服务:识别用户问题的类型,并转交各类知识库处理,对于知识库中未匹配的问题,转交人工客服处理。
  • 医疗咨询:对用户咨询的医学问题进行归类,非医学问题的咨询则拒绝回复。
  • 综合类智能体:对于功能多样的智能体,可以先由意图识别节点对用户咨询进行初步分类,转交各个 Agent 分支处理。

意图识别节点支持极速模式或完整模式运行。

  • 极速模式:以较快的速度对用户意图进行分类,适用于关注工作流运行效率的场景。极速模式下使用扣子预设的极速模型进行意图识别,不支持修改模型,且不支持通过高级设置来指定模型分类的提示词。
  • 完整模式:意图识别效果优先,响应速度可能较长,适用于需要复杂逻辑判断的场景,例如剧情类游戏中根据情节发展切换剧情。完整模式往往需要选择意图识别能力较强的模型,并配合细致、严谨的提示词。

这里我们使用急速模式,快速区分儿童的提问:

我们做一个最简单的意图:

这里只有天气与其它意图。

输出节点

接下来,我们使用一个输出节点,作为查询天气时的安抚用语。

大语言模型

调用大语言模型,获取天气状况。

大模型节点是扣子提供的基础节点之一,你可以在该节点使用大语言模型处理任务。

节点说明

大模型节点可以调用大型语言模型,根据输入参数和提示词生成回复,通常用于执行文本生成任务,例如文案制作、文本总结、文章扩写等。

大模型节点依赖大语言模型的语言理解和生成能力,可以处理复杂的自然语言处理任务,你可以根据业务场景的需求选择不同的模型,并配置提示词来定义模型的人设和回复风格。为了更精准地控制模型生成的结果,你还可以在大模型节点中设置模型的参数,从而影响模型回复的文本长度、内容的多样性等。

配置大模型节点

技能

支持为大模型节点配置技能,添加插件、工作流或知识库,扩展模型能力的边界。大模型节点运行时,会根据用户提示词自动调用插件、工作流或知识库,综合各类信息输入后输出回复。

配置技能后,大模型节点的能力更接近一个独立运行的智能体,可以自动进行意图识别,并判断调用技能的时机和方式,大幅度提高此节点的文本处理能力和文本生成效果,简化工作流的节点编排。例如用户需求是某地区的穿搭推荐,通常需要先通过插件节点查询某地天气,再由模型节点根据天气情况生成穿搭推荐,现在你可以直接在大模型节点添加查询天气的插件,大模型会自动调用插件,查询天气并推荐穿搭。

模型

选择要使用的模型。此节点的输出内容质量很大程度上受模型能力的影响,建议根据实际业务场景选择模型。可选的模型范围取决于当前的账号类型,基础版账号可以使用默认的几类模型,且存在对话数量限制,专业版账号可以使用火山引擎方舟平台的模型。

你还可以单击配置图标,调整模型配置。模型配置的详细说明可参考设置模型。

输入

需要添加到提示词中的动态内容。系统提示词和用户提示词中支持引用输入参数,实现动态调整的效果。添加输入参数时需要设置参数名和变量值,其中变量值支持设置为固定值或引用上游节点的输出参数。

在多轮对话场景中,你还可以开启智能体对话历史。执行此节点时,扣子会将智能体与当前用户的最近多条对话记录和提示词一起传递给大模型,以供大模型参考上下文语境,生成符合当前对话场景的回复。一问一答场景下通常无需开启此功能。

系统提示词

模型的系统提示词,用于指定人设和回复风格。支持直接插入提示词库中的提示词模版、插入团队资源库下已创建的提示词,也可以自行编写提示词。编写方式可参考编写提示词。

编写系统提示词时,可以引用输入参数中的变量、已经添加到大模型节点的技能,例如插件工具、工作流、知识库,实现提示词的高效编写。例如{{variable}}表示直接引用变量,{{变量名.子变量名}}表示引用 JSON 的子变量,{{变量名[数组索引]}}表示引用数组中的某个元素。

用户提示词

模型的用户提示词是用户在本轮对话中的输入,用于给模型下达最新的指令或问题。用户提示词同样可以引用输入参数中的变量。

输出

指定此节点输出的内容格式与输出的参数。输出格式支持设置为:

  • 文本:纯文本格式。此时大模型节点只有一个输出参数,参数值为模型回复的文本内容。
  • Markdown:Markdown 格式。此时大模型节点只有一个输出参数,参数值为模型回复的文本内容。
  • JSON:标准 JSON 格式。你可以直接导入一段 JSON 样例,系统会根据样例格式自动设置输出参数的结构,也可以直接添加多个参数并设置参数类型。

参数的名称和描述有助于模型在参数中正确返回匹配的内容。当存在多个输出参数时,建议为输出参数指定有意义的名称,并设置描述信息。例如用于改写 Query 的模型节点,可以设置输出参数为 new_query,描述是改写后的 Query,另一个参数为 reason,描述是改写原因。

字符串分割代码节点

# 在这里,您可以通过 ‘args’  获取节点中的输入变量,并通过 'ret' 输出结果
# 'args' 和 'ret' 已经被正确地注入到环境中
# 下面是一个示例,首先获取节点的全部输入参数params,其次获取其中参数名为‘input’的值:
# params = args.params; 
# input = params.input;
# 下面是一个示例,输出一个包含多种数据类型的 'ret' 对象:
# ret: Output =  { "name": ‘小明’, "hobbies": [“看书”, “旅游”] };

async def main(args: Args) -> Output:
    params = args.params
    input_str = params["input"]
    try:
        # 分割输入字符串
        parts = input_str.split('|')
        if len(parts) != 3:
            return {"isOk": False}
            
        city, start_time, end_time = parts
        if city.strip() == "":
            return {"isOk": False}
        
        result = {
            "isOk": True,
            "city": city.strip(),
            "start_time": start_time.strip(),
            "end_time": end_time.strip()
        }
        return result
    except Exception as e:
        return {"isOk": False}

选择器节点

该节点是一个 if-else 节点,用于设计工作流内的分支流程。

当向该节点输入参数时,节点会判断是否符合如果区域的条件,符合则执行如果对应的工作流分支,否则执行否则对应的工作流分支。

每个分支条件支持添加多个判断条件(且/或),同时支持添加多个条件分支,可通过拖拽分支条件配置面板来设定分支条件的优先级。

获取指定日期天气的插件

使用大模型节点总结天气结果

完成输出

闲聊节点

我们再建立一个闲聊的对话流,完成意图识别的其它分支。

试运行

保存并调试->

编排Agent

设置语音:

打开语音对话的开关,然后发布:

好了,你完成了一个智能体对话流,坚决地发布它!


整个智能体的对话流如下:


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2328451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Derivatives and Differentiation (导数和微分)

Derivatives and Differentiation {导数和微分} 1. Derivatives and Differentiation (导数和微分)1.1. Visualization Utilities 2. Chain Rule (链式法则)3. DiscussionReferences For a long time, how to calculate the area of a circle remained a mystery. Then, in Anc…

P17_ResNeXt-50

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、模型结构 ResNeXt-50由多个残差块(Residual Block)组成,每个残差块包含三个卷积层。以下是模型的主要结构&#xff1…

Ubuntu上离线安装ELK(Elasticsearch、Logstash、Kibana)

在 Ubuntu 上离线安装 ELK(Elasticsearch、Logstash、Kibana)的完整步骤如下: 一.安装验证 二.安装步骤 1. 在联网机器上准备离线包 (1) 安装依赖工具 #联网机器 sudo apt update sudo apt install apt-rdepends wget(2) 下载 ELK 的 .deb 安装包 #创建目录将安装包下载…

PyCharm 下载与安装教程:从零开始搭建你的 Python 开发环境

PyCharm 是一款专为 Python 开发设计的集成开发环境(IDE),它提供了强大的代码编辑、调试、版本控制等功能,是 Python 开发者的必备工具之一。如果你是初学者,或者正在寻找一款高效的开发工具,这篇文章将帮助…

TSMaster在新能源汽车研发测试中的硬核应用指南

——从仿真到标定,全面赋能智能汽车开发 引言:新能源汽车测试的挑战与TSMaster的破局之道 新能源汽车的快速发展对研发测试提出了更高要求:复杂的电控系统、高实时性通信需求、多域融合的验证场景,以及快速迭代的开发周期。传统测…

黑白彩色相机成像原理

文章目录 黑白相机成像原理彩色相机成像原理 黑白相机成像原理 参考:B站优致谱视觉 光线聚焦:相机镜头将外界景物反射的光线聚焦到相机内部的成像平面上。光电转换:成像平面上通常是图像传感器,黑白相机常用的是CCD&#xff08…

室内指路机器人是否支持环境监测功能?

并非所有室内指路机器人都具备环境监测功能。那些支持环境监测的室内指路机器人,往往在设计上进行了针对性的优化,搭载了一系列先进且实用的传感器。温湿度传感器犹如一位敏锐的 “温度湿度侦探”,时刻精准地监测室内温度与湿度,为…

基于DrissionPage的Taptap热门游戏数据爬虫实战:从Requests到现代爬虫框架的迁移指南(含完整代码复制)

目录 ​编辑 一、项目重构背景与技术选型 1.1 原代码问题分析 1.2 DrissionPage框架优势 二、环境配置与基础改造 2.1 依赖库安装 2.2 基础类改造 三、核心功能模块重构 3.1 请求参数自动化生成 3.2 智能页面渲染 3.3 数据解析优化 四、数据库操作增强 4.1 批量插入…

MINIQMT学习课程Day8

获取qmt账号的资金账号后,我们进入下一步,如何获得当前账号的持仓情况 还是之前的步骤,打开qmt,选择独立交易, 之后使用pycharm,编写py文件。 from xtquant import xtdata from xtquant.xttrader import…

【硬件模块】数码管模块

一位数码管 共阳极数码管:8个LED共用一个阳极 数字编码00xC010xF920xA430xB040x9950x9260x8270xF880x8090x90A0x88B0x83C0xC6D0xA1E0x86F0x8E 共阴极数码管:8个LED共用一个阴极 数字编码00x3F10x0620x5B30x4F40x6650x6D60x7D70x0780x7F90x6FA0x77B0x7…

专为 零基础初学者 设计的最简前端学习路线,聚焦核心内容,避免过度扩展,帮你快速入门并建立信心!

第一阶段&#xff1a;HTML CSS&#xff08;2-3周&#xff09; 目标&#xff1a;能写出静态网页&#xff0c;理解盒子模型和布局。 HTML基础 常用标签&#xff1a;<div>, <p>, <img>, <a>, <ul>, <form> 语义化标签&#xff1a;<head…

详解大模型四类漏洞

关键词&#xff1a;大模型&#xff0c;大模型安全&#xff0c;漏洞研究 1. 引入 promptfoo&#xff08;参考1&#xff09;是一款开源大语言模型&#xff08;LLM&#xff09;测试工具&#xff0c;能对 LLM 应用进行全面漏洞测试&#xff0c;它可检测包括安全风险、法律风险在内…

Java全栈面试宝典:线程安全机制与Spring Boot核心原理深度解析

目录 一、Java线程安全核心原理 &#x1f525; 问题1&#xff1a;线程安全的三要素与解决方案 线程安全风险模型 线程安全三要素 synchronized解决方案 &#x1f525; 问题2&#xff1a;synchronized底层实现全解析 对象内存布局 Mark Word结构&#xff08;64位系统&…

Linux开发工具——apt

&#x1f4dd;前言&#xff1a; 在之前我们已经讲解了有关的Linux基础命令和Linux权限的问题&#xff0c;这篇文章我们来讲讲Linux的开发工具——apt。 &#x1f3ac;个人简介&#xff1a;努力学习ing &#x1f4cb;个人专栏&#xff1a;Linux &#x1f380;CSDN主页 愚润求学 …

嵌入式——Linux系统的使用以及编程练习

目录 一、Linux的进程、线程概念 &#xff08;一&#xff09;命令控制进程 1、命令查看各进程的编号pid 2、命令终止一个进程pid 二、初识Linux系统的虚拟机内存管理 &#xff08;一&#xff09;虚拟机内存管理 &#xff08;二&#xff09;与STM32内存管理对比 三、Lin…

在MacOS 10.15上使用MongoDB

这次是在MacOS 10.15上使用MongoDB。先在豆包问支持MacOS 10.15的MongoDB最新版是什么&#xff0c;答案是MongoDB 5.0。 抱着谨慎怀疑的态度去官方网站查询了一下&#xff0c;答案如下 MongoDB 7.x支持的最低版本MacOS是11MongoDB 6.x支持的最低版本MacOS是10.14 又找deepsee…

思二勋:未来所有的业务都将生于AI、长于AI、成于AI

每个时代都有其标志性的技术&#xff0c;每个技术的产生或极大地解放了个体的劳动力&#xff0c;提高了个体与组织之间的协作效率&#xff0c;或极大地促进了生产效率或使用体验&#xff0c;或将极大地优化了资源配置和供需匹配效率&#xff0c;从而提高人们的生活水平。从青铜…

混合专家模型(MoE):助力大模型实现高效计算

引言 近年来&#xff0c;大模型的参数规模不断攀升&#xff0c;如何在保证性能的前提下降低计算成本和显存消耗&#xff0c;成为业界关注的重点问题。混合专家模型&#xff08;Mixture of Experts, MoE&#xff09;应运而生&#xff0c;通过“分而治之”的设计理念&#xff0c…

【学习笔记】计算机网络(七)—— 网络安全

第7章 网络安全 文章目录 第7章 网络安全7.1 网络安全问题概述7.1.1 计算机网络面临的安全性威胁7.1.2 安全的计算机网络7.1.3 数据加密模型 7.2 两类密码体制7.2.1 对称密钥密码体制7.2.2 公钥密码体制 7.3 鉴别7.3.1 报文鉴别7.3.2 实体鉴别 7.4 密钥分配7.4.1 对称密钥的分配…

预测分析(四):面向预测分析的神经网络简介

文章目录 面向预测分析的神经网络简介神经网络模型1. 基本概念2. 前馈神经网络3. 常见激活函数4. 循环神经网络&#xff08;RNN&#xff09;5. 卷积神经网络&#xff08;CNN&#xff09; MPL结构工作原理激活函数训练方法 基于神经网络的回归——以钻石为例构建预测钻石价格的M…