DMS Data Copilot是DMS基于阿里云大模型构建的数据智能助手。其结合了DMS熟练的数据管理和数据使用能力,可帮助开发、运维、产品、运营、分析师和数据库管理员,更高效、规范地使用和管理数据。本文为您介绍如何使用Data Copilot。
公测说明
目前Data Copilot功能处于全网公测阶段,公测期间模型资源免费使用。如有任何疑问,请加入钉钉群(群号:44962304)联系DMS技术支持。
为提高Copilot回答问题的准确率,DMS需要获取数据库实例的元数据信息(不会获取实际数据),因此需要您为实例开启安全托管。
使用限制
Data Copilot基于元数据构建prompt,由于模型的限制,当数据库数据过多时,Copilot仅会对一部分元数据(表、字段)进行采样,可能会忽略一些信息。
因此,Copilot在大型数据库中的效果可能不如在小型数据库中表现得出色。
Data Copilot通过表、列的命名及注释理解数据库,因此,规范的表、列命名及完整的注释可以提高返回结果的准确率。
免费体验Copilot
阿里云提供了数据库解决方案DB+AI体验馆,您无需购买任何资源,即可在线体验DMS Data Copilot的NL2SQL和图表推荐功能,带您真实体验DMS产品智能服务能力。具体操作,请参见免费体验ChatBI on DMS智能问数。
在SQL窗口使用Copilot
前提条件
已为实例开启安全托管。
具有目标数据库的查询权限。查看权限操作,请参见查看我的权限。
使用入口
- 登录数据管理DMS 5.0。
单击控制台左上角的
图标,选择 。
说明若您使用的是非极简模式的控制台,在顶部菜单栏中,选择
。在请先选择数据库对话框中,搜索并选择数据库,单击确认。
在页面上方单击
,开始使用Copilot。Copilot功能演示,请参见Copilot功能演示。
Copilot将在当前数据库的所有表作用域内进行查找。
Copilot功能演示
生成SQL
在SQL Console使用智能小程序生成SQL
在SQL Console界面输入注释后,按下Enter,便可以直接触发智能小程序生成SQL语句。
注释格式为:两个半角连接号(
-
)+空格+自然语言(包含文字和符号)。例如-- 查找小明在哪个城市买的手机
。按下Tab键接受智能生成的SQL语句。
例如,查找小明在哪个城市买的手机,并显示手机型号。
-- 查找小明在哪个城市买的手机,并显示手机型号。
SELECT
city,
item_id AS phone_model
FROM
orders_test
WHERE
buyer_name = '小明'
AND item_id LIKE '%手机%';
在Copilot对话框中生成SQL
输入查询、分析的自然语言。
提出问题后,Copilot会根据表的备注和问题的相关表,分析并选择回答问题需要使用的表。
当Copilot选择的表可信度较高时,Copilot会自动进入生成SQL的步骤。
说明如果Copilot无法确认哪些表数据符合您的需求,或筛选出的表不符合您的需求时,您需要手动调整表,选择并添加合适的表。
可选:查看表的详细信息。
在Copilot找到的关联表区域,单击查看,即可查看表的相关信息,包括表数据、表所在的数据库、数据行数、已有的数据库权限,表的字段信息、索引信息等。
Copilot生成SQL。
如果您对生成的SQL满意,可以复制到SQL Console或Notebook中执行。
如果您对生成的SQL不满意,您可补充反馈,Copilot将会根据反馈修改SQL,并自动提取反馈中隐含的业务知识。
NL2SQL
NL2SQL支持使用思维模板功能,让您能够查看Copilot生成SQL的思考过程。您也可以在知识库中新增或编辑思维模板供AI参考,以提升查询结果的准确性和可解释性。
AI思考过程示例:
在Copilot中提问查询小红在哪个城市购买的手机
,AI找到相关联的表,并给出选择目标表的原因。从度量(指标)、维度(筛选条件)、综上三个方面给出分析过程,并为您生成SQL语句。
管理业务知识
增加知识
目前,DMS支持通过Copilot界面以问答交互的形式积累业务知识、支持用户自助补充业务知识,和通过数据增强链路构建业务知识。生成业务知识后,在Copilot生成SQL时会引用相关的业务知识,并标注出对业务知识的引用。
通过知识库功能手动添加知识
- 登录数据管理DMS 5.0。
单击控制台左上角的
图标,选择 。
说明若您使用的是非极简模式的控制台,在顶部菜单栏中,选择
。在知识粒度页签下,单击新增。
在新增知识面板,填写描述、内容和思考过程,选择知识类型、知识等级和关联库等参数信息。
仅知识类型选择SQL记录时,才会出现思考过程参数。建议您按照DMS提供的模版格式填写,以确保获得较好的效果。
思考过程(即思维模板),示例如下:
度量(指标):用户询问了加州各学校的成绩情况,并希望知道哪个学校最好。根据上下文,需要计算每个学校的总平均成绩。 维度(筛选条件):用户问题里没有提到特定的筛选条件,单核心维度为学校名称。 综上,需要使用satscores表,sname列,其中sname作为projection选择,计算总平均成绩用于排序,不涉及分组。
单击确定。
通过Copilot自动生成知识
给Copilot生成的信息点赞、反馈都会生成知识。更多信息,请参见Data Copilot(新)。
点赞的SQL以及问题描述会自动被录入知识库,且知识类型为SQL记录、知识等级为待补充。
反馈的知识点以及修改的SQL会自动被录入知识库,且知识类型为片段知识、知识等级为待补充。
通过数据增强链路构建知识。
验证知识
在表详情页的业务知识页签下,您可审核生成的业务知识是否正确,如果正确,您可以将待审核或待验证的知识等级调整为已验证。
说明仅数据库开发人员、库表Owner有权限验证知识。
调整知识
如果业务知识不正确,您可在SQL引用的知识库区域编辑知识,或在知识库功能中进行调整。在知识库功能中调整知识的操作,请参见知识库。
管理SQL知识
在使用Copilot时,为减少AI出错,DMS引入了知识库和相似查询机制。
SQL续写
输入一段SQL后,通常需要等待1~4秒(等待开始续写的时间与续写的长度相关),智能助手可自动续写SQL。
按下Tab键接受智能续写的SQL语句。
管理相似SQL
Copilot可以使用历史问题作为参考生成SQL;Agent只会使用已验证的知识。
生成相似的问题
如果您对Copilot生成的SQL很满意,可以在右下角点赞,点赞后即可保存本次查询记录。后续如果提问类似的问题,Copilot会参考相似问题生成SQL。
删除已保存的相似问题
双击表名称,进入表详情页面,在历史问题页签下删除问题。
报表推荐
成功执行SELECT语句后,在执行结果区域的左侧单击图表,支持以可视化图表展示数据。您还可以进行如下操作:
下载图表:单击图表区域右上角的下载图片。
使用智能推荐的图表:单击图表区域右上角的换一个。选择智能推荐的图表后,将会清空当前配置的内容。
将图表应用至仪表盘。仪表盘的更多信息,请参见仪表盘。
相关操作
使用问数Agent
数据开发人员使用Copilot进行数据查询、补充知识、调优NL2SQL等操作后,可以使用问数Agent功能,以应对产品、运营甚至外部需求方的数据问答需求。Agent是通过自然语言交互方式获取数据,用户无需熟悉表和SQL,只需提出问题即可获得所需结果。
Dify on DMS+NL2SQL为您构建了完整的ChatBI方案,让复杂的数据分析触手可及。您只需要直接提出问题,DMS ChatBI就能够通过强大的AI工具理解您的意图,并利用NL2SQL将其转换为可执行的SQL语句。通过DMS提供的专属插件,将SQL语句下发至目标数据库执行,并以清晰、直观的可视化图表展示分析结果。
管理知识库
知识库中的知识可以帮助Copilot智能助手更好地理解、回答问题,并实现自动化决策和推理。
常见问题
Q:在对Copilot生成的SQL较为满意的情况下,为什么需要给SQL点赞?
A:点赞操作可以触发Copilot保存SQL。后续提出相似的问题,能够大大提高回复的准确率。
Q:当Copilot生成的SQL与提问不符时,为什么需要补充用户反馈?
A:补充用户反馈可以提高Copilot回复问题的准确率。