AI个人学习
和实操指南
阿里绘蛙

支持数据库查询的Dify插件

综合介绍

dify-plugin-tools-dbquery 是一个专为 Dify 1.0 平台设计的开源插件,由开发者 junjiem 在 GitHub 上发布。它提供数据库查询功能,帮助用户在构建基于大语言模型(LLM)的应用时,从数据库中提取数据并结合 LLM 生成动态内容。该插件包含两个主要工具:Database Query Utils(数据库查询工具)和 Database Query Utils (Pre-authorization)(预授权数据库查询工具),适用于智能问答、数据分析助手等场景。插件支持通过 GitHub 安装,并提供离线打包选项,方便开发者在无网络环境下部署。

支持数据库查询的Dify插件-1


 

功能列表

  • 数据库查询工具:通过 SQL 查询从数据库检索数据,作为 LLM 的输入。
  • 预授权查询支持:提供预配置授权的查询功能,简化数据库访问流程。
  • 集成 Dify 平台:无缝嵌入 Dify 的工作流和智能体,增强应用的数据处理能力。
  • 开源与离线包支持:提供源代码和离线安装包,适配多种部署需求。
  • 动态数据生成:将查询结果输入 LLM,生成上下文相关的回答或分析。

 

使用帮助

安装流程

dify-plugin-tools-dbquery 的安装需要通过 GitHub 仓库或离线包完成,以下是详细步骤:

方法 1:通过 GitHub 安装

  1. 访问 GitHub 仓库
    打开浏览器,输入 https://github.com/junjiem/dify-plugin-tools-dbquery,进入项目页面。
  2. 进入 Dify 插件管理
    登录 Dify 平台,点击右上角“Plugins”进入插件管理页面,选择“通过 GitHub 安装”。
  3. 输入仓库信息
    在安装页面输入仓库地址:https://github.com/junjiem/dify-plugin-tools-dbquery,选择版本号和 .difypkg 文件(若无此文件需自行打包,见下文)。
  4. 解决签名验证问题
    若遇到“plugin verification has been enabled, and the plugin you want to install has a bad signature”错误,需修改 Dify 的 .env 文件:

    • 找到 .env 文件(通常在 Dify 部署目录下)。
    • 添加或修改:FORCE_VERIFYING_SIGNATURE=false
    • 重启 Dify 服务:
      docker-compose restart
      
    • 再次尝试安装。
  5. 完成安装
    点击“安装”,等待 Dify 下载并部署插件。

方法 2:打离线包并安装

若需在无网络环境下使用,可按官方说明打包离线包:

  1. 准备环境
    • 确保安装 Docker、Python 和 pip。
    • 下载 Dify Plugin CLI,选择适合系统的版本(如 dify-plugin-linux-amd64)。
  2. 克隆仓库
git clone https://github.com/junjiem/dify-plugin-tools-dbquery.git
cd dify-plugin-tools-dbquery/db_query
  1. 下载依赖
    执行以下命令将依赖保存到本地:
pip download -r requirements.txt -d ./wheels --index-url https://mirrors.aliyun.com/pypi/simple
sed -i '1i\--no-index --find-links=./wheels/' requirements.txt
  1. 打包离线包
    返回上级目录并打包:
cd ..
dify-plugin-linux-amd64 plugin package ./db_query
mv db_query.difypkg db_query-linux-amd64.difypkg

生成的 db_query-linux-amd64.difypkg 即为离线包。
5. 调整 Dify 配置
若插件大小超过 50MB(默认限制),需修改 .env

  • PLUGIN_MAX_PACKAGE_SIZE=524288000(500MB)
  • NGINX_CLIENT_MAX_BODY_SIZE=500M
  • 重启服务:
    docker-compose restart
    
  1. 上传安装
    在 Dify 插件管理页面选择“上传离线包”,选择 db_query-linux-amd64.difypkg 文件,完成安装。

操作主要功能

安装完成后,可通过以下步骤使用插件:

1. 配置数据库查询

  • 进入 Dify Studio
    在 Dify 平台的工作空间中,打开“Studio”,选择一个应用(如 Chatflow 或 Workflow)。
  • 添加查询工具
    在工作流编辑器中,点击“添加工具”,选择 Database Query Utils 或 Database Query Utils (Pre-authorization)
  • 设置查询参数
  • 对于普通查询工具,输入 SQL 语句,如:
SELECT name, age FROM users WHERE age > 18
  • 对于预授权工具,输入预配置的查询 ID 或直接使用默认查询。
  • 配置数据库连接(主机、端口、用户名、密码等),如:
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=yourpassword
  • 点击“测试”,确认返回数据正确。

2. 集成 LLM 输出

  • 连接工作流
    将查询工具的输出连接到 LLM 节点。查询结果将作为上下文输入,例如:
  • 输入问题:“哪些用户年龄超过 18 岁?”
  • 查询结果:[{"name": "张三", "age": 25}, {"name": "李四", "age": 30}]
  • LLM 输出:“张三(25 岁)和李四(30 岁)年龄超过 18 岁。”
  • 自定义提示词
    在 LLM 节点设置提示词:
根据以下数据回答问题:{{query_result}}

3. 示例应用

  • 场景:构建“战绩排行助手”。
  • 步骤
  1. 创建 Chatflow 应用。
  2. 添加 Database Query Utils,查询战绩表:
    SELECT player, score FROM leaderboard ORDER BY score DESC LIMIT 5
    
  3. 连接 LLM,提示词:
    列出前五名玩家的姓名和分数:{{query_result}}
    
  4. 用户提问:“谁是前五名?”
    输出:“前五名玩家是:张三(100 分)、李四(90 分)等。”

注意事项

  • 安全性:预授权工具需确保授权范围明确,避免数据泄露。
  • 性能优化:大数据查询时,添加 LIMIT 或索引提升效率。
  • 文档支持:若有疑问,参考 GitHub 的示例文件(如 .yml)或提交 Issue。

通过以上步骤,用户可快速上手 dify-plugin-tools-dbquery,实现数据库查询与 LLM 的高效结合。

CDN1
未经允许不得转载:首席AI分享圈 » 支持数据库查询的Dify插件

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文