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

Chat2DB 学习笔记

之前研究了 spring-ai-alibaba-nl2sql 项目,最近发现 Chat2DB 也有 AI 部分,看下有什么异同

 

问题分类

首先是问题分类,Chat2DB 没有使用大模型对用户问题进行分类,而是直接附在了请求对象中,看来是希望用户在发送请求时,选择一个问题类型,方便进行后续处理

Chat2DB将问题划分为了五种类型:

  • 生成sql:将自然语言转换为sql
  • 解释sql:解释sql的作用
  • 优化sql:给出优化sql的建议
  • 转换sql:将一种数据库的sql转换为另一种数据库的sql
  • 普通对话:普通的对话聊天,可能与sql无关

这里可以看出两个项目的定位区别,Nl2sql——自然语言生成sql,更多的是关注如何生成sql,以及生成sql后的执行和验证;而 Chat2DB 同时还提供了解释、优化和转换的功能。

 

流程

获取问题类型的描述:系统内置了每种问题类型的执行要求,根据问题类型获取即可

获取数据库类型:请求中附带了数据源id,根据数据源id查询其数据库类型

获取表结构:若设置了表名,查询其ddl;若未设置表名,则使用用户问题进行召回。

生成提示词:结合类型描述、额外输入(备注之类的字段)、数据库类型、表结构信息、用户问题初步生成提示词

提示词补充:若为转换sql,补充目标sql类型

构造消息列表:历史消息+当前提示词

调用大模型:将消息列表发送到大模型获取结果

 

提示词

### Please follow the below table properties and SQL input{类型描述}. {额外信息}#### {数据库类型} SQL tables, with their properties:## {表结构信息}##### SQL input: {用户问题}(如果是sql转换)#### Target SQL type: {目标数据库类型}

 

总结

Chat2DB 中对 AI 的应用是比较标准的 RAG 流程,即根据用户问题查询额外信息后,与用户问题一起发送给大模型进行解答

没有针对召回进行复杂优化,也没有反思验证等环节,实际使用效果可能差一些

亮点是除了生成sql,还支持sql的解释、优化、转换等功能

 

ps:底层没有用类似 langchain 的框架,纯 okhtpp3 自行构造请求调用大模型

 

http://www.dtcms.com/a/545343.html

相关文章:

  • 外国做爰网站小程序问答库
  • 关于网站建设方案的案例石家庄建站凡科
  • LeetCode 410 - 分割数组的最大值
  • Kotlin数据结构性能全解析
  • 搜索引擎网站优化和推广方案网站建设招标合同要求
  • coco json 分类标注工具源代码
  • 重学JS-012 --- JavaScript算法与数据结构(十二)正则表达式
  • 自己做网站还是公众号爱链网中可以进行链接买卖
  • maven中properties和dependencys标签的区别
  • 商丘市有没有做网站品牌宣传网站制作
  • ArcGIS Pro 与 Python,在数据处理中该如何选择与搭配?
  • 多端大前端项目实施方案
  • 企业网站推广效果指标分析安徽圣力建设集团网站
  • 网站建设规划方案免费项目发布平台
  • 越南频段开放趋势对蜂窝物联网模组的影响分析
  • 通过gdb推进修改oracle scn
  • 行业认可丨宏集Web物联网HMI荣获CEC 2025年度编辑推荐奖
  • 网站正能量晚上不用下载免费进入运维工程师40岁以后出路
  • 网站定制公司排行榜购买网站app制作
  • LeetCode算法日记 - Day 88: 环绕字符串中唯一的子字符串
  • 发送 Prompt 指令:判断用户评价是好评还是差评
  • 高阶数据结构 --- 跳表Skiplist
  • Ansible模块分类与实战应用指南
  • 发送 Prompt 指令:请用一句话总结文本内容
  • 沧州网站seo创业 建网站
  • 临安市住房和建设局网站百度搜索引擎的原理
  • k8s rbac权限最小化实践
  • Javascript数据类型之类型转换
  • 销售拜访前的全面准备指南以及ABC推荐法
  • 优秀网站模板下载网站编程论文