# 二、动手搭建一个智能体

# 1. 零基础新手教程

欢迎来到智能体平台新手教程!无论你是AI领域的初学者,还是希望探索智能体平台潜力的专业人士,这里都将是你开启智能体创建之旅的理想起点。

智能体平台是一个集成了先进人工智能技术的强大工具,它允许用户通过简单的操作,快速创建和管理个性化的智能体。这些智能体能够感知环境、理解指令,并自主执行各种任务,为你提供便捷、高效的服务。

在接下来的教程中,我们将一起探索智能体平台的各项功能,从创建智能体,再到调试和优化,最后发布。通过一步步的实操指导,你将学会如何打造一个属于自己的智能体,让它成为你工作、学习和生活中的得力助手。

首先,我们会简要介绍智能体平台的基本界面和操作流程,让你对平台有一个整体的认识。然后,我们将深入讲解智能体的创建过程,包括如何设定智能体的基本信息、配置知识库、添加插件与工具等关键步骤。在这个过程中,我们会分享一些实用的技巧和注意事项,帮助你更高效地完成智能体的创建。

最后,我们鼓励你在教程结束后进行实践操作,将所学知识应用到实际场景中。通过不断的尝试和调整,你将逐渐掌握智能体平台的精髓,并打造出更加符合自己需求的智能体。 现在,让我们开始这段智能体创建之旅吧!相信在不久的将来,你将能够拥有一个属于自己的、功能强大的智能体助手!

构建工作流智能体

✔您可以参照以下步骤来搭建一个符合自身需求的工作流

图片

进入创建页面后,您首先需要填写智能体的基本信息。为了帮助您快速上手,平台特别提供了几个通用场景的模板,例如智能客服、新闻资讯等,这些模板已经预设了一些常用功能和配置,让您能够轻松快速地创建出符合需求的智能体。

当然,如果您有更具体或独特的需求,平台也支持自定义创建智能体。您可以根据自己的实际情况,灵活调整智能体的各项参数和功能,以打造出完全符合您期望的智能体助手。

接下来,我们就来亲手自定义一个简洁实用的智能体。

图片

进入智能体的编排辑页面,我们可以借助左侧边栏的关键节点,采用可视化拖拽的方式,轻松完成智能体工作流的搭建,例如我们从左侧选择节点列表基础节点下,添加大模型节点。

图片

连接节点开始节点——>大模型节点——>结束节点,并配置各节点入参出参

示例

节点 参数配置
开始节点 输入:
变量名:AGENT_USER_INP(默认)
变量类型:String(默认)
描述:用户本轮对话输入内容(默认)
是否必要:勾选(默认)
大模型节点 回答模式:
Spark4.0 Ultra(选择已授权的模型,未授权的模型需申请授权)
模型参数设置:有默认值,可根据需要修改
输入:
参数名:input
参数值:选择引用 开始 > AGENT_USER_INP
提示词:
## 角色
你是一个旅行规划助手,专注于帮助用户规划他们的旅行路线、预订住宿和交通,以及提供目的地的旅游信息和建议。## 技能
1. 制定个性化旅行计划:
- 根据用户的偏好、预算和时间限制,设计详细的旅行路线和日程安排。
- 考虑用户的兴趣爱好,推荐适合的活动和景点。
- 提供关于当地文化、风俗习惯和必尝美食的信息。
2. 预订服务:
- 协助用户预订机票、酒店和其他交通工具。
- 比较不同供应商的价格和服务,帮助用户找到性价比最高的选项。
- 提供预订确认信息和管理用户的预订记录。
3. 提供实时旅行建议:
- 根据天气变化、节假日或其他突发事件,及时调整旅行计划。
- 在旅途中为用户提供实时支持,解答任何关于行程的问题。
- 分享实用的旅行小贴士和应急联系方式。
## 规则:
-请仔细分析用户的【输入信息】,尤其是用户的信息可能不是很全面模糊的时候,你应该尽量推测用户的情况,并且根据技能要求进行输出结果。
## 限制
- 只讨论与旅行规划相关的内容,拒绝回答与旅行规划无关的话题。
- 所有的输出内容必须按照给定的格式进行组织,不能偏离框架要求。
- 提供的旅行建议应基于公开可获取的信息,不涉及个人隐私或敏感数据。
##用户的【输入信息】=
{{input}}
输出:
输出格式:选择 text
变量名:output
变量类型:String(不可修改)
描述:旅游攻略
结束节点 回答模式:返回参数,由工作流生成
输出:
参数名:output
参数值:选择引用 大模型 > output

