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

Text2SQL 智能报表方案介绍

0 背景

Text2SQL智能报表方案旨在通过自然语言处理(NLP)技术,使用户能够以自然语言的形式提出问题,并自动生成相应的SQL查询,从而获取所需的数据报表,用户可根据得到结果展示分析从而为结论提供支撑,其次可通过对结果数据与用户问题拆解然后对异常可能存在的问题提供解析。

1 技术框架

智能报表整体架构分为5层,分别为资源配置层、数据存储模块、LLM、智能体开发框架、功能应用。我们要做的就是如何选型与适配各个层之间的交互,数据与大模型本质决定了功能的天花板。

  • 机器算力: 大模型部署需要足量的内存(RAM)与显存(GPU),比如部署7B(FP32/4Byter)可能需要7G左右内存,如果要进行微调则需要GPU的加持(如果部署在GPU上推理速度会更快);

  • 数据存储

  • 知识库(外挂RAG):包含用户需要查询的数据库表详细的描述信息(包含库、表、详细字段);智能体系统描述信息,比如我们系统可能含有一个Text2SQL智能体、数据分析智能体,那么需要一个具体的系统描述信息(角色定位、工具信息描述,输出限制等等);
    • 业务数据库:为数据分析等场景提供支持;
    • 向量数据库: 对知识库(表结构)向量化,方便快速检索;
  • 大模型:

    • 从使用方法可分为 :1 API接口调用(前期资源不到位情况可暂时使用API接口调时)2 数据属于保密资产,需要选择本地部署的方式解决泄漏问题;       

    • 从功能可分为: 1 大语言模型; 2 词向量嵌入模型;

  • 开发框架应用:提供了一系列工具来简化大模型业务流程,快速开发迭代;

  • 服务产品:可按照实现模块进行分期实现,可优先实现Text2SQl 、报表图示、报告生成、智能客服等等;

1.1 Text2SQL

功能:Text-to-SQL(或者Text2SQL,text2Code的子任务),顾名思义就是把文本转化为SQL语言,更学术一点的定义是:把数据库领域下的自然语言(Natural Language,NL)问题,转化为在关系型数据库中可以执行的结构化查询语言(Structured Query Language,SQL),因此Text-to-SQL也可以被简写为NL2SQL。· 输入:自然语言问题,比如“查询表t_user的相关信息,结果按id降序排序,只保留前10个数据 ”· 输出:SQL,比如“SELECT * FROM t_user ORDER BY id DESC LIMIT 10”

优点: Text2SQL 应用主要是帮助用户减少开发时间,降低开发成本。“打破人与结构化数据之间的壁垒”,即普通用户可以通过自然语言描述完成复杂数据库的查询工作,得到想要的结果。

目标:自然语言查询语句 -> SQL 结构化查询语言;

已知:数据库中的有限表,测试集合《text_question,SQL_answer,My_sql_result》

解决方法: PE + LLM

案例1 表少、简单

一个最基础、最直观的提示工程方案是,输入数据库的 Database Schema,即数据库的基本结构(包括表名、列名、主外键关系等等),以及用户的问题,提示模型输入该问题对应的 SQL 语句。这种提示范式可以很方便让 LLM 适应各种不同的数据库与对应的用户查询。近期的一些研究表明,(提示词越精确)在输入中,额外增加表和列的文本描述、小样本示例(即 few-shot Question-SQL pairs)、一定格式描述的数据样本(即数据库中每一个表的随机几行数据样本)等信息有助于 LLM 更好地理解数据库结构,从而生成更准确的 SQL【比如:RSL-SQL

  • 输入问题提示词以及相关的表结构信息,让大模型产出结果,如下:(通义千问)

解决方法2:PE + RAG / KAG +LLM

案例2 :真实的业务场景面对的是多库、多表、多字段,并且存在表字段描述信息存在语义,在提示中包含完整的数据库信息会导致输入 token 过多,计算成本增加,更重要的是会引入大量噪音。在生成 SQL 之前,用一些方法提前找到与用户问题相关的表和列,然后,输入给大模型的是被显著简化后的 Database Schema,从而达到减小输入噪音并增强 SQL 生成性能的目的【RAG】。

  1. 首先是如何得到详细描述数据库表的信息,这一个需要具体业务部门(用户)有一个深入的理解;

  2. 过滤掉与用户问题无关的数据表描述信息(简单、详细、过滤不必要冗余信息);

