SuperAPI AI 工具集

alibabacloud-adb-smart-analyst

编程与开发

查看项目

更新于 10-15 19:54

技能介绍

用途:面向 ADB MySQL(AnalyticDB、语义视图)的数据分析 Skill,支持回答数据分析问题、创建/修改/删除语义视图、探索数据库表结构与元数据。

前置条件:需要 ADB 连接;Python 3.6+ 并安装 pymysql(uv pip install pymysql);可选 cryptography(caching_sha2_password/sha256_password 或 TLS 场景,报错时再装)。必须设置 ADB_MYSQL_HOST、ADB_MYSQL_PORT、ADB_MYSQL_DATABASE、ADB_MYSQL_USER、ADB_MYSQL_PASSWORD。OpenAPI 方式另需 aliyun CLI、adb 插件(aliyun plugin install --names adb)、ADB_CLUSTER_ID,可选 ADB_REGION,以及 adb:CreateSemanticView 等 RAM 权限。

方式:方式 A 全 SQL(主方式,PyMySQL);方式 B 语义操作走 OpenAPI、数据执行仍走 SQL。SQL 语义功能不可用时自动切换 OpenAPI。方式选择在 Session 级缓存。

流程:两阶段问数——第一阶段用 search_semantic_views --top-k 3 检索,做关键词与语义对象映射并输出映射表;歧义时展示候选让用户选择。第二阶段生成语义 SQL 并执行,展示数据表格、所用 SQL、分析结论、可视化建议、后续方向。无匹配视图时降级为数据探索模式,按 schema 发现、表发现、结构分析、安全采样与查询四阶段渐进下钻。

语义 SQL 规则:指标用 AGG(),SELECT 维度须在 GROUP BY 中,WHERE 只用维度或事实,HAVING 只用指标,必须带 LIMIT,字段名取自 YAML。

安全限制:禁止 DML、DROP DATABASE/TABLE,execute_sql 仅接受 SELECT;DDL 需明确指令;探索模式 LIMIT<=100 并做白名单校验;防全表扫描要求先查分区信息、超大表加时间过滤、宽表禁止 SELECT *、大表先 EXPLAIN、子查询最多 2 层。

其他:OpenAPI 语义命令需显式 --api-version 2021-12-01 和 --db-cluster-id;CLI 安装 /bin/bash -c "$(curl -fsSL https://aliyuncli.alicdn.com/install.sh)"。