
# 插件介绍
#### 什么是插件
在Agent（智能体）中**插件**是大语言模型（LLM）与外部世界交互的一系列工具。
尽管LLM具备强大的自然语言处理与推理能力，但其本质是基于训练数据的静态系统，存在两大局限：
- **信息滞后：**无法获取训练截止日期之后的实时信息。
- **行动力缺失：**无法直接与现实世界的软件或硬件系统交互（如读写数据库、发送请求）。
插件的引入，使Agent具备了实时信息检索、外部任务执行的能力，是Agent从"对话系统"向"任务解决系统"演进的关键模块。
在AgentArts智能体开发平台中，提供了丰富的预置插件，包括天气查询、热搜查询、文档生成、出行旅游等插件。例如，在您的Agent中添加天气查询插件，可以获取查询实时天气的能力。
当官方插件无法满足特定业务需求时，您可以自主创建插件。根据实现机制与运行形态的不同，自定义插件主要分为"API类型插件"和"函数类型插件"两种形态。
#### 插件分类、形态
AgentArts智能体开发平台中提供丰富的插件资源，除预置的官方插件外，服务支持用户自定义插件，可以将API、函数代码的能力通过插件形式引入Agent。
表1插件分类、形态 
| 插件分类        | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|
| 官方预置插件      | 由AgentArts智能体开发平台上架到"资产广场"的官方插件，由AgentArts提供技术支持和维护。 官方预置插件分为无需鉴权和需鉴权两类： - 无需鉴权：直接在Agent中添加插件即可使用。  - 需鉴权：填写API Key鉴权信息进行认证后，可直接使用。                                                                                                                                                                                                                                                                                                                                                                           |
| 自定义-API类型插件 | API类型插件是将现有的RESTful API（HTTP/HTTPS接口）封装为Agent可调用的工具。它可以让Agent把理解到的指令转化为实际的API请求，直接调用外部系统完成任务。 - 运行位置：实际的业务逻辑在外部API服务器（如企业的后端服务器、第三方功能平台）上运行。Agent充当客户端发起请求，并接收API返回的响应。  - 适用场景 - 数据检索：从外部数据库或服务获取实时数据（如天气查询、网络搜索、新闻查询）。  - 状态变更：在外部系统中执行提交、变更类操作。  - 复杂业务逻辑处理：利用已有的成熟后端服务处理庞大的业务流程。     |
| 自定义-函数类型插件  | 函数类型插件是指直接在AgentArts智能体开发平台中编写并运行的一段代码脚本（Python3.9或Node.js14.18脚本），它不依赖外部服务器，而是利用平台提供的算力即时执行。 - 运行位置：在AgentArts智能体开发平台提供的沙箱环境中运行。  - 适用场景：由于代码逻辑是固定的，输入确定则输出必然确定。因此适用于数值计算、数据清洗、文本处理这类场景。                                                                                                                                                                                                                                                                                                                                                         |
   
#### 插件与工具
在AgentArts智能体开发平台中，理解插件与工具的从属关系是成功创建插件的前提，可以通过以下"文字识别"插件协助进行直观的理解。
 表2文字识别插件示例 
| 插件名称   | 工具名称   | API接口地址                                                  |
|:---|:---|:---|
| 文字识别插件 | 通用文字识别 | https://{endpoint}/v2/{project_id}/ocr/**general-text**  |
| 文字识别插件 | 通用表格识别 | https://{endpoint}/v2/{project_id}/ocr/**general-table** |
| 文字识别插件 | 手写文字识别 | https://{endpoint}/v2/{project_id}/ocr/**handwriting**   |
   
**插件**：是集成了一个或者多个工具的功能集合，他定义了这些工具共用的基础属性（如服务域名、鉴权方式）。
**工具**：是插件内具体的执行单元，每个工具对应一个独立的功能，负责完成一项具体的单一任务。
AgentArts智能体开发平台支持自定义插件的开发与创建。在配置规则中，要求同一插件下的工具需要具备同类功能。
以[表2]为例，https://{endpoint}/v2/{project_id}/ocr是所有接口的根基，他定义了插件的连接目标（由服务域名+基准URL构成）；/**general-text**这类后缀是各工具独有的"路径"，他区分了插件内的不同能力。
图1API与插件关系示例   
![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002569345225.png)
在执行层面，Agent并不直接"运行插件"，而是调用插件内某一特定工具。当Agent需要做"表格图片提取文字"任务，他会定位到"文字识别插件"，然后精准的调用其中的"通用表格识别工具"，这本质上是向.../ocr/general-table接口发起了一次请求。
图2插件与工具关系示例   
![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002569425201.png)
