当前位置: 首页 > wzjs >正文

太原做网站的网络公司国际重大新闻

太原做网站的网络公司,国际重大新闻,做门的网站建设,赛博网站建设四川市面上有太多的text-to-sql工具,但是我这次突发灵感,为什么不做一个可以执行sql得text2sql呢。 dify的安装我不再赘述,我采用的是win10本地docker部署的方式。 mysql的安装也不再介绍,如有需要还请移步其他博主。 1.dify创建工…

市面上有太多的text-to-sql工具,但是我这次突发灵感,为什么不做一个可以执行sql得text2sql呢。

dify的安装我不再赘述,我采用的是win10本地docker部署的方式。

mysql的安装也不再介绍,如有需要还请移步其他博主。

1.dify创建工作流,选择创建空白应用既即可。

2.大概看下整体的处理逻辑,分为5部分

1)第一部分为开始,入参部分。

2)第二部分为大模型处理sql

提示词参考如下:

## 角色
你是一名数据分析师
## 工作内容
你需要实现将用户输入的内容转换为SQL查询语句去MySql数据库中查找数据
## 被查询的数据表的结构
CREATE TABLE `sys_dept`  (xxxxxx
) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '部门表' ROW_FORMAT = Dynamic;CREATE TABLE `sys_log`  (xxxxx
) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '日志表' ROW_FORMAT = Dynamic;## 你可以使用的其他方法
用户输入类似于“求和”或“总和”时,则在sql语句中使用SUM()。
用户输入类似于“平均数”或“平均”时,在在sql语句中使用AVG()。
## 要求
1.如果用户输入的内容无法生成为sql语句,请直接说“抱歉,该命令无法形成数据库查询操作”。
2.当可以生成sql语句时,请确保输出的内容为完整正确的sql语句,不要输出此外的其他任何字符,确保你生成的内容用户可以直接执行查询操作。
3.对于字符串内容的查询请使用LIKE操作而不是等于操作。
4.请不要在回复中包括除sql语句之外的任何内容。

记得在提示词后面,加上开始模块输入的content和表名

3)构建http请求,进行查库操作。

我使用java连接本地的数据库,并使用Springboot暴露http服务,您可以根据自己的实际需要编写代理服务。


import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class MySQLConnector {private static final String JDBC_URL = "jdbc:mysql://localhost:3306/";private static final String USERNAME = "root";private static final String PASSWORD = "Root";public static List<Map<String, Object>> executeQuery(String database, String table, String todoSql) {String sql = SqlExtractorUtils.extractSql(todoSql);List<Map<String, Object>> resultList = new ArrayList<>();if (!sql.startsWith("select") && !sql.startsWith("SELECT")){// 仅允许查询return resultList;}try (Connection connection = DriverManager.getConnection(JDBC_URL + database, USERNAME, PASSWORD);Statement statement = connection.createStatement();ResultSet resultSet = statement.executeQuery(sql)) {ResultSetMetaData metaData = resultSet.getMetaData();int columnCount = metaData.getColumnCount();while (resultSet.next()) {Map<String, Object> row = new HashMap<>();for (int i = 1; i <= columnCount; i++) {row.put(metaData.getColumnName(i), resultSet.getObject(i));}resultList.add(row);}} catch (SQLException e) {e.printStackTrace();}return resultList;}
}

4)根据返回的结果集,调用大模型进行清洗,将返回的json数组,转换成markdown格式,便于输出。

5)输出步骤4的结果。

http://www.dtcms.com/wzjs/405435.html

相关文章:

  • 车墩做网站公司常德seo公司
  • 有哪些网站开发框架引擎搜索下载
  • 武汉网站设计推荐刻中国推广网站
  • 网站开发通用流程全网营销公司
  • 巅云建站进入百度app
  • 凡科网站制作seo专员岗位要求
  • 网站建设pc指什么软件友情链接怎么设置
  • 南宁seo网站建设费用seo研究中心晴天
  • 做网站模板用什么框架手机端竞价恶意点击能防止吗
  • dw使用模板做网站教程优化落实疫情防控
  • 北京网站建设排名常州seo招聘
  • 网站建设新闻 常识百度推广客户端怎样注册
  • 选择一个域名进行网站建设常见的网站推广方法
  • 做谷歌推广比较好的公司成都seo优化公司排名
  • 烟台做网站公司哪家好东莞seo建站
  • 公司网站建设内部调查新闻近期大事件
  • asp.net做电商网站页面专业培训
  • 怎么做自己的淘宝客推广网站有趣的网络营销案例
  • 新疆建设职业培训中心网站福州百度seo代理
  • 网站卡密代理怎么做网络推广引流是做什么的
  • 专业网站设计制合肥作百度百科词条
  • 摄影设计说明500字seo网站排名推广
  • 汉口网站制作新人学会seo
  • 棋盘游戏类网站开发百度seo优化方案
  • 做网站旅游销售广州全网推广
  • 怎样做网站pptseo网站外包公司
  • 自己如何在网上做网站百度指数在哪里看
  • wordpress日文版seo优化标题
  • 男女做暖暖叉下体的试看网站seo网络优化是做什么的
  • 扬中论坛扬中热线贵港网站seo