解决方法3: PE+RAG+SFT+LLM

案例3:存在大量的表、并且已经收集到大量的训练数据;

  • 基于积累的训练数据进行微调,得到特定领域的大模型(按照业务、主题划分);

注意

  • 1 记录用户的提问日志,分析用户的行为信息,为下次用户使用提供参考;

  • 2 模型微调数据收集:是否正确,如果正确直接放到标注数据中,不正确可以把查询的语句写入;

  • 3 如果大模型能力有限,可按照业务或者主题进行切分,增加模型的抗干扰能力;

1.2 大模型

1.2.1 语言大模型(预训练数据库)

目前,基于 LLM 的 Text-to-SQL 主要分为两类技术路线,一类是对一些开源的参数较小的 LLM(如 Deepseek-7B) 进行微调,另一类则是基于闭源的参数较大的 LLM (如 GPT-4、GPT-4o)的提示工程方法。

精度/通用性与模型大小是一个矛盾点,高精度意味着需要跟多的参数(记住所有信息)。如何落地优选平衡二者之间的关系,可以从下面出发:

  1. 预算足够(有钱),直接使用开源的大模型,通用性能广、理解用户的需求能力更强;
  2. 预算不足,那就做垂直领域的大模型,基于非房/房订单业务数据(SQL对话数据)对大模型进行微调,数据质量直接决定模型的上线,并且数据的收集需要时间。其次可以通过提示词工程等引导大模型回答;

1.2.2 开源大模型选择

text2SQL : 目标:具备coder、function calling 能力;

本地部署会占用大量内存,下面是目前几个开源大模型。当然如果需要再进行微调,那么需要更多的内存,比如选择Adam优化器,需要额外3倍的模型大小内存,共计4倍(比如deepSeek V2,需要16 * 4 = 64G)

常见底座模型概览:(深度求索、智谱、零壹万物、阿里)

大模型下载地址:

  1. HuggingFace: Hugging Face – The AI community building the future.

  1. 魔塔社区: 魔搭社区

  1. Ollama: 统一管理部署

1.2.3 嵌入大模型

目标:为了RAG提供理论模型支持(多维度1024,英文+中文),提前找到与用户问题相关的表和列;

BAAI/bge-large-zh-v1.5

未来主要技术工作内容:

  1. 提示词工程:新表信息完善、few-shot库构建+ 召回/COT技术;

  1. RAG:词向量嵌入,表召回、列召回、粗排到精排;

  1. 大模型微调;

  1. SQL语法修正,多路执行结果投票;

1.3 数据分析与报表

  • 智能分析:提供数据理解能力、数据趋势解析等等,可借助业务文档提出切合业务的问题分解,支持归因、TopN、维度下钻、时序预测等等算法,以及动态的操作推荐;

  • 智能图示:根据SQL查询结果(或者代码)提供给前端按照具体图例展示;

  • 动态预警:借助大模型的动态趋势预警能力,实现数据自动找人,将业务数据的异常波动主动推送到相关人,帮助业务部门及时发现问题并采取有效措施。

  • 智能洞察:具备时序异常检测、因果关联、波动归因等主动洞察能力,自动的发现有用结论。

1.4 明确目标

  1. 用户定位;

  1. 数据源以及权限定位:所有库表是否有使用限制等条件,需要业务完善相关表信息

功能1 为用户提供参考SQL语句;

功能2 执行SQL代码;

功能3 为前端提供图(图片),还是为前端提供具体执行代码等等;

2 成熟的产品

名称

简介

特性

文章来源

Star

缺点

