怎么选择合肥网站建设排名查询
《扣子开发AI Agent智能体应用(人工智能技术丛书)》(宋立桓,王东健,陈铭毅,程东升)【摘要 书评 试读】- 京东图书
《扣子开发AI Agent智能体应用》全书案例重现_扣子开发智能体应用书籍pdf-CSDN博客
扣子工作流的节点是工作流中的基本构建块,用于定义和执行特定的子任务。扣子的工作流节点并不是固定的,而是由一系列可以任意添加的节点组成的,每个节点都有其特定的功能和用途。本节将对每种类型的常见节点进行初步介绍,包括它们实现的功能以及适用场景。通过这些介绍,后续搭建工作流时,我们就能清楚地知道在不同场景下应该选择哪种节点类型。扣子工作流中常见的节点类型如图4-2所示。
扣子工作流的节点是工作流中的基本构建块,用于定义和执行特定的子任务。扣子的工作流节点并不是固定的,而是由一系列可以任意添加的节点组成的,每个节点都有其特定的功能和用途。本节将对每种类型的常见节点进行初步介绍,包括它们实现的功能以及适用场景。通过这些介绍,后续搭建工作流时,我们就能清楚地知道在不同场景下应该选择哪种节点类型。扣子工作流中常见的节点类型如图4-2所示。
图4-2 扣子工作流常见的节点类型
下面分别介绍主要的节点类型。
4.4.1 插件节点
插件在扣子工作流中的作用是提供定制化的功能扩展,让工作流更加个性化和高效。插件节点用于在工作流中调用插件运行指定工具。
目前,扣子集成了类型丰富的插件,如图4-3所示。插件支持以节点形式集成到工作流中,可以帮助开发者拓展智能体的能力边界。例如,在你的智能体内添加新闻搜索插件,那么你的智能体将拥有搜索新闻资讯的能力。如果扣子集成的插件不满足你的使用需求,还可以创建自定义插件来集成需要使用的API。当你的工作流需要一些特别的功能,例如特定的数据处理或者自动化任务,插件可以提供这些定制化服务。如果你需要快速将某个功能集成到自己的工作流中,而这个功能已经以插件的形式存在,那么使用插件可以节省开发时间。
图4-3 添加插件
图4-4 大模型节点配置 |
4.4.2 大模型节点
大模型节点用于调用大模型生成输出结果,提供强大的数据处理和智能决策支持,如图 4-4 所示。当工作流中遇到需要处理大量数据或解决复杂问题时,大模型能够利用其深度学习和模式识别能力,快速提供高质量的结果。例如,在需要自动生成文本、图像或其他类型的内容时,大模型可以根据给定的输入生成高质量的输出。
大模型节点的输出质量在很大程度上取决于所选模型的能力。因此,建议根据实际业务场景选择合适的模型。可选的模型范围取决于当前的账号类型:
- 基础版账号:可以使用默认的几类模型,但存在对话数量限制。
- 专业版账号:可以使用DeepSeek的模型,或者使用火山引擎方舟平台的模型,例如豆包通用模型Pro、豆包通用模型Lite和豆包视觉理解模型Pro等。
大模型节点依赖大语言模型的语言理解和生成能力,可以处理复杂的自然语言处理任务。你可以根据业务场景的需求选择不同的大模型,并配置提示词来定义模型的人设和回复风格。模型的系统提示词用于指定人设和回复风格。模型的用户提示词是用户在本轮对话中的输入,用于给模型下达最新的指令或问题。
为了更精准地控制模型生成的结果,你还可以在大模型节点中设置模型的参数,从而影响模型回复的文本长度、内容的多样性等。
4.4.3 代码节点
代码节点在扣子工作流中的作用是执行一段代码(一个函数),目前支持Python和JavaScript两种语言,如图4-5所示。当你需要在工作流中实现一些特定的逻辑或算法,而这些功能在现有的插件中找不到时,代码节点允许你编写自己的代码来完成这些任务。如果需要对数据进行特定格式的转换或复杂的处理,代码节点可以灵活地处理这些需求。此外,如果工作流需要与外部系统或API进行交互,代码节点可以用来编写相应的调用代码,实现系统之间的集成。
图4-5 代码节点配置
4.4.4 知识库检索节点
知识库检索节点的功能是什么?知识库在扣子工作流中的作用是:“存储、管理和检索结构化信息,为工作流提供智能支持。”知识库检索节点特别适用于通过特定条件检索信息的工作场景,例如智能问答系统、企业知识检索系统、智能客服系统等。
大模型在回答问题时,有时会出现不够准确的情况,尤其是在专业领域知识方面。通过引入知识库,可以有效解决这一问题,从而提高大模型回答问题的准确性、效率,并补充特定领域的知识。知识库检索节点可以基于用户输入,查询指定的知识库,召回最匹配的信息,并将匹配结果以列表形式返回。
如图4-6所示,知识库检索节点根据输入参数从指定的知识库中召回匹配的信息,并将匹配结果以列表形式返回作为输出。这一功能为工作流提供了一个强大的信息检索能力,使得复杂的决策和信息处理成为可能。
知识库检索节点的输入参数固定为 Query,表示用户希望在知识库中检索的关键信息,需要引用上游节点的输出参数。输入参数格式为 String,可以引用任何格式的数据。输出参数固定为一个名为 outputList 的数组,其中包含多条召回结果,默认根据匹配度和相关性由高到低排序。
4.4.5 图像生成节点
图像生成节点的功能是能根据文案生成相关图片,如图4-7所示。通过图像生成节点,你可以将一段文字转为图片,也可以根据参考图生成图片。
图4-6 知识库检索节点配置
图4-7 图像生成节点配置
我们通常使用文生图的方式调用大模型节点来生成图像。然而,如果生成的图像效果不符合预期,就需要通过调整一系列关键词和参数来优化细节。但通过对话方式处理图像,通常存在以下问题:过程烦琐、保密性低,且不适合批量图像生成和处理。此外,普通开发者可能不熟悉图像处理模型的参数及其效果,反复调试会非常耗时。
在这种情况下,可以使用工作流中的图像生成节点来生成图像。此外,还可以通过循环节点嵌套图像生成节点,实现批量生成图像,从而提高文生图的效率和效果。
4.4.6 循环节点
如图4-8所示,循环节点的作用是重复执行一系列任务。例如,我们新建一个工作流,并加入一个图像生成节点。该节点默认只会生成一幅图片。但如果现在有一个需求,需要生成4幅图片,我们该怎么办呢?答案是使用循环节点。通过设定循环次数和逻辑,循环节点可以重复执行一系列任务。当需要重复执行某些操作或循环处理一组数据时,循环节点可以实现这一目标。
循环节点的配置方式取决于其循环类型。循环类型是循环节点的运行模式,支持以下3种设置:
- 使用数组循环:类似于编程语言中的for语法结构,用于遍历一个已知的序列,并对序列中的每个元素执行一系列相同的步骤。
- 指定循环次数:通常用于批量、顺序处理数据的场景,需要明确设置循环的次数。
- 无限循环:类似于编程语言中的while语法结构,需要通过终止循环节点来停止循环。
遍历循环的典型应用场景包括长文生成和长文总结。例如,在长文生成中,可以输入每个段落的主题,通过循环节点依次生成各个段落,并将完整的文章打包输出。此外,也可以通过消息节点实现每轮循环之后流式输出段落内容。长文总结的原理类似。
4.4.7 选择器节点
选择器在扣子工作流中的作用是:它像一个智能的交通指挥灯,指引数据流按照不同的条件走向不同的路径。如图4-9所示,每个选择器节点都设置了条件判断,根据条件的满足与否来决定工作流的下一步操作。该节点是一个if-else节点,用于设计工作流内的分支流程。当向该节点输入参数时,节点会判断是否符合“如果”区域的条件。如果符合,则执行“如果”对应的工作流分支;否则执行“否则”对应的工作流分支。
图4-9 选择器节点配置 |
选择器节点的核心功能是条件判断。你可以为每个分支设置一个或多个条件,这些条件可以是简单的逻辑表达式,也可以是复杂的函数调用。当输入参数满足某个条件时,选择器节点就会执行对应的分支。在实际应用中,我们经常会遇到需要根据条件选择不同操作的场景。例如,如果你正在开发一个智能客服系统,当用户输入“我想退货”时,系统需要执行退货流程;而当用户输入“我想换货”时,系统需要执行换货流程。选择器节点可以帮助你实现这种条件分支,让智能体的工作流更加灵活和智能。
假设你正在开发一个智能客服系统,用户可以通过聊天窗口输入问题,系统根据问题内容自动选择对应的处理流程。使用选择器节点,你可以轻松实现这种功能。如图4-10所示,当用户输入包含“退货”“换货”“投诉”时,系统会走向不同的分支流程。
图4-10 选择器节点的工作流
选择器节点的适用于以下情形:
(1)任务分发:在自动化流程中,选择器就像一个聪明的助手,能够根据任务的特定要求,将任务分配给合适的人或交给合适的系统进行处理。
(2)流程切换:在工作流中,选择器可以充当决策者的角色,根据条件判断来决定接下来应该执行哪个工作流程或进入哪个阶段。
(3)数据筛选:当工作流需要从大量数据中找出特定信息时,选择器可以作为一个过滤器,通过设定条件来筛选出符合要求的数据。
4.4.8 文本处理节点
如图4-11所示,文本处理节点用于将多种类型的输入数据进行字符串处理,适用于内容二次总结、文本拼接、文本转义等场景。在扣子工作流中,文本处理节点用于对输入或生成的文本进行加工、分析和转换,以满足特定的任务流程需求。当工作流中的文本数据杂乱无章、格式不统一,或者有错别字时,可以用文本处理来清洗这些数据,比如去掉不需要的字符、统一格式、纠正错别字,让后续的处理更准确。
图4-11 文本处理节点配置
文本处理节点的处理方式支持字符串拼接和字符串分隔。字符串拼接将输入中指定的内容根据一定顺序拼接为一个字符串,用于组合前置节点的关键信息,作为后置节点的输入。字符串分隔将输入中的内容用指定分隔符拆分为字符串数组,便于后续节点对不同内容进行差异化处理。如果要从用户输入或生成的文本中提取重要信息,或者分析文本的内容,比如找出文本中的日期、时间、人名、地名,或者分析文本的情感、主题等,文本处理节点都能顺利完成这些工作。
4.4.9 意图识别节点
意图识别是一种人工智能技术,它能够理解用户通过语音或文字表达的意图和需求。意图识别节点能够让智能体识别用户输入的意图,并将不同的意图流转至工作流不同的分支处理,提高用户体验,增强智能体的落地效果。意图识别的作用是让智能体理解用户通过自然语言表达的意图或目的。意图识别是智能助手的典型能力,例如用户在对话中输入“我想查看今天的新闻”,其中“查看新闻”为用户意图,也就是用户希望智能体执行的操作。如图4-12所示,扣子工作流支持意图识别节点对用户意图进行归类,无须再通过大模型节点配合选择器节点实现意图识别,使工作流运行更加高效。
图4-12 意图识别节点配置
选择器更偏向于纯代码工程的执行链路,而意图识别则是基于大模型进行判断和识别。意图识别节点的适用场景包括识别用户问题的类型,并将其转交给相应的知识库进行处理。对于知识库中未匹配的问题,则可以转交给人工客服处理。对于功能多样的智能体,可以先由意图识别节点对用户咨询进行初步分类,然后转交给各个分支进行处理。
意图识别节点的每个意图分类都需要与后续的处理节点相连接,否则当意图命中该分类时,将无法触发后续的处理流程。例如,在客服智能体中,产品咨询的分类可以流转至产品咨询知识库节点进行处理。建议为意图识别节点设置兜底策略,以便在意图未匹配到此处定义的任何分类时,能够流转到兜底策略进行处理。
4.4.10 变量赋值节点
如图4-13所示,变量赋值节点是工作流中用于修改和存储变量值的节点。通过变量赋值节点,可以将特定的值赋给变量,从而实现数据的动态更新和传递。在扣子工作流中,变量类似于一个临时存储箱,用于保存和传递数据。它们的作用非常关键,能够帮助工作流在不同节点间传递信息,实现复杂的数据处理和逻辑判断。
例如,当用户在与智能体交互时输入了重要信息(如姓名、城市等),可以使用变量将这些信息保存起来,以便在后续的工作流步骤中使用。此外,还可以使用变量来存储判断条件的结果,然后根据这个结果选择执行相应的分支逻辑。例如,可以根据用户所在的城市变量,判断并推荐附近的旅游景点或餐厅。
图4-13 变量赋值节点配置
4.4.11 数据库节点
数据库就像是一个大型的信息仓库,用于存储和管理各种数据。数据库节点用于对数据库进行常见的增删改查操作。数据库节点配置对话框如图4-14所示。工作流中支持使用数据库节点,数据库节点支持智能体用户读写数据库,用户的自然语言可转为SQL语句,系统会按照数据库节点中配置的SQL语句来执行数据表操作。
图4-14 数据库节点
当需要长期保存用户信息或业务数据时,使用数据库可以确保这些数据不会丢失,随时可以被检索和使用,例如用户的注册信息、订单记录等。数据库提供了强大的查询功能,可以根据需要快速找到符合条件的数据。例如,在电商平台上,用户可以根据商品名称、价格等条件搜索商品,这就是数据库在后台进行数据的筛选和匹配。
4.4.12 画板节点
画板节点是一个支持自定义绘制的图形创作节点。它通常用于图文排版和设计场景,例如电商海报、营销Banner、社交媒体博文配图等。如图4-15所示,画板节点包括“元素设置”和“画板编辑”,这两部分是相互关联的。
图4-15 画板节点配置
在画板节点中,你可以插入各种元素,例如上传指定图片、添加文本、添加矩形等线性图形、使用画笔自由绘制,还可以添加变量元素以引用上游节点的输出。此外,你还可以设置元素图层、画板尺寸、画板颜色、画板透明度等属性。在画板编辑区域双击预览图即可进入编辑状态,也可以在画板编辑区域右上角单击图标来进入编辑状态。
画板节点的输出参数固定为:
- data:Image格式的图像,即排版后的最终图像,通常是一个公开可访问的URL链接。
- msg:String格式的文本,表示节点执行状态,success表示处理成功。
4.4.13 长期记忆节点
长期记忆节点用于在工作流中召回长期记忆中存储的用户的个性化信息。在根据用户喜好推荐商品等个性化场景中,通常需要基于用户画像、关键记忆点等个人数据进行推荐和筛选,从而让智能体的效果更加贴合用户需求,提升用户体验。
通常情况下,我们可以通过多轮会话的上下文来收集这些信息。然而,由于上下文轮数的限制,个性化信息无法被长期记忆和保存。此时,可以开启长期记忆功能,记录并调用用户的个性化信息。在工作流中,也可以通过长期记忆节点调用智能体的长期记忆,查询智能体已记录的用户喜好、用户画像等信息,从而让工作流的效果更加个性化。
例如,在查看热点新闻的工作流中,可以召回用户的长期记忆,根据用户的喜好筛选出其可能感兴趣的内容。
4.4.14 工作流节点
扣子提供了工作流节点,能够实现工作流嵌套工作流的效果。在一个工作流中,你可以将另一个工作流作为其中的一个步骤或节点,从而实现复杂任务的自动化处理。例如,你可以将常用的、标准化的任务处理流程封装为不同的子工作流,并在主工作流的不同分支内调用这些子工作流,以执行对应的操作。
工作流嵌套可以实现复杂任务的模块化拆分和处理,使工作流的编排逻辑更加灵活、清晰且易于管理。
4.4.15 知识库写入节点
知识库写入节点用于向指定的知识库中添加文档。在工作流执行过程中,用户不仅可以从已上传的知识库中检索信息,还可以通过知识库写入节点来主动更新知识库,上传新的文档内容。知识库写入节点是智能体或应用的用户上传知识库的唯一途径,它的本质是向一个已创建的知识库上传文件。
每次运行知识库写入节点只能上传一个文件到知识库,但是你可以通过批处理或循环节点多次执行写入操作。每次上传文档时,都可以设置新文档的分段策略,扣子的知识库支持选择自动分段或自定义分段。
用户上传的文档和开发者上传的文档本身没有任何区别,都是知识库中的公开内容,可以被其他用户检索。但上传方式有区别,用户只能通过工作流的知识库写入节点上传文档,开发者则可在知识库管理页面或通过知识库API上传文档。另外,知识库写入节点为异步节点,工作流执行时无须等待文档上传完成。