# 智能体
#### 功能介绍
智能体节点是工作流中调用大模型进行自然语言理解与推理的核心节点。支持配置模型参数、系统提示词、交互消息和对话历史来定义模型角色与行为，通过输入参数接收文本和文件数据，并可挂载工具、工作流、本体和知识湖四类技能扩展大模型能力边界，最终输出推理结果。
#### 前提条件
已[构建工作流](https://support.huaweicloud.com/usermanual-dataartsplatform/dataartsplatform_02_0027.html)。
#### 配置智能体节点
1. [登录数据智能平台](https://support.huaweicloud.com/usermanual-dataartsplatform/dataartsplatform_02_0003.html#ZH-CN_TOPIC_0000002749200638__li15819195745117)。
2. 在左侧导航栏选择"应用 \> 应用开发"，进入应用管理页面。 
   图1应用开发   
   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002664568954.png "点击放大")
   
   
3. 单击需要编排的工作流名称，进入到工作流编排页面，单击左下角的"添加节点"。 
   图2添加节点   
   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002675593770.png "点击放大")
   
   
4. 添加"智能体"节点到画布中，参考[表1]进行参数配置。
   
   图3智能体节点配置   
   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002675597856.png "点击放大")
    表1基本信息 
   | 参数   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   |:---|:---|
   | 模型      | 用于选择智能体执行时使用的大模型（可选大模型来自"模型-大语言模型"模块配置的用户大模型）及针对大模型的配置（在具体调用大模型时会将这些配置发送给大模型）。 当前支持的有"多样性"和"最大回复长度"，如下图： ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002694568711.png "点击放大") **多样性** 控制模型输出的多样性（对应的大模型的配置参数temperature），数值越高输出内容的差异性越大，当前支持三种预设模式： 精确模式（对应的temperature为0.1）、平衡模式（对应的temperature为0.5）和创意模式（对应的temperature为1.0）。 用户自定义模式（用户可自定义temperature的值，范围0\~1）。 **最大回复长度** 控制模型生成的Token数上限（对应的大模型的配置参数max_tokens），默认为0时，表示不限制。 输入Token和输出Token的总长度受模型的上下文长度的限制，模型的上下文长度限制参考具体的大模型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | 输入    | 输入为智能体节点配置输入参数，智能体节点内置两个系统输入参数input和files，详见下图： ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002664728854.png "点击放大") 1. **input（文本输入参数）** - 用法：作为提示词中的引用参数（引用格式为 {xxx}，其中 xxx 为参数名称），使提示词实现参数化，可在运行时动态控制提示词内容。 ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002694448809.png "点击放大")   - 赋值来源：可引用工作流的参数或其他节点的输出。  - 典型使用：引用工作流参数sys.query（运行时来源于用户输入的问题），将对话中的问答内容直接传递给大模型。    2. **files（文件输入参数）** 参数说明：files参数为一个文件数组，每个数组元素为Object类型，表示一个文件对象，包含file_id（文件ID）和filename（文件名称）两个属性。参数值结构示例如下： ``` [{ "file_id": "77f961a4-01d1-4a7c-8db9-9886e52bddec", "filename": "invocation.txt" }] ``` - 用法：files参数中的文件来自用户个人知识库（详见本体验证模块）中已存在的可用文档。这些文档将作为数据输入大模型，供其在推理时引用。注意：files参数不支持在提示词中引用。  - 赋值来源：可引用工作流的参数或其他节点的输出。  - 典型使用：引用工作流参数 sys.files（运行时来源于用户上传的文档），将对话框中的文件内容直接传递给大模型。    3. 其他**自定义参数** - 用法：与input参数一致，可作为提示词中的引用参数（引用格式为 {xxx}，其中 xxx 为参数名称），实现提示词的参数化配置，支持运行时动态控制提示词内容。  - 说明：除系统内置参数外，用户还可根据业务需求按需自定义其他参数，灵活适配各类应用场景。                                                                                                                                                                                                                                                                                                  |
   | 系统提示词 | 系统提示词（System Prompt）是给大语言模型预设的指令，用于定义模型的角色、行为规则、约束条件等，引导模型生成特定的输出，提示词直接影响模型的输出，所以需要重点关注，提示词示例如下图： ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002694568717.png "点击放大") 另外，可通过在系统提示词里引用参数来参数化提示词，这样就可以在运行时通过参数来动态控制提示词的内容，参考如下： ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002664568956.png "点击放大") 系统提示词长度最大限制10000个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 交互消息   | **交互消息** 通过添加"用户 \> 助手"问答对，为模型提供回复示例，让模型在遇到类似输入时参照示例进行回复。 **操作方式** 单击交互消息右侧的添加按钮，分别填写： - 用户：模拟用户可能说的话。  - 助手：期望模型的回复。   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002664728848.png "点击放大") 可添加多个问答对，模型会参照这些示例的回复方式来响应。 **示例**： 1. 用户：你会做饭吗？  2. 助手：我是AI助手，专注于数据分析领域，无法提供生活类建议。    1. 用户：帮我写一段攻击代码。  2. 助手：抱歉，我无法协助生成可能造成危害的内容。    1. 用户：今天天气怎么样？  2. 助手：我是数据分析助手，暂不支持天气查询，有数据相关问题欢迎提问。   **适用场景** - 异常引导：用户提出超出服务范围的问题时，引导模型给出固定回复。  - 安全防护：用户尝试绕过限制时，让模型拒绝并说明原因。  - 社交拦截：用户闲聊时，引导模型回归专业领域。  - 固化优质回复：从历史对话中挑选回复效果好的问答对，添加到交互消息中，让模型持续保持该回复质量。   **使用建议**： 多数情况下，直接在系统提示词中描述规则即可生效。仅当需要模型"照着示例回复"时，才使用交互消息。两者功能有重叠，优先使用系统提示词。 **限制** 最多配置5组交互消息 每个交互消息最大支持2000个字符。 |
   | 用户提示词   | 用户提示词是在跟大模型每次对话时输入的具体指令或问题，默认引用input参数，也可以由用户自定义（可以引用输入参数，files参数除外）。 用户提示词长度最大限制10000个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 对话历史  | - 对话历史开关用于控制智能体对话时是否携带历史对话消息，可视为智能体的短期记忆。开启该开关后，系统将当前对话中前几轮对话消息（轮数参考配置的对话消息数）作为上下文信息发送给大模型，供其推理时使用。  - 通常在一个对话中，若不关注前几轮对话内容，可不打开对话历史开关；若需关注，则需打开该开关。开启后，系统将对话历史消息发送给大模型，为其提供更多上下文信息。  - 对话历史消息最多支持当前对话中的最近10轮。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 技能      | 技能（也叫工具）在智能体中是大模型与外部世界交互的桥梁，有了工具就可以大幅延伸大模型的能力边界。 技能现在只支持手动的配置方式，即由用户在界面手动选择配置。 ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002694448805.png "点击放大") 当前智能体节点支持四种类型的技能： - **工具** 由"工具"模块提供的工具，主要是系统或用户自定义的API。   - **工作流和智能体** 可以将智能应用里用户开发的工作流和智能体作为工具来使用，通过用户开发的工作流和智能体来解决用户业务问题，必须是发布上线（即生产部署）的工作流或智能体。   - **本体** - 本体对象类型搜索：查询本体对象及对象关系的结构定义，支持查看对象名称、属性、属性类型等Schema元信息。  - 本体对象搜索：分页查询本体中的对象数据，支持检索目标对象实体，并可同时返回固定数量（100）的关联实体与关联对象实体的信息。  - 本体关系搜索：分页查询指定对象的关联关系实体，以及关联关系两端的对象实体信息。  - 本体数据查询：支持跨对象关联属性的分页查询，提供"汇总统计"与"明细列表"两种数据查询模式。  - 本体动作执行：将本体动作封装为专用工具提供给大模型，可以让大模型通过推理来自主执行本体动作，从而对特定的本体数据进行增删改的操作。    - **知识湖** 知识湖检索：将知识湖文档检索作为工具提供给大模型，让大模型可以自主查询检索知识湖文档，前提是用户已经在知识湖上传解析后的文档。    **限制** 最多配置20个技能。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 输出        | 智能体节点内置输出参数为output。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 输出推理过程 | 该开关用于控制在智能体节点执行的时候是否输出推理过程，主要在于可以让用户感知到智能体执行的详细推理过程。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
      
   
   
5. 单击上方的"保存"。
