SQLBot
综合介绍
SQLBot 是一款基于大模型和检索增强生成(RAG)技术的智能数据查询系统,旨在将自然语言转化为 SQL 查询语句,帮助用户快速从数据库中获取数据。它支持开箱即用的配置,只需简单设置大模型和数据源即可使用。SQLBot 提供易于集成的接口,适配多种第三方业务系统和 AI 应用开发平台,如 n8n、MaxKB、Dify 和 Coze。此外,它通过工作空间隔离和细粒度权限控制确保数据安全。SQLBot 由飞致云(FIT2CLOUD)开发,遵循开源协议,适合企业和开发者用于数据分析和业务系统集成。
功能列表
- 自然语言转 SQL:用户输入自然语言问题,SQLBot 自动生成对应的 SQL 查询语句。
- 支持多种数据源:兼容主流数据库,如 MySQL、PostgreSQL 等,连接配置简单。
- RAG 技术增强:结合检索增强生成技术,提升 SQL 生成的准确性和效率。
- 工作空间隔离:通过工作空间机制实现数据资源隔离,保障数据安全。
- 细粒度权限控制:支持用户级别的权限管理,限制数据访问范围。
- 快速集成:提供 API 和插件,支持嵌入第三方系统或 AI 平台。
- 开箱即用:一键部署脚本,快速启动服务,无需复杂配置。
- 多平台支持:可通过 1Panel 应用商店快速部署,简化安装流程。
使用帮助
安装部署
SQLBot 的部署非常简单,适合在 Linux 服务器上运行。以下是详细的安装步骤:
- 环境准备确保服务器已安装 Docker 和 Docker Compose。可以通过以下命令检查:
docker --version docker compose version
如果未安装,可参考 Docker 官方文档进行安装。
- 下载和部署执行以下命令一键部署 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,选择一键安装,省去手动配置步骤。
- 访问系统部署完成后,在浏览器中输入以下地址访问 SQLBot:
http://<你的服务器IP>:8000/
使用默认管理员账户登录:
- 用户名:
admin
- 密码:
SQLBot@123456
首次登录后,建议修改默认密码以确保安全。
- 用户名:
- 配置数据源登录系统后,进入管理界面,按照以下步骤配置数据源:
- 点击“数据源管理”模块,添加数据库连接信息(如 MySQL、PostgreSQL)。
- 输入数据库地址、端口、用户名和密码,测试连接是否成功。
- 保存配置,SQLBot 将自动识别数据库结构。
- 配置大模型SQLBot 依赖大模型来实现 text2sql 功能。用户需在设置页面配置大模型的 API 密钥:
- 支持主流大模型,如 OpenAI、Grok 或其他开源模型。
- 输入 API 密钥和模型地址,保存后系统将自动调用模型处理查询。
- 使用智能问数SQLBot 的核心功能是将自然语言转化为 SQL 查询。操作步骤如下:
- 进入“问数”界面,输入自然语言问题,例如“显示过去一周的销售总额”。
- 系统通过 RAG 技术分析问题,结合数据库结构生成 SQL 语句。
- 用户可预览生成的 SQL,确认无误后执行查询,查看结果。
- 支持将查询结果导出为 CSV 或 Excel 文件。
- 权限管理SQLBot 提供细粒度的权限控制,适合团队协作:
- 在“工作空间管理”中创建独立的工作空间,分配给不同用户或团队。
- 设置数据表访问权限,限制用户只能查询特定表或字段。
- 管理员可通过“用户管理”模块添加用户并分配角色。
- 集成第三方系统SQLBot 支持通过 API 或插件集成到其他平台:
- 获取 API 文档(位于官方 GitHub 仓库),配置 webhook 或 RESTful 接口。
- 在 n8n、Dify 等平台中添加 SQLBot 插件,按照提示输入服务器地址和密钥。
- 测试集成效果,确保第三方系统能调用 SQLBot 的查询功能。
- 常见问题排查
- 服务无法启动:检查 Docker 是否正常运行,确认
docker-compose.yaml
文件无误。 - 数据库连接失败:确保数据库地址和凭证正确,检查防火墙是否阻止连接。
- SQL 生成不准确:检查大模型配置是否正确,或更新数据库 schema 信息。如需进一步帮助,可加入 SQLBot 官方技术交流群(二维码见 GitHub 页面)。
- 服务无法启动:检查 Docker 是否正常运行,确认
注意事项
- 定期更新 SQLBot 以获取最新功能和安全补丁。
- 确保服务器网络稳定,避免查询中断。
- 在生产环境中,建议使用 HTTPS 配置以增强安全性。
应用场景
- 企业数据分析企业员工无需掌握 SQL 技能,通过自然语言查询销售、库存等数据,快速生成报表,提高决策效率。
- 业务系统集成将 SQLBot 嵌入 CRM 或 ERP 系统,用户直接在业务平台中用自然语言查询数据,提升系统智能化水平。
- 开发者和 AI 平台开发者通过 SQLBot 的 API 或插件,将智能问数功能集成到 n8n、Dify 等 AI 平台,快速开发数据驱动应用。
- 数据权限管理大型团队通过工作空间隔离和权限控制,确保敏感数据安全,适合金融、医疗等行业。
- 快速原型开发数据分析师或产品经理使用 SQLBot 快速验证数据查询需求,缩短开发周期。
QA
- SQLBot 支持哪些数据库?SQLBot 支持主流关系型数据库,包括 MySQL、PostgreSQL、SQL Server 等,具体支持列表可参考官方文档。
- 是否需要大模型 API?是的,SQLBot 依赖大模型来实现 text2sql 功能,用户需提供有效的 API 密钥。
- 如何保证数据安全?SQLBot 提供工作空间隔离和细粒度权限控制,确保用户只能访问授权数据。
- 是否支持云部署?是的,SQLBot 支持通过 Docker 在云服务器上部署,也可通过 1Panel 快速安装。
- 如何处理复杂查询?SQLBot 结合 RAG 技术优化复杂查询的生成,建议用户提供清晰的自然语言描述以提高准确性。