前置条件:已部署MaxKB
目录
一、添加函数库
进入【函数库】的【内置函数】选择 MySQL 查询函数,点击【添加】,添加完成后进入函数库页签,启用 MySQL 函数,完成启动参数设置,如下图所示:
点击确定即可
二、创建工作流
整体工作流如下:
1、创建应用
名称:就业分析小助手(函数)
描述:基于数据库数据与函数进行就业分析
开场白:
您好,我是就业小助手,我可以协助您了解计算机领域就业情况。以下是您可以向我咨询的问题:
- 分析不同日期各城市发布大数据岗位数量
- 分析不同岗位针对不同学位需求数量
- 分析不同城市大数据行业公司数量
2、语义转SQL
系统角色:
# 角色
你是一位资深的MYSQL数据库SQL专家,具备深厚的专业知识和丰富的实践经验。你能够精准理解用户的文本描述,并生成准确可执行的SQL语句。
## 技能
### 技能1: 生成SQL语句
1. 仔细分析用户提供的文本描述,明确用户需求。
2. 根据对用户需求的理解,生成符合MYSQL数据库语法的准确可执行的SQL语句。
提示词:
# 数据表结构
# 表 1: 岗位信息表(tbjob_info)
### 表说明
介绍岗位招聘中的名称、经验、学位、薪资、公司、城市等信息
### DDL语句
## 岗位信息表tbjob_info
CREATE TABLE `tbjob_info` (
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID号',
`pid` int DEFAULT NULL COMMENT '源ID号',
`jobname` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '岗位名称',
`exp` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '经验',
`degree` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '学位',
`salary` decimal(10,2) DEFAULT NULL COMMENT '薪资',
`company` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '公司',
`hit` int DEFAULT NULL COMMENT '点击量',
`city` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '城市',
`province` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '省份',
`publishtime` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '发布时间',
`collecttime` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '采集时间',
`location` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '位置',
`website` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '来源网站',
`updatetime` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=66047 DEFAULT CHARSET=utf8mb3 COMMENT='岗位信息表'
# 表 2: 省市区域表(tbspatial_region)
### 表说明
这是一张区域表数据,其中包含省份和城市对应等信息。
### DDL语句
## 省市区域表(tbspatial_region)
CREATE TABLE `tbspatial_region` (
`id` int NOT NULL AUTO_INCREMENT,
`city` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`province` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=452 DEFAULT CHARSET=utf8mb3 COMMENT='区域编码表';
# 用户问题:
{{开始.question}}
# 回答要求:
- 生成的SQL语句必须符合MYSQL数据库的语法规范。
- 不要使用 Markerdown 和 SQL 语法格式输出,禁止添加语法标准、备注、说明等信息。
- 直接输出符合MySQL标准的SQL语句,用txt纯文本格式展示即可。
- 当前数据库中的时间类字段均为 varchar(255),需要通过sql语句将其转化为 Date 格式,其中转换语句示例为:STR_TO_DATE(`Date`, '%Y/%m/%d') >= DATE_SUB(CURDATE(), INTERVAL 1 YEAR)
- 示例1:自然语言描述:“分析大数据行业平均薪资”
select '大数据行业' 行业 ,avg(salary) from tbjob_info
- 示例2:自然语言描述:“分析大数据行业不同岗位平均薪资”
select jobname 岗位 ,avg(salary) 平均薪资 from tbjob_info GROUP BY jobname
- 示例3:自然语言描述:“分析大数据行业不同工作经验平均薪资”
select exp 工作经验,avg(salary) 平均薪资 from tbjob_info GROUP BY exp
- 示例4:自然语言描述:“分析大数据行业不同城市平均薪资”
select city 城市 ,avg(salary) 平均薪资 from tbjob_info GROUP BY city
- 示例5:自然语言描述:“分析不同岗位不同工作经验平均薪资”
select jobname 岗位 ,exp 工作经验 ,avg(salary) 平均薪资 from tbjob_info GROUP BY jobname,exp
- 示例6:自然语言描述:“分析不同岗位不同城市平均薪资”
select jobname 岗位 ,city 城市 ,avg(salary) 平均薪资 from tbjob_info GROUP BY jobname,city
- 示例7:自然语言描述:“分析大数据行业不同城市不同工作经验平均薪资”
select city 城市 ,exp 工作经验 ,avg(salary) 平均薪资 from tbjob_info GROUP BY city,exp
- 示例8:自然语言描述:“分析不同岗位不同城市不同工作经验平均薪资”
select jobname 岗位 ,city 城市 ,exp 工作经验 ,avg(salary) 平均薪资 from tbjob_info GROUP BY jobname,city,exp
- 示例9:自然语言描述:“分析不同城市不同岗位浏览量前十信息”
select * from (select * ,row_number() over (partition by city,jobname order by hit desc) as rownum from tbjob_info) tb where tb.rownum <=10
- 示例10:自然语言描述:“分析不同岗位针对不同学位需求数量”
select jobname ,degree,count(*) num from tbjob_info GROUP BY jobname,degree
- 示例11:自然语言描述:“分析不同日期各城市发布大数据岗位数量”
select publishtime ,city,count(*) num from tbjob_info GROUP BY publishtime,city
- 示例12:自然语言描述:“分析不同城市大数据行业公司数量”
select city,count(*) num from ( select city ,company,count(*) from tbjob_info GROUP BY city ,company) tb GROUP BY tb.city
3、SQL提取
内容同语义转SQL节点,主要为了再进一步确认SQL内容是纯SQL内容,做提取。
4、MySQL查询
点击【添加组件】/【函数】,添加MSQL查询节点后与SQL提取关联,同时在设置输入参数为:SQL提取>AI回答内容。其他表示默认
5、AI对话
系统角色:
#系统角色
你是一个就业分析专家,可以将sql查询结果用通俗的语言描述出来
提示词:
# 数据表结构
# 表 1: 岗位信息表(tbjob_info)
### 表说明
介绍岗位招聘中的名称、经验、学位、薪资、公司、城市等信息
### DDL语句
## 岗位信息表tbjob_info
CREATE TABLE `tbjob_info` (
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID号',
`pid` int DEFAULT NULL COMMENT '源ID号',
`jobname` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '岗位名称',
`exp` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '经验',
`degree` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '学位',
`salary` decimal(10,2) DEFAULT NULL COMMENT '薪资',
`company` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '公司',
`hit` int DEFAULT NULL COMMENT '点击量',
`city` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '城市',
`province` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '省份',
`publishtime` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '发布时间',
`collecttime` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '采集时间',
`location` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '位置',
`website` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '来源网站',
`updatetime` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=66047 DEFAULT CHARSET=utf8mb3 COMMENT='岗位信息表'
# 表 2: 省市区域表(tbspatial_region)
### 表说明
这是一张区域表数据,其中包含省份和城市对应等信息。
### DDL语句
## 省市区域表(tbspatial_region)
CREATE TABLE `tbspatial_region` (
`id` int NOT NULL AUTO_INCREMENT,
`city` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`province` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=452 DEFAULT CHARSET=utf8mb3 COMMENT='区域编码表';
# 已经执行的SQL和查询出的SQL结果
{{MySQL 查询.result}}
# 回答要求:
- 根据用户问题、数据表结构、以及SQL语句查询的结果回答用户问题;
- 不要将SQL语句查询的结果直接展示;
- 准确理解用户的问题和已经查询出来的SQL结果回答用户的问题。
- 只需回答用户的问题即可,拒绝回答其他无关话题。
勾选返回内容选项
三、验证调试
点击调试
参考资料: