# 构建智能体
智能体作为智能应用平台的一种应用类型，是一种独立运行的智能应用，能自主规划决策并执行任务。
智能体主要利用大模型的推理思考能力，借助丰富多样的工具（外加领域知识，这里主要是本体知识），帮助用户处理特定的任务，比如可以通过构造智能体来处理货期提拉的问题。
图1智能体配置示例   
![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002694448909.png "点击放大")
#### 模型
用于选择智能体执行时使用的大模型（可选大模型，来自"模型 \> 大语言模型"管理模块配置的用户大模型）及针对大模型的配置（在具体调用大模型时会将这些配置发送给大模型）。
当前支持的有多样性和最大回复长度，如下图：
图2模型设置   
![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002712104488.png "点击放大")
- **多样性：** 控制模型输出的多样性（对应的大模型的配置参数temperature），数值越高输出内容的差异性越大，当前支持三种预设模式：
  - 精确模式（对应的temperature为0.1）
  
  - 平衡模式（对应的temperature为0.5）
  
  - 创意模式（对应的temperature为1.0）
  
  - 用户自定义模式（用户可自定义temperature的值，范围0\~1）。
   
 
- **最大回复长度：**控制模型生成的Token数上限（对应的大模型的配置参数max_tokens），默认为0时，表示不限制。输入Token和输出Token的总长度受模型的上下文长度的限制，模型的上下文长度限制参考具体的大模型。
#### 系统提示词
系统提示词（System Prompt）是给大语言模型预设的指令，用于定义模型的角色、行为规则、约束条件等，引导模型生成特定的输出，提示词直接影响模型的输出，所以需要重点关注，提示词示例如下图：
图3系统提示词   
![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002694448911.png "点击放大")
另外，可通过在系统提示词里引用参数来参数化提示词（详见下文的参数配置），这样就可以在运行时通过参数来动态控制提示词的内容。
系统提示词最多支持10000个字符。
#### 参数
用于配置智能体在执行时额外需要的数据，在智能体里，参数主要用于丰富系统提示词，即系统提示词可以通过引用参数来动态调整，具体引用方式为{param}，参数示例如下图：
图4参数   
![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002706443195.png "点击放大")
#### 对话历史
- 对话历史开关用于控制智能体对话时是否携带历史对话消息，可视为智能体的短期记忆。开启该开关后，系统将当前对话中前几轮对话消息（轮数参考配置的对话消息数）作为上下文信息发送给大模型，供其推理时使用。
- 通常在一个对话中，若不关注前几轮对话内容，可不打开对话历史开关；若需关注，则需打开该开关。开启后，系统将对话历史消息发送给大模型，为其提供更多上下文信息。
- 对话历史消息最多支持当前对话中的最近10轮。
对话历史示例如下图：
图5对话历史   
![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002676683298.png "点击放大")
#### 技能
技能（也叫工具）在智能体中是大模型与外部世界交互的桥梁，有了工具就可以大幅延伸大模型的能力边界。
图6添加技能   
![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002676853982.png "点击放大")
当前智能体节点支持四种类型的技能：
- **工具**
  由"工具"模块提供的工具，主要是系统或用户自定义的API。
  
- **工作流和智能体**
  可以将智能应用里用户开发的工作流和智能体作为工具来使用，通过用户开发的工作流和智能体来解决用户业务问题，必须是发布上线（即生产部署）的工作流或智能体。
  
- **本体**
  - 本体对象类型搜索：查询本体对象及对象关系的结构定义，支持查看对象名称、属性、属性类型等Schema元信息。
  
  - 本体对象搜索：分页查询本体中的对象数据，支持检索目标对象实体，并可同时返回固定数量（100）的关联实体与关联对象实体的信息。
  
  - 本体关系搜索：分页查询指定对象的关联关系实体，以及关联关系两端的对象实体信息。
  
  - 本体数据查询：支持跨对象关联属性的分页查询，提供"汇总统计"与"明细列表"两种数据查询模式。
  
  - 本体动作执行：将本体动作封装为专用工具提供给大模型，可以让大模型通过推理来自主执行本体动作，从而对特定的本体数据进行增删改的操作。
   
- **知识湖**
  知识湖检索：将知识湖文档检索作为工具提供给大模型，让大模型可以自主查询检索知识湖文档，前提是用户已经在知识湖上传解析后的文档。
  
 
#### 开场白
开场白，是指对话时的道白，可以帮助或引导用户开始对话，主要是一些提示引导信息，用于帮助用户如何开始对话，比如"我是一个天气助手，请输入你要查询天气的城市"，示例如下图：
图7开场白   
![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002694448917.png "点击放大")
开场白最多支持1000个字符。
#### 引导问题
引导问题，是指智能体开发人员配置好的智能体应用预设问题，当用户在开始新的对话时，就会看到这些预设问题，用户可以直接单击某个预设问题来直接开始对话，此时被单击的预设问题就会当做用户的问题发给智能体，比如"查询北京今天的天气"，示例如下图：
图8引导问题   
![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002664728954.png "点击放大")
最多支持配置10个引导问题，每个引导问题最多支持1000个字符。
![](https://support.huaweicloud.com/usermanual-dataartsplatform/public_sys-resources/note_3.0-zh-cn.png)
1. 智能体的测试运行详见[测试运行](https://support.huaweicloud.com/usermanual-dataartsplatform/dataartsplatform_02_0028.html)章节。
2. 智能体的执行默认是以流式的方式执行。
3. 智能体应用执行的时候，默认会输出推理过程。
 
