SQLBot(ChatBI):基于大语言模型和RAG的智能数据分析工具-全流程操作指南
SQLBot 是一款基于大语言模型(Large Language Model,LLM)和 RAG(Retrieval Augmented Generation,检索增强生成)的智能问数系统。借助 SQLBot,用户可以实现数据的即问即答,快速提炼获取所需的数据信息及可视化图表,并且支持进一步开展智能分析。【数据源】用来管理各类数据连接信息,是后续的智能问数和数据分析中数据的来源。新建/填加数据源:
简介
SQLBot 是一款基于大语言模型(Large Language Model,LLM)和 RAG(Retrieval Augmented Generation,检索增强生成)的智能问数系统。借助 SQLBot,用户可以实现数据的即问即答,快速提炼获取所需的数据信息及可视化图表,并且支持进一步开展智能分析。
SQLBot 的优势
- 开箱即用: 只需配置大模型和数据源即可开启问数之旅,通过大模型和 RAG 的结合来实现高质量的 text2sql
- 易于集成: 支持快速嵌入到第三方业务系统,也支持被 n8n、MaxKB、Dify、Coze 等 AI 应用开发平台集成调用,让各类应用快速拥有智能问数能力;
- 安全可控: 提供基于工作空间的资源隔离机制,能够实现细粒度的数据权限控制。
系统架构
SQLBot 整体技术架构如下图所示:
用户提出问题之后,从数据库中获取表结构作为提示词发送给大语言模型,大模型将问题转换为 SQL 语句查询数据库中的数据,然后大模型基于结果和用户的需求整理生成表格和图表。
主要功能
- 提问分析:用户聊天对话方式提问,大模型解析问题意图,结合所选数据源生成图表与分析。
- 深度探索:在获得基础图表结果后,进一步进行分析、解释、验证和预测,支持更强的业务决策支持。
- 数据管理:支持用户配置、管理多种类型的数据源和数据表,支持按需配置和管理。
- 看板搭建:将多个问数对话生成的图表统一布局,构建成适用于汇报、监控或展示的仪表板。
下载安装
在线安装
支持多种安装方式,使用 Docker Compose 进行部署的命令如下:
# 创建目录
mkdir sqlbot
cd sqlbot
# 下载 docker-compose.yaml
curl -o docker-compose.yaml https://raw.githubusercontent.com/dataease/SQLBot/main/docker-compose.yaml
# 启动服务
docker compose up -d
离线安装
从git或社区下载安装包,以 root 用户通过 ssh 协议登录到部署服务器, 对安装包进行解压:
tar -zxvf sqlbot-v1.0.0-x86_64-offline-installer.tar.gz
设置安装参数(可选)
SQLBot 安装目录、服务运行端口、数据库配置等信息可在安装包解压后中的 install.conf 文件进行配置。
# 基础配置
## 安装目录
SQLBOT_BASE=/opt
## SQLBot 端口
SQLBOT_WEB_PORT=8000
SQLBOT_MCP_PORT=8001
# 数据库配置
## 是否使用外部数据库
SQLBOT_EXTERNAL_DB=false
## 数据库地址
SQLBOT_DB_HOST=sqlbot-db
## 数据库端口 (仅使用外部数据库时才生效)
SQLBOT_DB_PORT=5432
## SQLBot 数据库库名
SQLBOT_DB_DB=sqlbot
## 数据库用户名
SQLBOT_DB_USER=root
## 数据库密码,密码如包含特殊字符,请用双引号引起来,例如 SQLBOT_DB_PASSWORD="Test@4&^%*^"
SQLBOT_DB_PASSWORD=Password123@pg
# 其他配置
## 普通用户默认密码
SQLBOT_DEFAULT_PWD=SQLBot@123456
## SQLBot Secret Key
SQLBOT_SECRET_KEY=y5txe1mRmS_JpOrUzFzHEu-kIQn3lf7ll0AOv9DQh0s
## Cross-Origin Resource Sharing (CORS) 设置
SQLBOT_CORS_ORIGINS=http://localhost,http://localhost:5173,https://localhost,https://localhost:5173
## 日志级别 DEBUG, INFO, WARNING, ERROR
SQLBOT_LOG_LEVEL="INFO"
## 缓存类型
SQLBOT_CACHE_TYPE="memory"
## MCP 图片存储路径
SQLBOT_SERVER_IMAGE_HOST=https://YOUR_SERVER_IP:MCP_PORT/images/
执行安装脚本
# 进入安装包解压缩后目录
cd sqlbot-v1.0.0-x86_64-offline-installer
# 执行安装命令
bash install.sh
启动服务之后,在浏览器中打开以下地址:http://<主机IP>:8000/。
默认的用户名和密码分别是:admin 和 SQLBot@123456。
SQLBot 主界面导航栏包含四大核心模块:【智能问数】、【数据源】、【仪表板】和【设置】。
在使用智能问数和其他功能之前,还需要进行 AI 大模型和数据源的配置。官方文档提供了详细的介绍,配置过程也非常简单:
https://dataease.cn/sqlbot/v1/quick_start/
搭建全流程详解
一、配置 AI 模型
以 admin 用户登录后,进入【系统管理】→【AI 模型配置】,点击【添加模型】选择模型供应商,填写模型相关参数后点击【保存】。如有多个模型,可设置默认使用的模型。
二、管理数据源、提供数据和表结构
1、功能概述
【数据源】用来管理各类数据连接信息,是后续的智能问数和数据分析中数据的来源。 在数据源管理页面中,提供如下核心功能:
- 新建/填加数据源:点击右上角绿色按钮可新建数据源,支持多种类型;
- 数据源搜索:顶部搜索框支持按名称关键字快速查找数据源;
- 数据源类型筛选:下拉选择筛选当前展示的数据源类型(如 MySQL、Oracle 等);
- 数据源操作:点击数据源卡片右下角,可进行编辑或删除操作;
- 开启智能问数:对数据源可直接点击按钮启用;
2、支持的数据源类型
- OLTP 型数据库: MySQL、SQL Server、Oracle、PostgreSQL
- 数据文件: Excel/CSV
3、数据源预览与字段结构
点击某个数据源卡片可进入该数据源详情页面。 在左侧展示该数据源下的所有数据表,可查看字段结构,包括字段名称、字段类型、备注信息及启用状态。
例如,点击"生产制造销售数据"数据源下的sales_summary_table
表,可以查看该表的字段结构:
-
中心经度、中心纬度(类型:double)
-
产品状态、区域、市场名(类型:varchar)
-
出货量、年度计划、月度目标(类型:int)
字段支持按需启用或禁用,后续智能问数时仅识别已启用字段。
三、智能问数、关联数据源
1、功能概述
智能问数是 SQLBot 的核心功能模块,支持用户通过自然语言与大模型对话,自动生成图表展示和分析结果。
提供如下核心能力:
- 自然语言提问:无需 SQL 基础,可直接自然语言提问;【猜你想问】提供智能推荐,降低提问门槛;
- 图表自动生成:模型根据问题意图智能选择合适图表类型(如柱状图、折线图、表格等);
- 图表使用与管理:支持图表类型切换、放大、导出为图片,或添加至仪表板;
- 数据明细查看与导出:所有图表支持查看数据明细与导出;
- SQL 查询可见:每次问数均自动生成对应 SQL 查询语句,支持查看与复制;
- 多轮上下文理解:支持连续提问,自动记忆上下文,实现更自然的分析过程;
- 历史对话记录:支持查看、重命名、搜索、删除过往对话,便于复用与追溯分析。
使用前提:需先完成 AI 模型配置,并添加至少一个可用数据源可发起问数操作。
2、创建与管理对话
2.1 创建对话
点击【序号 1】 、【序号 2】位置新建对话。
新建对话步骤:
- 点击新建对话的按钮;
- 选择一个数据源;
- 点击【确认】,进入下一步。
2.1.1 快捷提问
系统将基于当前所选数据源的结构、字段信息,以及用户历史的问数行为,自动生成推荐问题。用户可直接点击推荐问题,一键发起问数操作,快速获得分析结果。
在每轮提问完成后,系统还会根据上下文内容生成【追加提问建议】,帮助用户持续追问、挖掘更深层的数据洞察
2.1.2 手动提问
支持用户直接输入业务问题,系统将自动解析语义、识别字段,并返回图表与 SQL 查询结果。支持多轮连续提问。
示例提问:
- “近一周各品类的订单量趋势”
- “哪个渠道的转化率最高?”
- “相比上周增长最快的部门是哪个?”
2.2 历史对话
左侧对话栏展示用户全部历史提问记录。支持以下操作:
- 搜索关键词快速定位;
- 修改对话标题;
- 删除不再需要的对话记录;
点击任意历史对话卡片,可回溯原始问答内容、图表与 SQL。支持基于历史对话继续追问,延续上下文分析链路。
3、图表操作与分析
3.1 图表类型切换
系统会根据提问内容自动生成适配图表类型。用户也可根据分析需求切换为柱状图、折线图、表格、饼图等。
注意:可选图表类型取决于当前数据结构。
所有图表支持如下操作:
- 放大查看:查看高清图表;
- 导出图片:支持导出 PNG 图片,用于汇报与分享.
3.2 查看明细数据
点击图表右上方的【查看明细数据】,可查看数据表格,并支持导出为 Excel 文件,便于离线分析或共享。
3.3 查看 SQL
系统每次问数自动生成底层 SQL 查询语句,点击图表右上角【查看 SQL】可查看、复制 SQL,用于验证逻辑或做进一步分析。
3.4 数据分析
点击图表的【数据分析】按钮,系统将基于当前图表数据,调用大模型自动进行趋势分析与业务解读。
系统向大模型发送分析请求,模型返回详细的分析过程与结论,包括关键趋势描述、变化原因推测、可能的业务含义等。
3.4 数据预测
点击图表的【数据预测】按钮,系统将基于当前图表中的时间序列数据(如月份、季度等),自动识别趋势并预测未来的关键指标值。
模型会进行如下操作:
- 分析时间序列数据的波动趋势与变化规律;
- 自动选择适用的预测方法(如移动平均、趋势外推等);
- 输出未来一段时间的预测值及预测逻辑说明;
- 保留原始数据结构,方便接入下游分析流程。
四、仪表板
1 仪表板概述
仪表板功能支持将【智能问数】生成的图表进行二次整理与展示,帮助用户搭建场景化的分析视图。
用户可通过拖拽、自定义布局、添加说明等方式,将零散的分析结果转化为结构化的数据看板,便于复用、协作和汇报。
2 新建仪表板
在【仪表板】页面,点击右上角的 新建仪表板。
3 编辑仪表板
进入仪表板编辑界面,进行以下操作:
-
支持添加图表、富文本、标签页等组件;
-
支持拖拽调整布局、实时预览。
4 仪表板管理
支持对已创建的仪表板进行查找、排序、重命名与删除操作。
仪表板删除后将不可恢复,请在确认无共享需求或无重要数据后再执行删除操作。
五、嵌入式管理
1 功能概述
SQLBot 支持通过【小助手】的方式将智能问数能力嵌入到外部系统页面中,用户可直接在嵌入页面中,通过自然语言提问并获取基于业务数据的实时分析结果。
2 应用类型与配置
系统提供【基础应用】与【高级应用】两类嵌入模式,满足从快速部署到精细权限管控的不同集成需求。
2.1 基础应用
基础应用支持快速嵌入 SQLBot 功能:
-
免后端对接:无需业务系统提供接口;
-
数据权限设置简单:通过配置“公共数据源”或“私有数据源”进行资源隔离;
适用场景:数据权限要求不高的页面,如运营看板、知识库、内网主页等。
2.2 高级应用
高级应用适用于数据权限需由业务系统严格控制的复杂场景:
接入模式:SQLBot 向业务系统传递用户标识,业务系统返回用户可访问的数据源列表;
适用场景:企业管理系统、客户门户、需要按用户数据隔离的 B2B 系统等。
在接口地址配置完成后,点击【添加接口凭证】,进入如下配置窗口。
配置流程:
-
输入接口 URL:用于配置外部系统提供的接口地址。通过接口获取数据源信息、表的元数据信息、数据的过滤规则和虚拟表信息等。
-
添加接口凭证:
-
凭证名称:自定义命名,用于标识该凭证,方便后续管理和使用。
-
源系统凭证类型:获取目标系统认证信息的方式,如localstorage、custom、cookie 等,用于接口调用时的身份认证。
-
目标凭证名称:目标系统中认证信息的名称,例如 "sessionId" 等。
-
目标凭证位置:获取的认证信息在请求中的放置的位置,如 Header、Cookie、Param。
-
目标凭证:具体的凭证值,填写后系统会根据配置在请求时自动带上,一般无需填写,系统自动按类型获取。
-
2.3 嵌入代码获取
每个应用创建成功后,系统会自动生成可嵌入前端的 JavaScript 代码:
-
标准嵌入代码:供业务系统开发者将问数小助手嵌入至目标页面;
-
浏览器测试代码:支持在浏览器控制台快速运行测试,验证集成效果。
3 应用管理功能
在应用上点击【编辑】按钮,可进入应用详情页,修改名称、描述、跨域设置、数据源配置等内容。保存后立即生效。
点击【删除】按钮后,系统将弹出确认框。确认后,该应用将被彻底移除,嵌入代码失效。
在页面右上角的搜索栏中输入应用名称关键词,系统将筛选展示符合条件的应用,支持快速定位和管理。
至此就完成了所有配置,可以在各种页面中嵌入使用了。
总结
SQLBot 打破了数据与业务人员之间的技术壁垒,允许任何业务人员(如运营、市场、产品经理等)无需学习复杂的 SQL 语法和了解底层数据库结构,只需用自然语言提出问题,就能快速、准确地获取他们想要的数据和分析结果。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)