Skip to main content

插件

插件定义

插件可以扩展 LLM 的能力,如联网搜索、科学计算或绘制图片,赋予并增强了 LLM 连接外部世界的能力。SenseFlow 提供了两种插件类型:第一方插件自定义插件

你可以直接使用 SenseFlow 生态提供的第一方内置插件,或者轻松导入自定义的 API 插件(目前支持 OpenAPI / Swagger规范)。

插件的作用

  1. 增强应用能力:插件使用户可以在 SenseFlow 上创建更强大的 AI 应用,如你可以为智能助理型应用(Agent)编排合适的插件,它可以通过任务推理、步骤拆解、调用插件完成复杂任务。

  2. 外部系统集成:方便将你的应用与其他系统或服务连接,与外部环境交互,如代码执行、对专属信息源的访问等。

第一方插件

插件分类

SenseFlow 目前已支持近百种插件,涵盖多个领域:

  • 搜索类插件:Google搜索、网页搜索、学术搜索等
  • 图像处理插件:Stable Diffusion、图像识别、图像编辑等
  • 生产力工具:邮件发送、文档处理、数据分析等
  • 开发工具:代码执行、API调用、数据库操作等
  • 社交媒体:微博、Twitter、社交平台集成等

第一方工具列表

使用第一方插件

可在"商店-插件广场"中使用第一方插件,具体插件描述详见"商店-插件广场"中的插件子页面。

Stable Diffusion插件描述

第一方插件授权

若你需要直接使用 SenseFlow 生态提供的第一方内置插件,你可能需要在使用前配置相应的凭据。

配置第一方插件凭据

授权步骤

  1. 在插件详情页面点击"去授权"按钮
  2. 填写所需的API密钥或其他凭据信息
  3. 点击"验证"按钮测试连接
  4. 验证成功后,凭据将自动保存

若"去授权"按钮消失,则说明凭据校验成功。配置凭据后,工作区中的所有成员都可以在创建应用时使用此插件。

插件已授权状态

创建自定义插件

创建流程

你可以通过"工作台-我的插件-创建插件"创建自定义插件,目前支持 OpenAPI / Swagger规范。

创建自定义插件

导入方式

  1. URL导入:提供OpenAPI schema的URL地址,系统自动拉取配置
  2. 手动粘贴:点击"从SenseFlow创建"并直接粘贴Schema内容

关于 OpenAPI / Swagger 规范,你可以查看官方文档说明

鉴权方式

插件目前支持两种鉴权方式:

  • 无鉴权:适用于公开API或内部测试
  • API Key:适用于需要身份验证的第三方服务

插件测试

在导入 Schema 内容后系统会主动解析文件内的参数,并可预览插件具体的参数、方法、路径。你也可以在此对插件参数进行测试。

自定义插件参数测试

插件管理

完成自定义插件创建之后,你可以在"工作台-我的插件"中浏览并编辑该插件,并在创建应用时使用。

已添加自定义插件

在应用中使用插件

目前,你可以在"工作台-我的应用-创建应用"中创建智能体工作流时,将已配置好凭据的插件在其中使用。

在智能体中使用插件

在创建智能体时,可以添加配置好凭据的第一方插件或自定义插件。

创建智能体时添加插件

以下图为例,在应用内添加google插件后,应用将在需要时自主调用插件,从google插件中查询信息,并将数据分析后完成与用户之间的对话。

应用在对话中完成插件调用回复问题

在工作流中使用插件

创建工作流时添加插件

以下图为例,在工作流中添加Arxiv插件,可以进行插件测试,调用Arxiv搜索论文信息。

在工作流中添加插件并测试

高级插件开发

快速接入工具

这里我们以 GoogleSearch 为例,介绍如何快速接入一个工具。

准备工具供应商 yaml

这个 yaml 将包含工具供应商的信息,包括供应商名称、图标、作者等详细信息,以帮助前端灵活展示。

我们需要在 core/tools/provider/builtin下创建一个google模块(文件夹),并创建google.yaml,名称必须与模块名称一致。

identity: # 工具供应商的基本信息
author: Dify # 作者
name: google # 名称,唯一,不允许和其他供应商重名
label: # 标签,用于前端展示
en_US: Google # 英文标签
zh_Hans: Google # 中文标签
description: # 描述,用于前端展示
en_US: Google # 英文描述
zh_Hans: Google # 中文描述
icon: icon.svg # 图标,需要放置在当前模块的_assets文件夹下

准备供应商凭据

Google 作为一个第三方工具,使用了 SerpApi 提供的 API,而 SerpApi 需要一个 API Key 才能使用,那么就意味着这个工具需要一个凭据才可以使用。

identity:
author: Dify
name: google
label:
en_US: Google
zh_Hans: Google
description:
en_US: Google
zh_Hans: Google
icon: icon.svg
credentials_for_provider: # 凭据字段
serpapi_api_key: # 凭据字段名称
type: secret-input # 凭据字段类型
required: true # 是否必填
label: # 凭据字段标签
en_US: SerpApi API key # 英文标签
zh_Hans: SerpApi API key # 中文标签
placeholder: # 凭据字段占位符
en_US: Please input your SerpApi API key # 英文占位符
zh_Hans: 请输入你的 SerpApi API key # 中文占位符
help: # 凭据字段帮助文本
en_US: Get your SerpApi API key from SerpApi # 英文帮助文本
zh_Hans: 从 SerpApi 获取你的 SerpApi API key # 中文帮助文本
url: https://serpapi.com/manage-api-key # 凭据字段帮助链接

插件最佳实践

设计原则

  1. 功能单一:每个插件应专注于解决特定的问题
  2. 接口简洁:提供简单易用的API接口
  3. 错误处理:完善的错误处理和用户友好的错误信息
  4. 文档完善:提供详细的使用文档和示例

性能优化

  1. 缓存机制:对频繁调用的接口实现缓存
  2. 异步处理:对耗时操作使用异步处理
  3. 资源限制:设置合理的请求频率和超时时间
  4. 错误重试:实现智能重试机制

安全考虑

  1. 输入验证:对所有输入参数进行严格验证
  2. 权限控制:实现细粒度的权限控制
  3. 数据保护:保护用户数据和隐私
  4. 审计日志:记录插件使用情况和异常事件

插件管理与维护

版本管理

  1. 版本控制:使用语义化版本号管理插件版本
  2. 向后兼容:确保新版本与旧版本的兼容性
  3. 升级策略:提供平滑的升级路径
  4. 回滚机制:支持快速回滚到稳定版本

监控与调试

  1. 性能监控:监控插件的响应时间和成功率
  2. 日志记录:详细记录插件的执行日志
  3. 错误追踪:及时发现和处理插件错误
  4. 使用统计:分析插件的使用情况和用户反馈

社区与生态

  1. 插件分享:支持插件的分享和复用
  2. 评价系统:建立插件评价和反馈机制
  3. 开发者支持:提供插件开发的技术支持
  4. 生态建设:构建活跃的插件开发者社区

通过插件系统,SenseFlow为开发者提供了强大的扩展能力,使智能应用能够连接更广泛的外部服务和工具,创造出更丰富的应用场景和用户体验。


下一步了解应用发布功能