sqlbot智能问数使用简介
sqlbot智能问数使用简介
sqlbot智能问数使用简介
基于v1.5.0版
简介
SQLBot 是一款基于大语言模型和 RAG 的智能问数系统,用户可以实现对话式数据分析(ChatBI),快速提炼获取所需的数据信息及可视化图表,并且支持进一步开展智能分析。
其核心目标是让业务人员、运营人员乃至管理层都能在没有SQL基础的情况下,也能够轻松与数据库进行对话,即时获取数据分析的结果。
git地址 https://github.com/dataease/SQLBot
使用
服务启动
1
2
3
4
5
6
7
8
9
10
11
docker run -d \
--name sqlbot \
--restart unless-stopped \
-p 8200:8000 \
-p 8201:8001 \
-e SERVER_IMAGE_HOST=http://127.0.0.1:8201/images/ \
-v ./data/sqlbot/excel:/opt/sqlbot/data/excel \
-v ./data/sqlbot/images:/opt/sqlbot/images \
-v ./data/sqlbot/logs:/opt/sqlbot/logs \
-v ./data/postgresql:/var/lib/postgresql/data \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/dataease/sqlbot:v1.5.0
注意,将SERVER_IMAGE_HOST项ip改为服务器的。
控制台访问
内部监听8000,目前映射为外部8200端口,url地址http://<服务器IP>:8200/,登录默认账号密码admin/SQLBot@123456
mcp调用
内部监听8001,目前映射为外部8201端口,参考 https://dataease.cn/sqlbot/v1/mcp_server/
1
2
3
4
5
6
{
"sqlbot_mcp": {
"url": "http://<your-server-ip>:8001/mcp", // 将 IP 替换为部署机器的地址和实际端口
"transport": "sse"
}
}
api调用
参考 https://dataease.cn/sqlbot/v1/faq/other/#2-sqlbot-api
- 完整的API接口列表可在SQLBot访问地址后追加
/docs进行查看,例如:https://your-sqlbot-domain/docs - 接口需要JWT Token鉴权
- 在系统配置,通过API Key页面获取对应的 Access Key 和 Secret Key,换出JWT Token
最佳实践
参考 https://dataease.cn/sqlbot/v1/best_practice/#sqlbot
提升SQLBot智能问数的准确性,是一个系统性配置业务上下文的过程。
- 数据源精简:剔除无关表,缩进范围提示准确率。
- 数据治理
- 数据库表设置字段别名和描述,越详细越好,方便从schema中获取并提供给大模型理解业务。
- 数据库表字典值转换。表设置字段描述,格式例:”枚举值:key1=字典1, key2=字典2”
- 手动定义表之间的连接关系,从而体现表的关联逻辑。
- 提供标准示例SQL:方便大模型理解学习和复用。
- 提供术语库:消除指标歧义和同义词等,方便大模型理解学习。
常见问题
- 参数配置:默认开启了限制1000行数据,会把
limit 1000加在生成的SQL最外层。某些场景可能会影响问数效果,按需关闭。 - AI模型配置:可以增加模型参数,结合实际场景做限制。
- temperature 温度,影响回答内容的创造性
- max_tokens 最大输出
- 对话异常错误码424:使用OneAPI代理模型,sqlbot报错日志内容
for chunk in sql_res:。建议先排查模型侧日志,一般原因是输入token超限,建议调整大模型配置参数maxSeqLen和maxInputTokenLen - 华为昇腾等非标准OpenAI大模型服务化接口接入:部署OneAPI网关做接口代理转发。
本文由作者按照 CC BY 4.0 进行授权