配置完成后,单击页面右上角的调试,测试智能体,大家可以通过调试节点来验证智能体的核心工作流程,并在这一过程中排查和解决可能遇到的问题。

图片

测试工作流无问题后,单击页面右上角的发布,您可以将您的Agent应用发布至星火APP(包括APP端和Desk端),同时,我们也提供一键发布功能,便于您将API/SDK无缝集成至您的业务系统中,实现快速部署与应用。

通过前面快速创建智能体的实践,相信您已经对智能体有了初步的认识。接下来,我们将深入智能体编排页面,详细学习所有节点的具体用法,这将帮助您更加高效地搭建和优化智能体,充分发挥其潜力。

# 2. 节点介绍

工作流智能体是一个集成了众多可执行指令的集合体,旨在实现复杂的业务逻辑或完成特定的任务目标。工作流智能体的核心优势在于能够巧妙地将大型模型的强大功能与特定的业务逻辑相结合,通过巧妙地串联各个功能节点,协同完成既定的任务,实现高效、灵活且易于扩展的AI应用开发目标。

# 1. 基础节点

# 1.1 开始节点

开始节点是工作流中的第一个节点,它标志着整个工作流程的启动。该节点通常负责接收用户输入或触发条件,并将其作为后续节点处理任务的依据。

在工作流的开始节点中,设定了一个唯一的默认输入参数——AGENT_USER_INP,此参数专门用于接收并存储用户在当前对话轮次中输入的原始内容。

# 1.2 结束节点

结束节点作为工作流的最终环节,扮演着至关重要的角色,它负责反馈工作流执行完毕后的结果。在结束节点的设计中,我们提供了两种返回结果的方式:返回参数,由工作流生成 返回设定格式配置的回答。

  • 返回参数,由工作流生成:此方式允许结束节点返回在工作流执行过程中处理得到的变量值。
  • 返回设定格式配置的回答:通常用于允许用户自定义返回结果的格式和内容,以满足不同应用场景下的具体需求。

# 1.3 大模型节点

大模型节点是工作流智能体中不可或缺的一环,它具备调用大语言模型(LLM)的能力,专门用于处理文本生成任务。具备强大的自然语言处理能力,能够理解和生成人类语言。

  • 配置与参数
  1. 模型选择:从可用的模型库中选择一个合适的大型语言模型进行调用。
  2. 输入参数配置:设置输入文本的内容,这可以是用户输入的原始文本,也可以是经过预处理或格式化的文本。
  3. 提示词:为模型提供额外的提示信息,以帮助模型更好地理解输入文本并生成符合要求的输出。这些提示词可以是关键词、短语或句子。
  4. 输出参数:设置输出文本的格式和样式。

# 1.4 代码节点

代码节点具备通过编写代码生成返回值的能力。在代码节点内部,用户可以运用集成开发环境(IDE)工具,既可以借助AI自动生成的代码,也可以编写自定义的代码逻辑,以处理输入参数并返回相应的结果。此外,它还支持对错误代码进行校正。

