SQLBot
扫码查看

基于大模型的智能数据查询工具

SQLBot

综合介绍

SQLBot 是一款基于大模型和检索增强生成(RAG)技术的智能数据查询系统,旨在将自然语言转化为 SQL 查询语句,帮助用户快速从数据库中获取数据。它支持开箱即用的配置,只需简单设置大模型和数据源即可使用。SQLBot 提供易于集成的接口,适配多种第三方业务系统和 AI 应用开发平台,如 n8n、MaxKB、Dify 和 Coze。此外,它通过工作空间隔离和细粒度权限控制确保数据安全。SQLBot 由飞致云(FIT2CLOUD)开发,遵循开源协议,适合企业和开发者用于数据分析和业务系统集成。

功能列表

  • 自然语言转 SQL:用户输入自然语言问题,SQLBot 自动生成对应的 SQL 查询语句。
  • 支持多种数据源:兼容主流数据库,如 MySQL、PostgreSQL 等,连接配置简单。
  • RAG 技术增强:结合检索增强生成技术,提升 SQL 生成的准确性和效率。
  • 工作空间隔离:通过工作空间机制实现数据资源隔离,保障数据安全。
  • 细粒度权限控制:支持用户级别的权限管理,限制数据访问范围。
  • 快速集成:提供 API 和插件,支持嵌入第三方系统或 AI 平台。
  • 开箱即用:一键部署脚本,快速启动服务,无需复杂配置。
  • 多平台支持:可通过 1Panel 应用商店快速部署,简化安装流程。

使用帮助

安装部署

SQLBot 的部署非常简单,适合在 Linux 服务器上运行。以下是详细的安装步骤:

  1. 环境准备确保服务器已安装 Docker 和 Docker Compose。可以通过以下命令检查:
    docker --version
    docker compose version
    

    如果未安装,可参考 Docker 官方文档进行安装。

  2. 下载和部署执行以下命令一键部署 SQLBot:
    # 创建安装目录
    mkdir -p /opt/sqlbot
    cd /opt/sqlbot
    # 下载配置文件
    curl -o docker-compose.yaml https://raw.githubusercontent.com/dataease/SQLBot/main/docker-compose.yaml
    # 启动服务
    docker compose up -d
    

    命令执行后,SQLBot 将在后台运行。也可以通过 1Panel 应用商店 搜索 SQLBot,选择一键安装,省去手动配置步骤。

  3. 访问系统部署完成后,在浏览器中输入以下地址访问 SQLBot:
    http://<你的服务器IP>:8000/
    

    使用默认管理员账户登录:

    • 用户名:admin
    • 密码:SQLBot@123456首次登录后,建议修改默认密码以确保安全。
  4. 配置数据源登录系统后,进入管理界面,按照以下步骤配置数据源:
    • 点击“数据源管理”模块,添加数据库连接信息(如 MySQL、PostgreSQL)。
    • 输入数据库地址、端口、用户名和密码,测试连接是否成功。
    • 保存配置,SQLBot 将自动识别数据库结构。
  5. 配置大模型SQLBot 依赖大模型来实现 text2sql 功能。用户需在设置页面配置大模型的 API 密钥:
    • 支持主流大模型,如 OpenAI、Grok 或其他开源模型。
    • 输入 API 密钥和模型地址,保存后系统将自动调用模型处理查询。
  6. 使用智能问数SQLBot 的核心功能是将自然语言转化为 SQL 查询。操作步骤如下:
    • 进入“问数”界面,输入自然语言问题,例如“显示过去一周的销售总额”。
    • 系统通过 RAG 技术分析问题,结合数据库结构生成 SQL 语句。
    • 用户可预览生成的 SQL,确认无误后执行查询,查看结果。
    • 支持将查询结果导出为 CSV 或 Excel 文件。
  7. 权限管理SQLBot 提供细粒度的权限控制,适合团队协作:
    • 在“工作空间管理”中创建独立的工作空间,分配给不同用户或团队。
    • 设置数据表访问权限,限制用户只能查询特定表或字段。
    • 管理员可通过“用户管理”模块添加用户并分配角色。
  8. 集成第三方系统SQLBot 支持通过 API 或插件集成到其他平台:
    • 获取 API 文档(位于官方 GitHub 仓库),配置 webhook 或 RESTful 接口。
    • 在 n8n、Dify 等平台中添加 SQLBot 插件,按照提示输入服务器地址和密钥。
    • 测试集成效果,确保第三方系统能调用 SQLBot 的查询功能。
  9. 常见问题排查
    • 服务无法启动:检查 Docker 是否正常运行,确认 docker-compose.yaml 文件无误。
    • 数据库连接失败:确保数据库地址和凭证正确,检查防火墙是否阻止连接。
    • SQL 生成不准确:检查大模型配置是否正确,或更新数据库 schema 信息。如需进一步帮助,可加入 SQLBot 官方技术交流群(二维码见 GitHub 页面)。

注意事项

  • 定期更新 SQLBot 以获取最新功能和安全补丁。
  • 确保服务器网络稳定,避免查询中断。
  • 在生产环境中,建议使用 HTTPS 配置以增强安全性。

应用场景

  1. 企业数据分析企业员工无需掌握 SQL 技能,通过自然语言查询销售、库存等数据,快速生成报表,提高决策效率。
  2. 业务系统集成将 SQLBot 嵌入 CRM 或 ERP 系统,用户直接在业务平台中用自然语言查询数据,提升系统智能化水平。
  3. 开发者和 AI 平台开发者通过 SQLBot 的 API 或插件,将智能问数功能集成到 n8n、Dify 等 AI 平台,快速开发数据驱动应用。
  4. 数据权限管理大型团队通过工作空间隔离和权限控制,确保敏感数据安全,适合金融、医疗等行业。
  5. 快速原型开发数据分析师或产品经理使用 SQLBot 快速验证数据查询需求,缩短开发周期。

QA

  1. SQLBot 支持哪些数据库?SQLBot 支持主流关系型数据库,包括 MySQL、PostgreSQL、SQL Server 等,具体支持列表可参考官方文档。
  2. 是否需要大模型 API?是的,SQLBot 依赖大模型来实现 text2sql 功能,用户需提供有效的 API 密钥。
  3. 如何保证数据安全?SQLBot 提供工作空间隔离和细粒度权限控制,确保用户只能访问授权数据。
  4. 是否支持云部署?是的,SQLBot 支持通过 Docker 在云服务器上部署,也可通过 1Panel 快速安装。
  5. 如何处理复杂查询?SQLBot 结合 RAG 技术优化复杂查询的生成,建议用户提供清晰的自然语言描述以提高准确性。
微信微博Email复制链接