【DB-GPT】开启数据库交互新篇章的技术探索与实践
一、引言:AI原生数据应用开发的挑战与机遇
在数字化转型的浪潮中,企业对于智能化应用的需求日益增长。然而,传统的数据应用开发方式面临着诸多挑战,如技术栈复杂、开发周期长、成本高昂、难以维护等。这些问题限制了智能化应用的广泛普及和深入应用,使得企业难以充分利用数据资产,提升业务效率和竞争力。
为了应对这些挑战,DB-GPT应运而生。DB-GPT是一个开源的AI原生数据应用开发框架,旨在通过整合自然语言处理、机器学习、数据库管理等多种先进技术,为开发者提供一个简洁、高效、可扩展的开发平台。DB-GPT的目标是简化大模型应用的开发过程,降低技术门槛,让更多的企业和开发者能够轻松地构建智能化应用,从而推动数字化转型的深入发展。
腾讯云的ChatBI
二、DB-GPT的核心特性与优势
2.1 私域问答与数据处理
DB-GPT支持通过内置、多文件格式上传、插件自抓取等方式自定义构建知识库,对海量结构化、非结构化数据进行统一向量存储与检索。这一特性使得DB-GPT能够高效地处理各种类型的数据,为智能化应用提供丰富的数据支持。同时,DB-GPT还支持自然语言查询,用户可以通过对话方式输入查询条件,系统能够自动解析并生成相应的SQL查询语句,执行查询并返回结果。
2.2 多数据源与GBI(Global Business Intelligence)
DB-GPT支持自然语言与Excel、数据库、数仓等多种数据源交互,并支持生成分析报告。用户可以通过对话方式输入分析需求,系统能够自动解析并生成相应的分析脚本,执行分析并生成报告。同时,DB-GPT还提供了海量模型支持,包括LLaMA/LLaMA2、ChatGLM等多种开源和API代理的大语言模型,使得系统能够更准确地理解用户意图,提供更智能的服务。
2.3 RAG(Retrieval Augmented Generation)框架
DB-GPT实现了基于RAG的框架,允许系统动态地处理复杂的自然语言查询,增强了生成内容的准确性和相关性。RAG框架通过结合检索和生成的能力,使得DB-GPT能够更好地理解用户的意图和需求,从而提供更准确的回答和解决方案。这一特性使得DB-GPT在问答系统、智能客服等领域具有广泛的应用前景。
2.4 Data-Driven Multi-Agents & Plugins
DB-GPT支持自定义插件执行任务,原生支持Auto-GPT插件模型。通过Agents协议,DB-GPT实现了智能体之间的协作和任务的高效执行。这一特性使得DB-GPT能够灵活地扩展功能,满足不同场景下的需求。例如,企业可以根据业务需求自定义插件,实现特定的数据处理和分析功能;同时,通过智能体的协作,可以实现复杂的业务流程和自动化任务。
2.5 隐私安全
在数据隐私和安全方面,DB-GPT采用了私有化大模型、代理脱敏等多种技术手段,确保数据的隐私和安全。这一特性使得DB-GPT能够在保护用户隐私的前提下,提供高质量的智能化服务。同时,DB-GPT还支持数据加密和访问控制等安全策略,进一步提升了系统的安全性。
三、DB-GPT的原理与技术架构详解
3.1 底层架构
DB-GPT的底层架构包括多个关键组件,如DB-GPT-Hub、AWEL(Agentic Workflow Expression Language)、SMMF(Multi-Model Management Framework)、RAGs(Retrieval Augmented Generation Modules)和Agents等。
- DB-GPT-Hub:作为模型训练和数据准备的基础层,DB-GPT-Hub提供了多种技术能力的训练,如Text2SQL、Text2DSL等。这些训练结果为上层应用提供了强大的支持。同时,DB-GPT-Hub还支持多模型训练和管理,使得开发者可以方便地管理和使用多个模型。
- AWEL:AWEL是一种智能体工作流编排语言,用于定义和管理智能体工作流。通过AWEL,开发者可以灵活地定义任务流程,实现复杂的业务逻辑。AWEL还支持多种操作符和函数库,使得开发者可以更加高效地编写工作流脚本。
- SMMF:SMMF是多模型管理框架,负责管理和调度多个模型。SMMF提供了统一的接口和工具,使得开发者可以方便地管理和使用多个模型。同时,SMMF还支持模型的动态加载和卸载,提高了系统的灵活性和可扩展性。
- RAGs:RAGs是检索增强生成模块,用于提升生成内容的准确性和相关性。RAGs通过结合检索和生成的能力,使得DB-GPT能够更好地理解用户的意图和需求。同时,RAGs还支持多种检索算法和生成策略,使得系统能够更准确地回答用户的问题。
- Agents:Agents是智能体模块,负责多智能体的协作和任务执行。通过Agents协议,DB-GPT实现了智能体之间的通信和协作,从而实现了复杂的业务逻辑和任务执行。同时,Agents还支持多种任务类型和执行策略,使得系统能够灵活地处理各种任务。
3.2 服务层
服务层包括多个关键服务组件,如LLMServer、APIServer、RAGServer以及dbgptServer等。这些服务组件共同支持上层应用的运行,提供了丰富的功能和接口。
- LLMServer:大语言模型服务,提供了模型推理和交互的功能。LLMServer支持多种大语言模型的推理和交互,包括LLaMA/LLaMA2、ChatGLM等。同时,LLMServer还支持多种输入和输出格式,使得开发者可以方便地调用模型进行推理和交互。
- APIServer:API服务,提供了与外部系统交互的接口。APIServer支持RESTful API和GraphQL等多种接口协议,使得开发者可以方便地调用DB-GPT提供的各种服务和功能。同时,APIServer还支持多种认证和授权机制,确保了系统的安全性。
- RAGServer:RAG服务,提供了检索和生成的功能。RAGServer支持多种检索算法和生成策略,使得系统能够更准确地回答用户的问题。同时,RAGServer还支持多种数据源和存储方式,使得开发者可以灵活地配置和使用检索和生成功能。
- dbgptServer:DB-GPT服务,提供了统一的接口和工具,用于管理和使用DB-GPT框架。dbgptServer支持多种配置和管理功能,如模型管理、任务管理、日志管理等。同时,dbgptServer还支持多种监控和报警机制,使得开发者可以方便地监控和管理系统的运行状态。
3.3 应用层
应用层展示了多种基于DB-GPT构建的具体应用,如ChatDB、ChatData等。这些应用面向不同的业务需求,提供了丰富的功能和用户体验。
- ChatDB:通过对话方式创建SQL查询,无需编写复杂的SQL代码。ChatDB支持多种数据库和数仓类型,如MySQL、PostgreSQL、Oracle等。用户可以通过对话方式输入查询条件,系统能够自动解析并生成相应的SQL查询语句,执行查询并返回结果。同时,ChatDB还支持结果的可视化和导出功能,使得用户可以更加方便地查看和分析查询结果。
- ChatData:提供了数据分析和可视化的功能,帮助用户更好地理解和利用数据。ChatData支持多种数据分析和可视化算法和工具,如Pandas、Matplotlib等。用户可以通过对话方式输入分析需求,系统能够自动解析并生成相应的分析脚本,执行分析并生成报告。同时,ChatData还支持多种可视化方式和导出格式,使得用户可以更加方便地查看和分享分析结果。
3.4 可视化层
可视化层提供了GPT-Vis等可视化工具,帮助用户更直观地理解和展示数据分析的结果。GPT-Vis支持多种可视化方式,如Markdown、Charts等。用户可以通过对话方式输入可视化需求,系统能够自动解析并生成相应的可视化脚本,执行可视化并生成结果。同时,GPT-Vis还支持多种导出格式和分享方式,使得用户可以更加方便地分享和展示可视化结果。
四、AWEL协议详解
AWEL(Agentic Workflow Expression Language)是一套专门为大模型应用开发设计的智能体工作流表达式语言。在DB-GPT中,AWEL协议扮演了至关重要的角色,它使得开发者可以灵活地定义和管理智能体工作流。
4.1 AWEL 2.0升级
AWEL协议在DB-GPT中升级至2.0版本,支持更复杂的编排和更强大的功能。AWEL 2.0提供了更丰富的操作符和函数库,支持更复杂的业务逻辑和任务流程。同时,AWEL 2.0还优化了前端可视化与交互能力,使得开发者可以更加直观地理解和编辑工作流。
4.2 AWEL 2.0的核心特性
4.3 AWEL 2.0的应用场景
AWEL 2.0具有广泛的应用场景,可以应用于各种数据应用开发和业务场景中。以下是一些典型的应用场景:
五、DB-GPT的应用场景与案例
DB-GPT作为一个开源的AI原生数据应用开发框架,具有广泛的应用场景和案例。以下是一些典型的应用场景和案例:
5.1 企业数据治理
在企业数据治理方面,DB-GPT可以应用于数据清洗、数据转换、数据质量监控等任务中。通过定义智能体和任务,系统可以自动地执行这些任务,提高数据的质量和可用性。同时,DB-GPT还支持数据血缘关系和元数据管理等功能,帮助企业更好地管理和利用数据资产。
案例:某大型金融企业利用DB-GPT构建了数据治理平台。该平台可以自动地清洗和转换数据,监控数据的质量和异常情况,并提供数据血缘关系和元数据管理等功能。通过该平台,企业可以更加高效地管理和利用数据资产,提高业务决策的准确性和效率。
5.2 数据分析与挖掘
在数据分析与挖掘方面,DB-GPT可以应用于数据预处理、特征工程、模型训练等任务中。通过定义智能体和任务流,系统可以自动地执行这些任务,提高数据分析的效率和准确性。同时,DB-GPT还支持多种数据分析和挖掘算法和工具,如Pandas、Scikit-learn等,使得开发者可以更加方便地进行数据分析和挖掘工作。
案例:某电商平台利用DB-GPT构建了用户行为分析平台。该平台可以自动地收集和处理用户行为数据,进行特征工程和模型训练,以预测用户的购买意愿和偏好。通过该平台,企业可以更加深入地了解用户需求和行为特征,优化产品推荐和营销策略,提高销售额和用户满意度。
5.3 智能客服与问答系统
在智能客服与问答系统方面,DB-GPT可以应用于对话管理、意图识别、答案生成等任务中。通过定义智能体和任务流,系统可以自动地解析用户的意图和需求,并提供相应的回答和解决方案。这种智能化的服务方式可以提高用户体验和满意度,降低企业的人工成本。
案例:某电信运营商利用DB-GPT构建了智能客服系统。该系统可以自动地识别用户的意图和需求,并提供相应的回答和解决方案。同时,该系统还可以根据用户的反馈和互动情况不断优化和改进服务质量和效率。通过该系统,企业可以更加高效地处理用户咨询和投诉问题,提高用户满意度和忠诚度。
六、总结与展望
DB-GPT作为一个开源的AI原生数据应用开发框架,具有广泛的应用前景和发展潜力。通过整合自然语言处理、机器学习、数据库管理等多种先进技术,DB-GPT为开发者提供了一个简洁、高效、可扩展的开发平台。在未来,随着技术的不断发展和应用场景的不断拓展,DB-GPT将会在更多领域发挥重要作用。
同时,我们也期待更多的开发者和企业能够加入到DB-GPT的社区中来,共同推动技术的发展和应用的普及。通过不断地探索和创新,我们相信DB-GPT将会为数字化转型和智能化发展注入新的活力和动力。
参考资料
概览 · 语雀
一文速学ChatBi“与数据库对话“大模型技术原理及框架一览 - 知乎
DB-GPT:数据智能应用的开发利器_dbgpt-CSDN博客
DB-GPT系列(一):DB-GPT能帮你做什么?_gpt-db-CSDN博客
DB-GPT 版本更新,发布六大核心新特性!-彩龙社区
AI大模型探索之路-实战篇4:深入DB-GPT数据应用开发框架调研-CSDN博客
DB-GPT 智能体工作流 AWEL 设计与源码解读_哔哩哔哩_bilibili
DB-GPT知识库介绍 - 知乎
专为数据库打造:DB-GPT用私有化LLM技术定义数据库下一代交互方式_腾讯新闻
DB-GPT-CSDN博客
相关文章:
【DB-GPT】开启数据库交互新篇章的技术探索与实践
一、引言:AI原生数据应用开发的挑战与机遇 在数字化转型的浪潮中,企业对于智能化应用的需求日益增长。然而,传统的数据应用开发方式面临着诸多挑战,如技术栈复杂、开发周期长、成本高昂、难以维护等。这些问题限制了智能化应用的…...
深入 Flutter 和 Compose 在 UI 渲染刷新时 Diff 实现对比
众所周知,不管是什么框架,在前端 UI 渲染时,都会有构造出一套相关的渲染树,并且在 UI 更新时,为了尽可能提高性能,一般都只会进行「差异化」更新,而不是对整个 UI Tree 进行刷新,所以…...
Android 网络层相关介绍
关注 Android 默认支持的网络管理行为,默认支持的网络服务功能。 功能术语 术语缩写全称释义DHCPv6Dynamic Host Configuration Protocol for IPv6动态主机配置协议的第六版,用于在IPv6网络中动态分配IP地址和其他网络配置参数。DNS Domain Name System域名系统。LLALink-Loc…...
ThreeJs开发环境安装与首个DEMO
安装开发环境 我这边使用的JetBrain的WebStorm,咨询过很多其他开发从业者,普遍使用vscode的比较多。但是考虑到vscode涉及到不少插件安装和IDE配置,作为傻瓜式入门,我这边采用WebStorm。 下载地址: WebStorm: The J…...
【Vim Masterclass 笔记09】S06L22:Vim 核心操作训练之 —— 文本的搜索、查找与替换操作(第一部分)
文章目录 S06L22 Search, Find, and Replace - Part One1 从光标位置起,正向定位到当前行的首个字符 b2 从光标位置起,反向查找某个字符3 重复上一次字符查找操作4 定位到目标字符的前一个字符5 单字符查找与 Vim 命令的组合6 跨行查找某字符串7 Vim 的增…...
js:根据后端返回数据的最大值进行计算然后设置这个最大值为百分之百,其他的值除这个最大值
问: 现在tabData.value 接收到了后端返回的数据, [{text:人力,percentage:‘90’},{text:物品,percentage:‘20’},{text:物理,percentage:‘50’},{text:服务,percentageÿ…...
线形回归与小批量梯度下降实例
1、准备数据集 import numpy as np import matplotlib.pyplot as pltfrom torch.utils.data import DataLoader from torch.utils.data import TensorDataset######################################################################### #################准备若干个随机的x和…...
【数学】概率论与数理统计(三)
文章目录 [toc] 随机变量的概念随机事件数量化随机变量 离散型随机变量及其概率分布随机变量的分类离散型随机变量离散型随机变量的常见分布两点分布二项分布泊松分布泊松定理证明 泊松分布 超几何分布几何分布 连续型随机变量及其概率分布连续型随机变量零概率事件几乎必然发生…...
如何在 Linux、MacOS 以及 Windows 中打开控制面板
控制面板不仅仅是一系列图标和菜单的集合;它是通往优化个人计算体验的大门。通过它,用户可以轻松调整从外观到性能的各种参数,确保他们的电脑能够完美地适应自己的需求。无论是想要提升系统安全性、管理硬件设备,还是简单地改变桌…...
《AI赋能鸿蒙Next,开启智能关卡设计新时代》
在游戏开发领域,关卡设计是至关重要的一环,它直接影响着玩家的游戏体验和沉浸感。而随着人工智能技术的飞速发展,结合鸿蒙Next系统的强大功能,为游戏的智能关卡设计带来了全新的思路和方法。 利用AI学习玩家行为模式 在鸿蒙Next…...
Safari浏览器上ico图标显示不出来,怎么解决?
Safari浏览器上ico图标显示不出来,怎么解决? 如果Safari浏览器上ico图标显示不出来了,如下图,该图标显示为灰色。 可以关闭Safari浏览器,并清除历史记录,就可以解决啦。 另外,如果多个网站这…...
Java Bean Validation 不适用Spring的情况下自定义validation注解
Java Bean Validation(也称为 JSR 380,为 Bean Validation 2.0 规范)提供了一套基本的注解,用于定义和验证 Java Bean 的属性。例如: NotNull:属性不能为空 Size:字符串、集合或数组的大小有约…...
【算法学习笔记】30:埃氏筛(Sieve of Eratosthenes)和线性筛(Linear Sieve)
测试题目:AcWing 868. 筛质数 埃氏筛(Sieve of Eratosthenes) 如果 i i i是素数,每次把 i i i的倍数都筛掉,存在重复筛选,时间复杂度 n ⋅ l o g ( l o g n ) n \cdot log(logn) n⋅log(logn)。 #includ…...
风控业务——评分模型
本文主要讲述了金融机构风控模型的重要性及其应用。首先,开头概述了风控模型的整体建模流程,包括特征工程和建模方法。接着,本文强调了贷前、贷中、贷后三个阶段中风控模型的应用,如信用评分、行为评分和催收评分。同时还提到了信…...
jupyter notebook练手项目:线性回归——学习时间与成绩的关系
线性回归——学习时间与学习成绩的关系 第1步:导入工具库 pandas——数据分析库,提供了数据结构(如DataFrame和Series)和数据操作方法,方便对数据集进行读取、清洗、转换等操作。 matplotlib——绘图库,p…...
DDD - 微服务设计与领域驱动设计实战(上)_统一建模语言及事件风暴会议
文章目录 Pre概述业务流程需求分析的困境统一语言建模事件风暴会议什么是事件风暴(Event Storming)事件风暴会议 总结 Pre DDD - 软件退化原因及案例分析 DDD - 如何运用 DDD 进行软件设计 DDD - 如何运用 DDD 进行数据库设计 DDD - 服务、实体与值对…...
《自动驾驶与机器人中的SLAM技术》ch7:基于 ESKF 的松耦合 LIO 系统
目录 基于 ESKF 的松耦合 LIO 系统 1 坐标系说明 2 松耦合 LIO 系统的运动和观测方程 3 松耦合 LIO 系统的数据准备 3.1 CloudConvert 类 3.2 MessageSync 类 4 松耦合 LIO 系统的主要流程 4.1 IMU 静止初始化 4.2 ESKF 之 运动过程——使用 IMU 预测 4.3 使用 IMU 预测位姿进…...
day07_Spark SQL
文章目录 day07_Spark SQL课程笔记一、今日课程内容二、Spark SQL函数定义(掌握)1、窗口函数2、自定义函数背景2.1 回顾函数分类标准:SQL最开始是_内置函数&自定义函数_两种 2.2 自定义函数背景 3、Spark原生自定义UDF函数3.1 自定义函数流程&#x…...
【LC】2270. 分割数组的方案数
题目描述: 给你一个下标从 0 开始长度为 n 的整数数组 nums 。 如果以下描述为真,那么 nums 在下标 i 处有一个 合法的分割 : 前 i 1 个元素的和 大于等于 剩下的 n - i - 1 个元素的和。下标 i 的右边 至少有一个 元素,也就是…...
Docker 容器通信的网络模式详解
Docker 的网络模式是容器化技术中非常重要的一部分,它决定了容器之间以及容器与外部世界如何通信。Docker 提供了多种网络模式,每种模式都有其特定的使用场景和优势。本文将深入探讨 Docker 的网络模式,包括桥接模式、主机模式、覆盖网络模式…...
Apache和PHP:构建动态网站的黄金组合
在当今的互联网世界,网站已经成为了企业、个人和机构展示自己、与用户互动的重要平台。而在这些动态网站的背后,Apache和PHP无疑是最受开发者青睐的技术组合之一。这一组合提供了高效、灵活且可扩展的解决方案,帮助您快速搭建出强大的网站&am…...
一个简单的html5导航页面
一个简单的 HTML5 导航页面的示例代码: html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><ti…...
积木仪表盘 出现 “没有权限,请联系管理员分配权限“ 解决方法
目录 前言1. 问题所示2. 解决方法前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 原先写过报表的错误!但错误解决方式不一样:jmreport测试数据库出现 权限不足,此功能需要分配角色 解决方法 1. 问题所示 出现 没有权限,请联系管理员分配权限 的…...
C++语言的循环实现
C语言中的循环实现 引言 在程序设计中,循环是一个至关重要的概念。它允许我们在满足某种条件时重复执行某段代码,从而实现复杂的逻辑和算法。C作为一种强大的编程语言,提供了多种循环结构来满足不同的需求。本文将深入探讨C中的循环实现&am…...
高级java每日一道面试题-2025年01月13日-框架篇[Spring篇]-Spring 是怎么解决循环依赖的?
如果有遗漏,评论区告诉我进行补充 面试官: Spring 是怎么解决循环依赖的? 我回答: 在Java高级面试中,Spring框架如何解决循环依赖是一个重要且常见的问题。以下是对Spring解决循环依赖的详细解释: 循环依赖的定义与类型 循环依赖是指两个或多个Bea…...
.Net Core Record 类型
public class Person { public string id {get;init;} public string code {get;init;} public string name {get;init;} } //Person 属性不可单独赋值,相当于使用record定义 public record Person string id,string code,string name) //record类…...
GitLab CI/CD使用runner实现自动化部署前端Vue2 后端.Net 7 Zr.Admin项目
1、查看gitlab版本 建议安装的runner版本和gitlab保持一致 2、查找runner 执行 yum list gitlab-runner --showduplicates | sort -r 找到符合gitlab版本的runner,我这里选择 14.9.1版本 如果执行出现找不到下载源,添加官方仓库 执行 curl -L &quo…...
重邮+数字信号处理实验七:用 MATLAB 设计 IIR 数字滤波器
一、实验目的 1 、加深对窗函数法设计 FIR 数字滤波器的基本原理的理解。 2 、学习用 Matlab 语言的窗函数法编写设计 FIR 数字滤波器的程序。 3 、了解 Matlab 语言有关窗函数法设计 FIR 数字滤波器的常用函数用法。 4 、掌握 FIR 滤波器的快速卷积实现原理。…...
CES 2025:INAIR 推出“另类”AR电脑,重新定义移动计算体验
在2025年国际消费类电子产品展览会(CES)上,INAIR公司凭借其创新的AR电脑产品吸引了众多目光。这款设备不仅融合了增强现实(AR)技术与传统个人电脑的功能,还通过独特的设计理念为用户带来了前所未有的移动计算体验。本文将详细介绍INAIR AR电脑的特点、技术创新及其对未来…...
了解 ASP.NET Core 中的中间件
在 .NET Core 中,中间件(Middleware) 是处理 HTTP 请求和响应的核心组件。它们被组织成一个请求处理管道,每个中间件都可以在请求到达最终处理程序之前或之后执行操作。中间件可以用于实现各种功能,如身份验证、路由、…...
数据结构与算法之链表: LeetCode 234. 回文链表 (Ts版)
回文链表 https://leetcode.cn/problems/palindrome-linked-list/description/ 描述 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表如果是,返回 true ;否则,返回 false 示例 1 输入:head [1,2,2,1]…...
DVWA靶场CSRF漏洞通关教程及源码审计
目录标题 CSRFlow源码审计 medium源码审计 high源码审计 impossible源码审计 CSRF low 先修改密码 看到地址栏 复制在另一个网页打开 成功登录 源码审计 没有任何过滤措施,很危险,并且采用了不安全的md5加密 <?phpif( isset( $_GET[ Change ] )…...
支持Google Analytics快捷添加的CMS:费用与部署形式详解
CMS 的费用和部署形式是选择平台的重要参考因素,不同的业务需求需要不同的解决方案。本文将从费用和部署形式两个角度,详细分析支持 Google Analytics 快捷集成的 CMS 和工具,帮助您更好地了解这些平台的特点。 1. BigCommerce 费用ÿ…...
Kibana操作ES基础
废话少说,开干!!!!!!!!!!!!截图更清晰,复制在下面 #库操作#创建索引【相当于数据库的库】 PUT /first_index#获…...
如何在Ubuntu上安装和配置Git
版本控制系统(VCS)是软件开发过程中不可或缺的工具之一,它帮助开发者跟踪代码变更、协作开发以及管理不同版本的项目。Git作为当前最流行的分布式版本控制系统,因其高效性和灵活性而广受青睐。本文将指导你如何在Ubuntu操作系统上…...
基于springboot+vue+微信小程序的宠物领养系统
基于springbootvue微信小程序的宠物领养系统 一、介绍 本项目利用SpringBoot、Vue和微信小程序技术,构建了一个宠物领养系统。 本系统的设计分为两个层面,分别为管理层面与用户层面,也就是管理者与用户,管理权限与用户权限是不…...
HTB:Driver[WriteUP]
目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 将靶机TCP开放端口号提取并保存 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用smbclient尝…...
Require:利用MySQL binlog实现闪回操作
1,闪回原理 【binlog】MySQL binlog以event的形式,记录了MySQL server从启用binlog以来所有的变更信息,能够帮助重现这之间的所有变化。MySQL引入binlog主要有两个目的:一是为了主从复制;二是某些备份还原操作后需要重…...
黑马linux笔记(03)在Linux上部署各类软件 MySQL5.7/8.0 Tomcat(JDK) Nginx RabbitMQ
文章目录 实战章节:在Linux上部署各类软件tar -zxvf各个选项的含义 为什么学习各类软件在Linux上的部署 一 MySQL数据库管理系统安装部署【简单】MySQL5.7版本在CentOS系统安装MySQL8.0版本在CentOS系统安装MySQL5.7版本在Ubuntu(WSL环境)系统…...
FFmpeg入门
在音视频处理领域,有一款神器级的工具横扫开发者圈,那就是 FFmpeg。它被誉为“音视频处理的瑞士军刀”,凭借强大的功能和开源的特性成为众多开发者和媒体从业者的首选。今天,我们就来聊聊 FFmpeg 的入门使用,带你轻松开…...
如何将 sqlserver 数据迁移到 mysql
文章目录 前言一、导出SQL Server 数据二、转换数据格式为MySQL兼容格式三、导入数据到MySQL数据库五、使用ETL工具六、通过 navicat 工具七、总结 前言 将 SQL Server 数据迁移到 MySQL 是一个常见的数据库迁移任务,通常涉及以下几个关键步骤:导出 SQL…...
【leetcode 13】哈希表 242.有效的字母异位词
原题链接 题解链接 一般哈希表都是用来快速判断一个元素是否出现集合里。 当我们想使用哈希法来解决问题的时候,我们一般会选择如下三种数据结构。 数组 set (集合) map(映射) 如果在做面试题目的时候遇到需要判断一个元素是否出现过的场景…...
git - 用SSH方式迁出远端git库
文章目录 git - 用SSH方式迁出远端git库概述笔记以gitee为例产生RSA密钥对 备注githubEND git - 用SSH方式迁出远端git库 概述 最近一段时间,在网络没问题的情况下,用git方式直接迁出git库总是会失败。 失败都是在远端, 显示RPC错误。 但是git服务器端…...
21天学通C++——9.5复制构造函数
浅复制 复制类对象时只是单纯的复制所有的值,如指针只会复制指针的大小,而不会再开辟同一空间大小的内存,即两个指针指向同一片内存空间。 伪代码: class MyString { private:char*buffer; public:MyString(const char* initStri…...
GPT 系列论文精读:从 GPT-1 到 GPT-4
学习 & 参考资料 前置文章 Transformer 论文精读 机器学习 —— 李宏毅老师的 B 站搬运视频 自监督式学习(四) - GPT的野望[DLHLP 2020] 來自猎人暗黑大陆的模型 GPT-3 论文逐段精读 —— 沐神的论文精读合集 GPT,GPT-2,GPT-3 论文精读【论文精读】…...
【python】OpenCV—Local Translation Warps
文章目录 1、功能描述2、原理分析3、代码实现4、效果展示5、完整代码6、参考 1、功能描述 利用液化效果实现瘦脸美颜 交互式的液化效果原理来自 Gustafsson A. Interactive image warping[D]. , 1993. 2、原理分析 上面描述很清晰了,鼠标初始在 C,也即…...
elasticsearch集群部署
一、创建 elasticsearch-cluster 文件夹 创建 elasticsearch-7.6.2-cluster文件夹 修改服务es服务文件夹为node-001 修改config/elasticsearch.yml 配置文件 # Elasticsearch Configuration # # NOTE: Elasticsearch comes with reasonable defaults for most settings. # …...
python调用window库全屏截图生成bmp位图学习
import io import time import struct import ctypes s time.time() gdi32 ctypes.windll.gdi32 user32 ctypes.windll.user32# 定义常量 SM_CXSCREEN 0 SM_CYSCREEN 1# 缩放比例 zoom 1 screenWidth int(user32.GetSystemMetrics(SM_CXSCREEN) * zoom) screenHeight i…...
Wireshark使用
1.抓包过滤器--BPF语法 类型Type:主机(host)、网段(net)、端口(port) 方向Dir:源地址(src)、目标地址(dst) 协议Proto:各种…...
FLASK 上传文件
HTML form enctype"multipart/form-data" 编码类型说明application/x-www-form-urlencoded表单数据编码为名称/值对。 这是标准编码格式。multipart/form-data表单数据编码为消息,页面上每个控件都有单独的部分。text/plain表单数据以纯文本编码&#x…...