参数配置 说明
输入 设置代码节点需要接收的输入参数,这些参数可能来自其他节点或用户输入。
代码 1. 在代码编辑器中编写自定义代码逻辑,也可以通过 AI 自动生成代码,实现特定的功能或处理流程。
2. 在代码节点编辑页面上,我们提供了一个函数结构的参考代码示例。请遵循以下指导原则来编写您的函数:您可以直接利用输入参数中的变量,来执行代码,并将处理结果存放到输出参数中予以返回。请注意,此功能设计为仅支持编写一个函数。
3. 支持300+python包,仅支持 Python 语言。
输出 设置代码节点的输出格式和类型,输出参数需和代码return输出参数保持一致,以便后续节点能够正确接收和处理。

# 1.5 知识库节点

知识库节点在多个关键领域展现出了其不可或缺的重要性,特别是在信息的存储与检索、应答效率的提升、工作流程的优化、模型性能的增强以及系统的便捷更新与维护方面。它能够根据用户输入的查询条件(query),在指定的知识库中迅速且精确地定位并提取相关信息片段,随后将这些信息高效地反馈给用户。

  • 参数配置
  1. 输入参数:固定为 Query,表示用户希望在知识库中检索的Query相关关键信息。
  2. 知识库选择:在知识库区域右上角单击 + 添加知识库,即可将知识库添加到节点中,支持添加多个知识库。
  3. 知识库参数设置:用于筛选与用户问题相似度最高的文本片段。系统同时会根据选用模型上下文窗口大小动态调整分段数量。数值越大,返回的条目越多。
  4. 输出:固定输出result(Array),其中包含多条召回结果。

# 2. 工具类节点

# 2.1 工作流节点

在一个工作流体系中,你可以将另一个工作流整合为其中的一个环节或节点,以此实现复杂任务的自动化处理。多个工作流节点能够相互协作,共同完成复杂的业务任务。工作流节点会根据所嵌入的工作流展示其预设的输入与输出接口。

  • 参数配置
  1. 输入:工作流节点的输入通常包括上游节点传递的数据、用户手动输入的数据或配置的信息等。
  2. 输出:工作流节点的输出是执行特定任务后产生的结果或数据。这些输出可以作为后续节点的输入,从而实现整个工作流的自动化执行。

# 2.2 工具节点

相较于大模型节点,工具节点进一步拓宽了智能体的能力范畴,它集成了众多通用及复杂的工具集。用户可以直接调用这些工具,以迅速且高效的方式完成工作流程中的各项任务。工具节点的输入与输出结构严格遵循工具所定义的输入输出结构,并不支持用户进行自定义的设置或调整。

  • 参数配置
  1. 工具选择:从可用的工具列表中选择需要使用的工具。
  2. 输入参数:设置工具节点需要接收的输入参数,这些参数可能来自其他节点或用户输入。
  3. 输出参数:工具节点的输出参数不支持自定义,用于接收工具执行后的结果。

# 3. 逻辑节点

# 3.1 决策节点

意图识别节点在工作流智能体中有着广泛的应用场景,它负责深入理解和分析用户的输入信息,旨在准确捕捉并确定用户的实际需求或真实意图。不仅能够提高系统的自动化水平和智能化程度,还能够提升用户体验和满意度。通过准确识别用户的意图,系统能够为用户提供更加精准、个性化的服务,从而增强用户的黏性和忠诚度。

参数配置 说明
模型选择 从可用的模型库中选择一个合适的大型语言模型进行调用。
输入 固定为 Query,接收来自用户或其他上游节点的输入信息,该信息为意图识别判断的内容。
意图 用户能够设定多个意图,大型模型会深入分析和解读用户意图,将其与预设的意图分类进行匹配,随后,处理流程会自动导向相应的后续节点。
高级配置 为了引导大型模型更准确地识别并分类用户意图,我们可以追加系统提示词,有助于模型实现更精细化的分类。
输出 识别出意图后,节点会将这一信息作为输出,传递给下游节点或系统,以便根据用户的意图执行相应的操作或流程。

# 3.2 分支器节点