Chat2DB (阿里开源 Chat2DB :一款多数据库客户端工具!

Chat2DB 是一个功能强大的 SQL 客户端和数据分析工具,支持对话式数据分析,能够辅助生成 SQL。它提供网页和客户端两种使用方式,支持几乎所有流行的数据库,并且开源了7B的SQL模型。

SQL生成、智能报告、数据探索

https://www.zhihu.com/search?type=content&q=%E9%98%BF%E9%87%8C%E5%BC%80%E6%BA%90%20Chat2DB%20

github:

GitHub - CodePhiliaX/Chat2DB: 🔥🔥🔥AI-driven database tool and SQL client, The hottest GUI client, supporting MySQL, Oracle, PostgreSQL, DB2, SQL Server, DB2, SQLite, H2, ClickHouse, and more.

GitHub Star 18K

1 目前 Chat2DB 似乎只支持对单个表格的query。如果想要对多个表格进行操作,需要自己写 prompt。

2 Chat2DB 的使用体验在很大程度上依赖于 LLM 的能力;

SQL Chat

SQL Chat 是一个基于聊天的 SQL 客户端,使用自然语言与数据库进行交互,支持对数据库的查询、修改、新增和删除等操作。它目前支持MySQL,Postgres,SQL Server和TiDB无服务器。

自然语言交互、数据库增删改查

9个优秀的Text2Sql(Chat2Sql)开源项目、资源-CSDN博客

github:

GitHub - sqlchat/sqlchat: Chat-based SQL Client and Editor for the next decade

GitHub Star 4K

VannaAI

Vanna 是麻省理工学院授权的开源 Python RAG(检索增强生成)框架,用于 SQL 生成和相关功能。

只需两个步骤——在数据上训练 RAG 模型,然后提出问题,这些问题将返回 SQL 查询,这些查询可以设置为在数据库上自动运行。

github:

GitHub - vanna-ai/vanna: 🤖 Chat with your SQL database 📊. Accurate Text-to-SQL Generation via LLMs using RAG 🔄.

GitHub Star 7.7K

1 Vanna 需要事先知道数据库的结构信息,包括表名、字段名等。这意味着我们需要先将数据库结构信息导入到 Vanna 中,才能正确地生成 SQL 查询语句。

Dataherald

Dataherald 是一个自然语言到 SQL 引擎,专为企业级问答构建。它允许您从数据库中设置一个 API,用简单的对话进行问答。Dataherald 包含四大模块:引擎、管理控制台、企业后端和 Slackbot。

模块化设计、核心模块可替换、文本到 SQL 转换、评估模块、易于设置和使用主要数据仓库、主动学习

GitHub - Dataherald/dataherald: Interact with your SQL database, Natural Language to SQL using LLMs

GitHub Star 3.1K

Supersonic

SuperSonic 融合了 Chat BI(基于 LLM)和 Headless BI(基于语义层),打造新一代 BI 平台。通过 SuperSonic 的问答对话界面,用户能够使用自然语言查询数据,系统会选择合适的可视化图表呈现结果。

内置 Chat BI 界面以便业务用户输入数据查询、内置 Headless BI 界面以便分析工程师构建语义模型、内置基于规则的语义解析器、支持文本输入联想、多轮对话、查询后问题推荐等高级特征、支持权限控制

GitHub - tencentmusic/supersonic: SuperSonic is the next-generation AI+BI platform that unifies Chat BI (powered by LLM) and Headless BI (powered by semantic layer) paradigms.

GitHub Star 2.6K

MaxKB

MaxKB = Max Knowledge Base,是一款基于大语言模型和 RAG 的开源知识库问答系统,广泛应用于智能客服、企业内部知识库、学术研究与教育等场景。

下载安装

支持对接各种大语言模型,包括本地私有大模型(包括Llama 3 / Qwen 2等)、国内公共大模型(包括通义千问、腾讯混元、字节豆包、智谱 AI、百度千帆、Kimi、DeepSeek等),以及国外公共大模型(包括OpenAl、Azure OpenAI、Gemini等);

看好MaxKB!

参考:RSL-SQL. Robust Schema Linking in Text-to-SQL Generation

论文标题:
RSL-SQL: Robust Schema Linking in Text-to-SQL Generation
论文链接:
https://arxiv.org/abs/2411.00073
代码链接:
https://github.com/Laqcce-cao/RSL-SQL

相关文章:

Text2SQL 智能报表方案介绍

0 背景 Text2SQL智能报表方案旨在通过自然语言处理(NLP)技术,使用户能够以自然语言的形式提出问题,并自动生成相应的SQL查询,从而获取所需的数据报表,用户可根据得到结果展示分析从而为结论提供支撑&#…...

51c~SLAM~合集1

我自己的原文哦~ https://blog.51cto.com/whaosoft/12327374 #GSLAM 自动驾驶相关~~~ 一个通用的SLAM架构和基准 GSLAM:A General SLAM Framework and Benchmark 开源代码:https://github.com/zdzhaoyong/GSLAM SLAM技术最近取得了许多成功&am…...

服务器安装ESXI7.0系统及通过离线包方式升级到ESXI8.0

新到了一台物理服务器需要安装系统,项目不急用,先拿来做些实验。 本次实验目标: 1、在物理服务器上安装ESXI7.0系统; 2、通过离线包升级方式将ESXI7.0升级为ESXI8.0。 实验环境准备: 物理服务器1台,型号…...

计算机网络 (52)秘钥分配

一、重要性 在计算机网络中,密钥分配是密钥管理中的一个核心问题。由于密码算法通常是公开的,因此网络的安全性主要依赖于密钥的安全保护。密钥分配的目的是确保密钥在传输过程中不被窃取或篡改,同时确保只有合法的用户才能获得密钥。 二、方…...

xctf-comment(Intruder,git恢复,SQL注入,Hex解码)

这题是2018年网鼎杯真题,考察 Burp Suite 的 Intruder 模块去找用户密码,使用 githacker 恢复代码(githack不行),代码审计发现SQL二次注入,尝试SQL注入读取文件内容,读取的是/home/www/.bash_hi…...

Docker Compose创建镜像服务

什么是Docker Compose 使用Docker Compose,可以使用YAML配置文件(称为Compose文件)来配置应用程序的服务,然后使用Compose CLI从配置中创建并启动所有服务 。 Compose文件的默认路径是compose.yaml(首选)…...

kafka学习笔记5 PLAIN认证——筑梦之路

在Kafka中,SASL(Simple Authentication and Security Layer)机制包括三种常见的身份验证方式: SASL/PLAIN认证:含义是简单身份验证和授权层应用程序接口,PLAIN认证是其中一种最简单的用户名、密码认证方式&…...

Walrus Learn to Earn计划正式启动!探索去中心化存储的无限可能

本期 Learn to Earn 活动将带领开发者和区块链爱好者深入探索 Walrus 的技术核心与实际应用,解锁分布式存储的无限可能。参与者不仅能提升技能,还能通过完成任务赢取丰厚奖励!🌊 什么是 Walrus? 数据主权如今正成为越…...

Linux学习笔记

1、什么是Linux Linux,一般指GNU/Linux(单独的Linux内核并不可直接使用,一般搭配GUN套件,故得此称呼),是一种免费使用和自由传播的类UNIX操作系统。它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用…...

解锁电商设计新速度:StartAI插件制作产品图实操教程

在电商设计这片竞争激烈的战场上,每一位设计师都在追求高效与创意的完美融合。繁琐的背景抠图、单一的设计模板、紧迫的时间周期,常常让我们力不从心。但现在,StartAI插件的问世,为我们的设计之路带来了革命性的改变。下面&#x…...

AutoPrompt框架和实操:如何用AutoPrompt完成电影评论和聊天审核任务?

1. AutoPrompt框架概述 1.1 框架定义与目标 AutoPrompt是一个旨在提升和完善用户提示以适应现实世界用例的提示优化框架。该框架通过迭代生成具有挑战性的边缘案例数据集,并相应地优化提示,从而自动生成针对用户意图量身定制的高质量、详细的提示。其核心目标是利用大型语言…...

修复 Kubernetes Deployment 修改后未生效的问题

在 Kubernetes 集群中,当尝试修改某些 Deployment 资源(如 calico-kube-controllers)的 image 配置时,发现修改总是未生效,并恢复到原样。这种问题通常是因为 Deployment 资源受到其他控制器(如 Operator&a…...

Excel 技巧17 - 如何计算倒计时,并添加该倒计时的数据条(★)

本文讲如何计算倒计时,并添加该倒计时的数据条。 1,如何计算倒计时 这里也要用公式 D3 - TODAY() 显示为下面这个样子的 然后右键该单元格,选 设置单元格格式 然后点 常规 这样就能显示出还书倒计时的日数了。 下拉适用到其他单元格。 2&a…...

Golang Gin系列-5:数据模型和数据库

在这篇Gin教程的博客中,我们将探索如何将模型和数据库与Gin框架无缝集成,使你能够构建健壮且可扩展的web应用程序。通过利用流行的库并遵循最佳实践,你将学习如何定义模型、建立数据库连接、执行CRUD操作以及确保基于gin的项目中的数据完整性…...

Android系统开发(十九):无缝拉伸的艺术——9-Patch 可绘制对象详解

引言 在移动开发中,背景、标题以及其他界面元素的设计质量直接影响用户体验。然而,如何让图片适应不同分辨率设备,成为开发者常常头疼的问题。这时,9-Patch 闪亮登场!它不仅可以无缝拉伸,还能保持视觉效果…...

物联网网关Web服务器--CGI开发实例BMI计算

本例子通一个计算体重指数的程序来演示Web服务器CGI开发。 硬件环境:飞腾派开发板(国产E2000处理器) 软件环境:飞腾派OS(Phytium Pi OS) 硬件平台参考另一篇博客:国产化ARM平台-飞腾派开发板…...

计算机网络 (51)鉴别

前言 计算机网络鉴别是信息安全领域中的一项关键技术,主要用于验证用户或信息的真实性,以及确保信息的完整性和来源的可靠性。 一、目的与重要性 鉴别的目的是验明用户或信息的正身,对实体声称的身份进行唯一识别,以便验证其访问请…...

Mellanox ConnectX 系列网卡的双驱动架构:以太网与 InfiniBand 的协同设计

在现代数据中心和高性能计算(HPC)环境中,网络硬件的性能和功能至关重要。Mellanox ConnectX 系列网卡以其卓越的性能和多功能性而闻名,支持从传统的以太网到高性能的 InfiniBand 网络协议。这种多功能性使得 Mellanox 网卡能够满足不同应用场景的需求,从常规的数据中心网络…...

【Java】阿里环球Antom支付对接

阿里环球Antom支付对接 线上文档地址&#xff1a; GitHub&#xff1a;https://github.com/alipay/global-open-sdk-java 文档&#xff1a;https://global.alipay.com/docs/ac/ams_zh-cn/session_cashier maven&#xff1a; <!--阿里国际支付--><dependency><g…...

【vim】vim编辑器如何设置行号

vim编辑器如何设置行号 一、**临时设置行号**二、永久设置行号2.1. **用户配置文件方式&#xff08;针对当前用户&#xff09;**2.2. **全局配置文件方式&#xff08;谨慎使用&#xff0c;会影响所有用户&#xff09;** 在Vim中设置行号有以下两种常见的方法&#xff1a; 一、…...

爬虫基础之爬取某站视频

目标网址:为了1/4螺口买小米SU7&#xff0c;开了一个月&#xff0c;它值吗&#xff1f;_哔哩哔哩_bilibili 本案例所使用到的模块 requests (发送HTTP请求)subprocess(执行系统命令)re (正则表达式操作)json (处理JSON数据) 需求分析: 视频的名称 F12 打开开发者工具 or 右击…...

2024嵌入式系统的未来发展与技术洞察分享

时间如白驹过隙&#xff0c;不知不觉又是一年&#xff0c;这一年收获满满。接下来&#xff0c;将本年度对技术的感悟和洞察分析如下&#xff0c;希望对大家有所帮助。 在过去几十年里&#xff0c;嵌入式系统技术迅速发展&#xff0c;成为现代电子设备和智能硬件的核心组成部分。…...

[微服务]注册中心优化

环境隔离 企业实际开发中&#xff0c;往往会搭建多个运行环境&#xff0c;例如&#xff1a; 开发环境测试环境预发布环境生产环境 这些不同环境之间的服务和数据之间需要隔离。 还有的企业中&#xff0c;会开发多个项目&#xff0c;共享nacos集群。此时&#xff0c;这些项目…...

Leetcode 3426. Manhattan Distances of All Arrangements of Pieces

Leetcode 3426. Manhattan Distances of All Arrangements of Pieces 1. 解题思路2. 代码实现 题目链接&#xff1a;3426. Manhattan Distances of All Arrangements of Pieces 1. 解题思路 这道题很惭愧&#xff0c;一开始没有搞定&#xff0c;后来看了答案想了想&#xff…...

【重庆市乡镇界】面图层shp格式arcgis数据乡镇名称和编码wgs84坐标无偏移内容测评

标题中的“最新重庆市乡镇界面图层shp格式arcgis数据乡镇名称和编码wgs84坐标无偏移最新”指的是一个地理信息系统&#xff08;GIS&#xff09;的数据集&#xff0c;特别设计用于ArcGIS软件。这个数据集包含了重庆市所有乡镇的边界信息&#xff0c;以Shapefile&#xff08;.shp…...

基于ChatGPT的论文写作辅助工具研究

**基于ChatGPT的论文写作辅助工具研究** **摘要**&#xff1a; 随着人工智能技术的飞速发展&#xff0c;自然语言处理&#xff08;NLP&#xff09;领域取得了显著进步。ChatGPT作为OpenAI最新推出的生成式预训练Transformer模型&#xff0c;在文本生成、对话系统等方面展现出…...

定时器setTimeout和setInterval

setTimeOut()异步 setInterval()异步...

PCL 部分点云视点问题【2025最新版】

目录 一、问题概述二、解决方案1、软件实现2、代码实现三、调整之后博客长期更新,本文最近更新时间为:2025年1月18日。 一、问题概述 针对CloudCompare软件处理过的pcd格式点云,在使用PCL进行特征点提取、配准等实验中最终显示结果出现点云位置偏差较大的问题,本博客给出解…...

Cursor 与常见集成开发环境(IDE)的优势对比

Cursor与常见集成开发环境&#xff08;IDE&#xff09;的优势对比 一、AI 辅助编程能力 强大的代码生成功能&#xff1a; Cursor&#xff1a; 以其内置的强大 AI 辅助编程功能为核心优势。用户可以通过输入自然语言描述&#xff0c;快速生成各种编程语言的代码。例如&#xf…...

TDengine 做为 FLINK 数据源技术参考手册

Apache Flink 是一款由 Apache 软件基金会支持的开源分布式流批一体化处理框架&#xff0c;可用于流处理、批处理、复杂事件处理、实时数据仓库构建及为机器学习提供实时数据支持等诸多大数据处理场景。与此同时&#xff0c;Flink 拥有丰富的连接器与各类工具&#xff0c;可对接…...

不重启JVM,替换掉已经加载的类

不重启JVM&#xff0c;替换掉已经加载的类 直接操作字节码 使用ASM框架直接操作class文件&#xff0c;在类中修改代码&#xff0c;然后retransform就可以了 下边是BTrace官方提供的一个简单例子&#xff1a; package com.sun.btrace.samples;import com.sun.btrace.annotati…...

axios的使用总结

一、Axios 简介 Axios 是一个基于 Promise 的 HTTP 客户端&#xff0c;用于浏览器和 Node.js。在 Vue 项目中&#xff0c;它主要用于发送 HTTP 请求来获取数据&#xff08;如从 API 获取数据&#xff09;或者提交数据&#xff08;如用户登录、注册等表单数据&#xff09;。 二…...

使用 F12 查看 Network 及数据格式

在浏览器中&#xff0c;F12 开发者工具的 “Network” 面板是用于查看网页在加载过程中发起的所有网络请求&#xff0c;包括 API 请求&#xff0c;以及查看这些请求的详细信息和响应数据的。以下以常见的 Chrome 浏览器为例&#xff0c;介绍如何使用 F12 控制台查看 Network 里…...

HTML<img>标签

例子 如何插入图片&#xff1a; <img src"img_girl.jpg" alt"Girl in a jacket" width"500" height"600"> 下面有更多“自己尝试”的示例。 定义和用法 该<img>标签用于在 HTML 页面中嵌入图像。 从技术上讲&#x…...

Android系统开发(六):从Linux到Android:模块化开发,GKI内核的硬核科普

引言&#xff1a; 今天我们聊聊Android生态中最“硬核”的话题&#xff1a;通用内核镜像&#xff08;GKI&#xff09;与内核模块接口&#xff08;KMI&#xff09;。这是内核碎片化终结者的秘密武器&#xff0c;解决了内核和供应商模块之间无尽的兼容性问题。为什么重要&#x…...

每日一刷——1.20——准备蓝桥杯

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目一 请统计某个给定范围[L, R]的所有整数中&#xff0c;数字2出现的次数。 比如给定范围[2, 22]&#xff0c;数字2在数2中出现了1次&#xff0c;在数12中出现1次&#xff0c;在数20中出现1次&a…...

知行合一:解决有心无力的问题,解决知易行难的问题,知行合一并不意味着事事都要合一,而是....

问题是什么&#xff1f; 想学习的时候&#xff0c;有手机阻碍我们。想戒掉手机短视频&#xff0c;卸载后&#xff0c;几天的时间&#xff0c;又下载了回来。制定了减肥计划&#xff0c;但就是不执行。明知道这样做是不对的&#xff0c;但依然行动不起来。 沉溺于各种各样的享…...

C++ Qt练习项目 日期时间数据 未完待续

个人学习笔记 新建项目 设计UI 实现组件功能 参考资料 4.7日期时间数据_哔哩哔哩_bilibili...

Golang学习笔记_28——工厂方法模式(实例)

Golang学习笔记_26——通道 Golang学习笔记_27——单例模式 Golang学习笔记_28——工厂方法模式 工厂方法模式&#xff08;实例&#xff09; package factory_method_demoimport "fmt"// Order 接口&#xff0c;定义订单的基本操作 type Order interface {Calculate…...

linux下springboot项目nohup日志或tomcat日志切割处理方案

目录 1. 配置流程 2. 配置说明 其他配置选项&#xff1a; 3. 测试执行 4. 手动执行 https://juejin.cn/post/7081890486453010469 通常情况下&#xff0c;我们的springboot项目部署到linux服务器中&#xff0c;通过nohup java -jar xxx.jar &指令来进行后台运行我们…...

SentencePiece和 WordPiece tokenization 的含义和区别

SentencePiece和 WordPiece tokenization 的含义和区别 SentencePiece 和 WordPiece 都是常用的分词(tokenization)技术,主要用于自然语言处理(NLP)中的文本预处理,尤其是在处理大规模文本数据时。它们都基于子词(subword)单元,能够将未登录词(out-of-vocabulary, O…...

视频修复最强算法 部署笔记2025

目录 模型下载: 模型: 原版保存的视频,vs code不播放: 模型下载: Release ProPainter V0.1.0 Release sczhou/ProPainter GitHub huggingface-cli download --resume-download lixiaowen/diffuEraser --local-dir /mnt/pfs/models/huggingface/models--lixiaowen--d…...

Java数据结构——优先队列

目录 引言1. 优先队列2. 优先队列的实现2.1 堆的概念2.2 堆的创建2.2.1 堆的向下调整2.3 堆的插入2.4 堆的删除 3. 总结 引言 前面一篇文章讲了二叉树&#xff0c;本篇将讲述数据结构中的优先队列&#xff0c;优先队列则需要用到完全二叉树来实现。 1. 优先队列 队列&#x…...

红外热成像之无人机载荷

电力巡检 相较于传统的人工电力巡线方式&#xff0c;无人机巡检能够在高空对人工难以达到或无法检测的设备进行检测&#xff0c;实现了电子化、信息化、智能化巡检&#xff0c;可以提高巡检的工作效率和应急抢险水平。 森林防火 无人机搭载红外光电系统能在森林高空进行全天候监…...

深入Spring Boot:自定义Starter开发与实践

引言 Spring Boot通过其强大的自动配置机制和丰富的Starter模块&#xff0c;极大地简化了Spring应用的开发过程。Starter模块封装了一组相关的依赖和配置&#xff0c;使得开发者可以通过简单的依赖引入&#xff0c;快速启用特定的功能。然而&#xff0c;除了使用Spring Boot提…...

MasterSAM downloadService任意文件读取(CVE-2024-55457)(附脚本)

免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 0x0…...

【Pytest】基础到高级功能的理解使用

文章目录 第一部分&#xff1a;Pytest 简介1.1 什么是 Pytest&#xff1f;1.2 Pytest 的历史1.3 Pytest 的核心概念1.4 Pytest 的特点1.5 为什么选择 Pytest&#xff1f; 第二部分&#xff1a;Pytest 的基本使用2.1 安装 Pytest2.2 编写第一个测试用例2.2.1 创建一个简单的测试…...

【Linux系统编程】—— 从零开始实现一个简单的自定义Shell

文章目录 什么是自主shell命令行解释器&#xff1f;实现shell的基础认识全局变量的配置初始化环境变量实现内置命令&#xff08;如 cd 和 echo&#xff09;cd命令&#xff1a;echo命令&#xff1a; 构建命令行提示符获取并解析用户输入的命令执行内置命令与外部命令Shell的主循…...

探索云原生可观测性:技术与团队协作的深度结合

TheNewStack 出品的电子书《Cloud Native Observability for DevOps Teams》读后感&#xff0c;老书新读&#xff0c;还是另有一番领悟。 阅读原文请转到&#xff1a;https://jimmysong.io/blog/cloud-native-observability-devops/ 最近读了 TheNewStack 发布的电子书《Cloud …...

Vue基础(2)

19、组件之间传递数据 组件与组件之间不是完全独立的&#xff0c;而是有交集的&#xff0c;那就是组件与组 件之间是可以传递数据的 传递数据的解决方案就是 props ComponentA.vue <template><!-- 使用ComponentB组件&#xff0c;并传递title属性 --><h3>…...