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

基于RAGFlow构建Text2SQL的实战教程

在企业大模型应用中,Text2SQL一直是应用热点,它可以通过自然语言快速完成数据提取分析。但传统方案依赖大模型微调,中小企业应用成本高。

今天介绍一种方法:用开源 RAG 框架 RAGFlow,将知识库检索与大模型推理结合,无需微调模型,仅配置少量结构化数据,即可生成精准的 SQL,满足指定数据查询、复杂查询、计算及跨表计算等场景。

一. 准备工作

Text2SQL的准确性取决于知识库质量,需提前准备DDL、DB Description、Q->SQL三类核心知识库。

1. 创建知识库

分别创建知识库DDL、DB Description、Q->SQL

(1)DDL知识库

DDL(Data Definition Language)知识库,主要提供数据库表结构信息,包括表名、列名、数据类型以及主键、外键等约束条件。

(2)DB Description 知识库

DB Description 知识库,主要用于说明数据库中表和列的含义。

(3)Q->SQL 知识库

Q->SQL 知识库,包含了大量的参考 SQL,即自然语言问题与对应的 SQL 语句示例。

2. 上传知识库文件

(1)下载三个文件,下一步用。

         网盘下载链接:https://pan.quark.cn/s/563c1ccc81fd

(2)将下载好的文件分别导入到对应的知识库后,并解析文件

3. 配置知识库

    配置每个知识库的切片方式

    1配置DB Description

    (2)配置DDL

    (3)配置Q->SQL

    二 . 创建Agent

    1. 添加Agent模版

    (1)进入 RAGFlow 工作台Agent点击创建Agent】进入Agent模板选择页面,选择 “DB Assistant” 模板,点击“使用该模板

    这里Text-to-SQLDB Assistant 的区别:

    • Text-to-SQL 是 “自动写SQL查询的工具”。
    • DB Assistant 是 “帮你用自然语言跟数据库聊天、查数据、看结果的智能助手”,这个助手内部会用到 Text-to-SQL 来写查询。

    (2)给Agent起一个名字,系统会自动复制该模板到Agent空间,如下

    2. 配置Agent

    添加的DB Assistant模版有6个节点需要我们进行配置。

    (1)添加知识库

    分别选中DDL、DB Description、Q->SQL,配置对应的知识库

    (2)绑定目标数据库

    选中“ExeSQL” 组件,配置数据库所需的参数,填入自己的数据库信息

    (3)接入模型

    这里接入比较强的模型,才能回答出精准的答案。本文接入了阿里千问的MAX模型

    三. 测试运行

      (1)如下图所示,数据库中有一张meter表。

      2单击运行按钮,可以进行对话。

      提问:meter表有多少条数据?它能够正确回答:10

      http://www.lryc.cn/news/572081.html

      相关文章:

    • 密室出逃消消乐小游戏微信流量主小程序开源
    • 如何将文件从安卓设备传输到电脑?
    • XMOS基于边缘AI+DSP+MCU+I/O智算芯片的音频解决方案矩阵引领行业创新潮流
    • 吴恩达机器学习笔记:正则化2
    • 从Excel到知识图谱再到数据分析:数据驱动智能体构建指南
    • SCRM软件数据分析功能使用指南:从数据挖掘到商业决策
    • Spark 技术与实战学习心得:从入门到实践的深度探索
    • CppCon 2017 学习:Effective Qt: 2017 Edition
    • 锂电池保护板测试仪:守护电池安全的幕后保障
    • 【css】设置了margin-top为负数,div被img覆盖的解决方法
    • django调用 paramiko powershell 获取cpu 个数
    • IPv4编址及IPv4路由基础
    • Pinia + Vue Router 权限控制(终极完整版)
    • 无监督学习中的特征选择与检测(FSD)在医疗动线流程优化中的应用
    • 2025-05-05-80x86汇编语言环境配置
    • 使用随机森林实现目标检测
    • AI时代SEO关键词革新
    • 医疗低功耗智能AI网络搜索优化策略
    • 49-Oracle init.ora-PFILE-SPFILE-启动参数转换实操
    • 129. 求根节点到叶节点数字之和 --- DFS +回溯(js)
    • 详解鸿蒙Next仓颉开发语言中的全屏模式
    • 【hadoop】搭建考试环境(单机)
    • LVS+Keepalived+nginx
    • Spring Boot + MyBatis + Vue:打造高效全栈应用的黄金组合
    • Vue 组件数据流与状态控制最佳实践规范
    • 博图SCL中CONTINUE语句详解:高效循环控制案例
    • RabbitMQ多角度可靠性分析/基于Java代码深度解析
    • android 象棋游戏开发
    • Android Studio Profiler使用
    • 数据差异的iOS性能调试:设备日志导出和iOS文件管理