分支器节点用于设计条件分支流程,根据节点入参是否满足设定的条件,独立运行对应的分支。这为实现复杂的逻辑判断和分支处理提供了便利。相较于决策节点(凭借自然语言处理(NLP)技术专注于解析用户的意图或需求),分支器节点则主要依托于条件判断逻辑与分支处理机制来运作,每个分支条件均支持灵活地添加多个判断条件,这些条件可以通过逻辑运算符“且”与“或”来组合,从而构建出更为复杂和精细的判断逻辑。此外,分支器节点还具备添加多个条件分支的能力,这进一步增强了其处理多样化流程和决策场景的能力。 图片

# 3.3 迭代节点

迭代节点是一个强大且灵活的工具,它允许用户设定重复执行的任务或操作,从而极大地提高了工作效率和自动化程度。类似于编程语言中的for循环,遍历循环用于遍历一个已知的数组,并对数组中的每个元素执行一系列相同的步骤,每次循环迭代,工作流会依次执行画布内的各个节点。

  • 参数配置
  1. 输入变量:仅接受 Array 数组变量类型数据。
  2. 迭代子节点:你可以在子画布中使用工作流中所有的节点(迭代节点除外),编排需重复执行的任务;子画布中仅有一个开始节点和结束节点,不支持嵌套循环。
  3. 输出变量:仅支持输出数组变量,支持多数组输出;循环执行完毕后,将所有循环的运行结果打包输出给下游。

# 4. 转换节点

# 4.1 变量存储器

通过变量存储器节点,你可以将工作流内的变量赋值到会话变量中用于临时存储,并可以在后续对话中持续引用。删除会话或新建会话,变量将会被清空。

  1. 设置变量值:用于变量赋值。
  2. 获取变量值:用于变量读取和使用。

# 4.2 变量提取器

变量提取器节点的存在使得智能体能够更加方便地处理非结构化或复杂的数据输入,从而提高了其处理复杂任务的能力。同时,变量提取器节点具备高度灵活性,能够根据流程中各异的数据源,结合提取变量的具体描述,精准地从输入参数中抽取出目标内容,为智能体提供实时的数据更新和反馈。

  1. 输入:固定为input,字符串类型,接收来自用户或其他上游节点的输入信息。
  2. 输出:支持多种数据类型的输出,并允许用户定义多个输出项。它能够根据参数的具体描述,精确地抽取出输入数据中的目标内容,并将这些内容按照预设的数据类型和输出项进行赋值。

# 4.3 文本拼接

文本拼接节点是工作流中的一个特定节点类型,它接收来自上游节点的多个文本输入,并根据预设的规则或逻辑将这些文本片段拼接成一个连续的字符串。这个拼接后的字符串可以作为后续节点的输入,或者直接输出给最终用户。

  1. 输入:文本拼接节点能够接收来自上游节点的多个文本输入。这些输入可以是字符串、文本变量或文本数组等。
  2. 拼接规则:节点内部定义了拼接的规则或逻辑,这些规则决定了如何将输入的文本片段组合成一个完整的字符串。例如,可以使用空格、逗号、换行符等作为分隔符,或者根据特定的格式要求来拼接文本。
  3. 输出:拼接后的文本可以经过进一步的格式化或处理,以满足后续节点的输入要求或用户的输出需求。

# 5. 其他节点

# 5.1 消息节点

消息节点接收来自上游节点的数据或指令,根据预设的逻辑或规则生成或编辑回复内容,然后将这些信息传递给下游节点或作为最终输出。消息节点的主要功能是确保信息在智能体和工作流中的有效流动和传递。

  1. 输入:能够接收来自上游节点参数输入,用于回答内容的设置。
  2. 回答内容:设定明确的回答规则或逻辑框架,据此生成回复内容。这些内容可以是简洁明了的文本回复,也可以是经过精心格式化的消息,亦或是包含特定关键信息的详细答复。
更新于: 3/7/2025, 7:06:39 AM