CodeS:构建用于文本到 SQL 的开源语言模型

发布于:2024 年 10 月 29 日

#RAG #Text2 SQL #NL2 SQL

语言模型在将自然语言问题转换为 SQL 查询(文本到 SQL )的任务中显示出良好的性能。然而,大多数最先进的 (SOTA) 方法都依赖于强大但闭源的大型语言模型 (LLM),例如 ChatGPT 和 GPT-4,这些模型可能存在模型架构不明确、数据隐私风险和昂贵的推理开销等局限性。为了解决这些限制,我们引入了 CodeS ,这是一系列预先训练的语言模型,参数范围从 1B 到 15B,专为文本到 SQL 任务而设计。 CodeS 是一种完全开源的语言模型,它以小得多的参数大小实现了卓越的准确性。实验结果表明,我们的 CodeS 在几乎所有具有挑战性的文本到 SQL 基准测试中都实现了新的 SOTA 准确性和稳健性。

欢迎关注作者,接收最前沿的人工智能技术

一、引言

1.1 研究背景与现状

Text-to- SQL 任务旨在将用户的自然语言问题转换为相应的 SQL 查询,以便在数据库上执行并获取答案。传统方法多采用监督微调(SFT),但随着大型语言模型(LLMs)的兴起,如GPT-4、GPT3.5和PaLM-2等,提示学习(prompt learning)或上下文学习(in-context learning)成为新趋势。然而,当前大多数先进的Text-to- SQL 方法依赖于闭源的LLMs,这带来了诸多局限性,如模型架构不透明、数据隐私风险以及高昂的推理开销等。

1.2 论文核心创新点

开源语言模型:本文介绍了 CodeS ,这是一系列完全开源的语言模型,参数规模从1B到15B不等,专为Text-to- SQL 任务设计,解决了闭源模型的诸多问题。

增量预训练:通过收集包含 SQL 相关、自然语言相关和自然语言到代码数据的语料库,对 StarCoder 进行增量预训练,增强了模型在 SQL 生成和自然语言理解方面的能力。

数据库提示构建:提出了一种综合的数据库提示构建策略,包括Schema 过滤器和值检索器,并融入关键的数据库元数据,有效提升了模型生成 SQL 查询的准确性。

双向数据增强:针对新领域适应问题,采用双向数据增强技术,自动生成大量真实且通用的(问题, SQL )对,减少了标注成本,提高了模型在新领域的适应性。

1.3 CodeS 模型优势

全开源:与依赖闭源LLMs的现有方法不同, CodeS 基于 StarCoder 构建,完全开源,用户可根据自身需求选择合适参数规模的模型,便于进行定制化开发和研究。

高性能:在多个具有挑战性的Text-to- SQL 基准测试中, CodeS 取得了新的最优性能,展现出卓越的准确性和鲁棒性。

小尺寸高效: CodeS 模型规模相较于现有先进的LLMs(如ChatGPT和GPT-4)小10到100倍,但在 SQL 生成能力上表现出色,推理速度更快,所需GPU内存更低,更适合实际部署。

二、相关工作

2.1 监督微调与提示学习

在Text-to- SQL 任务中,监督微调曾是主流方法,通过“编码器-解码器”神经网络模型,利用数据库相关数据进行训练。随着语言模型发展,Text-to- SQL 逐渐被视为序列到序列任务,T5、BART等模型通过微调实现 SQL 查询生成。而提示学习则借助少量示例作为提示,让LLMs在不进行参数微调的情况下完成任务,但在实际应用中,由于使用闭源模型API存在成本和隐私问题,面临一定挑战。

2.2 代码语言模型

现有代码语言模型通常在多种编程语言混合数据上预训练,对于特定编程语言(如 SQL )的小规模模型,其性能可能受限。 CodeS 则专注于以 SQL 为中心的数据进行优化,以提升在Text-to- SQL 任务中的表现。

2.3 模式链接与数据增强

模式链接在Text-to- SQL 过程中起着关键作用,用于识别自然语言问题中的数据库模式和值,主要有基于字符串匹配和神经网络的策略。数据增强方面,现有方法多采用 SQL 到问题的合成管道,但合成问题与实际用户问题存在差异。本文提出的双向数据增强策略,结合了问题到 SQL 和 SQL 到问题的合成,能更准确地生成多样化的用户问题。


三、预备知识

3.1 Text-to- SQL 任务

Text-to- SQL 任务的目标是根据自然语言问题和数据库生成可执行的 SQL 查询。数据库包含模式(表和列)以及元数据(列类型、注释、值、主键和外键关系)。例如,对于查询银行金融数据库中特定条件的银行名称的自然语言问题,需要生成准确的 SQL 查询来获取答案(见图2)。

3.2 预训练语言模型

基于Transformer架构的语言模型,通过无监督学习目标在大规模文本数据上预训练,主要有“语言建模”和“掩码语言建模”两种范式。预训练后的模型可通过监督微调或上下文学习适应特定任务。

四、方案概述

4.1 增量预训练

为提升模型能力,收集了来自多源的语料库,包括 SQL 相关数据(11GB)、自然语言相关数据(4.5GB)和自然语言到代码数据(6GB)。基于 StarCoder 模型,在该语料库上进行增量预训练,得到不同参数规模(1B、3B、7B、15B)的 CodeS 模型,优化目标为广泛使用的语言建模目标。

4.2 数据库提示构建

通过 Schema 过滤器和值检索器构建高质量数据库提示,并融入数据库元数据(列数据类型、注释、代表性值、主键和外键),为模型提供更丰富的上下文信息,有助于生成准确的 SQL 查询。

4.3 新领域适应

提出双向数据增强方法,包括问题到 SQL 和 SQL 到问题的增强。通过收集少量真实用户问题并手动标注 SQL 查询,利用GPT-3.5扩展数据集;同时从现有基准中提取模板,填充新数据库模式并优化问题,生成大量(问题, SQL )对,以适应新领域数据库。

4.4 CodeS 的使用方式

CodeS 可通过监督微调(SFT)和少样本上下文学习两种方式使用。在有大量训练数据时,SFT可使模型快速适应数据分布;数据有限时,可利用少样本上下文学习能力,通过高效检索器选择有用示例辅助模型预测。

五、增量预训练

5.1 预训练语料库

为强化Text-to- SQL 模型在 SQL 生成与自然语言理解方面的能力,本研究从三个关键维度收集数据集。在 SQL 相关数据 方面,运用 StarCoder 预训练语料库中的 SQL 片段,数据量达11GB,以此提升模型生成 SQL 查询的能力。针对 自然语言理解能力 的提升,从Alpaca-cleaned、Unnatural-instructions和UltraChat三个来源采样4.5GB的高质量对话数据,这些数据有助于模型更好地理解用户的自然语言问题。在 自然语言到代码 数据维度,整合了CoNaLa、StaQC、CodeAlpaca 20k和新构建的NL- SQL -458K等数据集,总量为6GB,旨在缩小自然语言问题与 SQL 查询之间的差距,特别是NL- SQL -458K数据集,通过从开源语料库提取 SQL 查询并借助GPT-3.5生成对应自然语言问题的方式构建,为模型提供了丰富的学习素材。

5.2 预训练细节

CodeS 模型基于 StarCoder 构建, StarCoder 预先在多种编程语言、Jupyter笔记本、GitHub问题和Git提交等混合数据上进行了预训练。在开发 CodeS 时,针对 SQL 相关数据进行两阶段的增量预训练,而对自然语言相关和自然语言到代码数据各进行一个阶段的训练,这种混合训练方式有利于模型在自然语言和代码相关任务中发挥出色性能。具体而言, CodeS -15B基于 StarCoder -15B,而 CodeS -(1B、3B、7B)则分别源自相应的 StarCoder Base-(1B、3B、7B)。预训练过程中,优化广泛使用的语言建模目标,采用AdamW优化器,其参数设置为 β1 = 0.9、β2 = 0.95、ε = 10-8,学习率设定为 5e-5,同时应用权重衰减(0.1)和余弦退火学习率调度(无热身步骤,最终学习率为初始值的十分之一)。训练采用大批次(4M tokens)并进行梯度裁剪(裁剪值为1.0),借助 DeepSpeed Zero-3 框架及 BF16 混合精度优化 GPU 内存消耗。由于GPU内存限制, CodeS -(1B、3B、7B) 的最大上下文长度为 8,192,而 CodeS -15B 为 6,144。不同参数规模的 CodeS 模型预训练耗时各异, CodeS -(1B、3B、7B、15B) 分别约需 1.5、3、8、16 天

六、数据库 Prompt 构建

除了模型改进之外,构建有效的数据库提示对于文本到 SQL 任务也至关重要。高质量的提示为语言模型提供了有价值的见解,使其能够更高效地生成精确的 SQL 查询。为了制作这些卓越的数据库提示,我们采用了两个关键策略:Schema 过滤器 值检索器,同时还整合了关键的数据库元数据。算法 1 中介绍了详细说明我们的提示构建过程的伪代码。

6.1 Schema 过滤器

在实际场景中,数据库常包含众多表和列,这可能导致数据库提示过长,超出模型上下文长度,进而影响模型性能。为解决此问题,本研究采用 Schema 过滤器,根据用户问题筛选相关表和列,减少提示长度,同时保留关键信息。具体操作是,开发一个模式项分类器,依据用户问题预测表和列的相关性得分,保留得分最高的top k1个表和每个表中得分最高的top k2个列。对于训练集中的样本,依据真实 SQL 查询确定使用的表和列,若使用的表数量少于top k1,则随机选择未使用的表填充;对于列也采取类似操作,确保每个保留的表包含top k2个列。此策略不仅能缩短数据库提示长度,还能减轻模型的模式链接压力,提升模型性能。

6.2 值检索器

从数据库中检索与问题相关的值,有助于模型在生成 SQL 查询谓词时更好地理解数据库内容,提高查询准确性。以往研究多使用最长公共子串(LCS)算法计算数据库值与问题的匹配度,但该算法在处理大数据集时时间复杂度高,效率低下。为改进此问题,本研究提出“粗到细”的匹配方法。首先利用 Lucene 构建 BM25 索引,根据用户问题快速从数据库中提取数百个潜在相关值,然后使用 LCS 算法计算这些潜在值与问题的匹配度,确定最相关的值。这种方法显著减少了 LCS 算法的调用次数,大大提高了值检索速度,尤其适用于包含大量值的数据库,如 BIRD 基准中的 Donor 数据库。

6.3 数据库元数据

本研究在数据库提示中融入多种关键元数据,以提升模型生成 SQL 查询的准确性。列数据类型 决定了数据的操作规则,例如数值类型支持算术运算,而字符串类型则需转换后才能进行算术操作,尽管模型可从列名和注释中推断部分类型信息,但明确列数据类型仍有助于模型生成更准确的 SQL 查询。数据库中的注释 可解决模式中的歧义问题,特别是在实际数据库中,歧义模式可能导致模型选择错误的表或列,将注释纳入输入可辅助模型进行准确的模式链接。代表性数据库值能为模型提供列值的格式信息,例如告知模型“gender”列的取值范围,有助于生成精确的谓词。主键和外键信息 则指导模型正确推导表之间的连接路径,确保生成准确的JOIN ON子句,本研究使用唯一标识符表示主键列,以特定格式表示外键关系,为模型提供关键的结构信息。

七、新领域适应

在现实世界的场景中,人们通常拥有自己的数据库,这些数据库来自金融、基因、生物学、学术界等各种新领域。但是,由于缺乏标记的训练数据,在这些数据库上开发文本到 SQL 模型具有挑战性。在本节中,我们提出了一种 双向数据增强技术,以最小的注释成本自动生成大量真实和通用(问题、 SQL )对。

7.1 问题到 SQL 增强

针对新领域数据库缺乏标注训练数据的问题,本研究提出问题到 SQL 的增强方法,旨在生成与用户偏好一致的真实(问题, SQL )对。首先,从实际用户中收集少量具有代表性的自然语言问题,这些问题反映了用户对特定数据库的常见查询需求,然后手动为其标注对应的 SQL 查询,获得少量高质量的(问题, SQL )对。由于收集到的问题数量有限,为扩充数据集,引入两阶段提示方法,利用GPT-3.5根据收集到的真实问题生成更多潜在问题,捕捉用户意图,再为这些合成问题生成相应的 SQL 查询。为保证生成问题的多样性,在生成过程中打乱用户提供问题的顺序,并采用高温度超参数。最终生成的新数据对能够更好地反映用户偏好,增强了模型对新领域数据的适应性。

7.2 SQL 到问题增强

受Syntax SQL Net启发,本研究探索了 SQL 到问题的增强方法,通过通用模板生成(问题, SQL )对。具体而言,使用从 Spider 基准中提取的75个常见 SQL 模板,这些模板涵盖多种常见查询模式,如“Return the lowest {COLUMN} of {TABLE}”及其对应的 SQL 模板“SELECT {COLUMN} FROM {TABLE} GROUP BY {COLUMN} ORDER BY COUNT (*) ASC LIMIT 1”。由于单个 SQL 模板可对应多个自然语言问题模板,将新数据库的模式信息填充到模板中,生成大量模板(问题, SQL )对。然而,这些模板问题因直接插入表和列名而显得生硬,为使其更自然,利用GPT-3.5根据手动编写的优化示例对模板问题进行改写,最终生成的新问题与典型Text-to- SQL 数据集更契合,提高了模型对新领域数据分布的适应性。

八、CodeS 的使用方式

8.1 监督微调

在有大量训练数据可用时,监督微调是优化 CodeS 模型的有效方法。首先,将数据库提示与问题组合作为模型输入, CodeS 在训练过程中学习根据此输入预测准确的 SQL 查询,其学习目标是最小化预测 SQL 查询与真实 SQL 查询之间的差异。经过监督微调后,模型能够快速适应特定的数据分布,在面对测试样本时,根据输入的数据库提示和问题准确生成 SQL 查询,有效提高了模型在实际应用中的性能。

8.2 少样本上下文学习

当训练数据有限时,少样本上下文学习使 CodeS 能够利用其预训练知识处理用户问题,无需进行参数微调。在这种方式下,模型的性能不仅取决于其自身的内在能力,还依赖于提供的示例质量。为提高示例选择的有效性,本研究采用“问题模式感知演示检索器”,综合考虑测试问题与训练问题之间的语义相关性和核心结构相似性,选择最有用的K个示例。具体而言,通过去除问题中的实体获取其核心结构(问题模式),使用nltk工具和SimCSE模型计算相似度,避免仅基于实体匹配选择示例导致的偏差。选择示例后,将其与测试样本合并为统一输入序列,送入模型预测 SQL 查询,从而在数据有限的情况下实现较好的性能表现。

九、实验设置与结果分析

9.1 实验设置

9.1.1 数据集

主要实验在 Spider 和 BIRD 两个基准数据集上进行,同时评估模型在 Spider 的四个变体( Spider -DK、 Spider -Syn、 Spider -Realistic和Dr. Spider )上的鲁棒性。此外,还使用了手动创建的金融(Bank-Financials)和学术(Aminer-Simplified)领域的数据库,以测试模型在实际场景中的应用能力。 Spider 数据集包含丰富的训练、开发和测试样本,涵盖多种领域数据库; BIRD 数据集具有更复杂的问题、模糊模式和大量数据值,且提供外部知识(EK)用于特定样本; Spider 变体用于模拟实际场景中的不同挑战;新领域数据库则针对特定领域特点设计任务和评估指标。

9.1.2 评估指标

对于 Spider 家族基准,采用执行准确率(EX)和测试套件准确率(TS)评估,其中EX评估预测与真实 SQL 查询执行结果是否一致,TS通过在多个扩充数据库实例上评估减少EX的误报情况; BIRD 基准主要依赖EX,并引入有效效率分数(VES)评估 SQL 查询执行效率,但VES受硬件、软件和系统状态影响较大,实际应用中EX更稳定可靠。

9.1.3 环境

我们的实验是在运行 CentOS Linux 7 操作系统的计算机上使用 PyTorch 13.1.7 进行的,该计算机配备了 8 个 NVIDIA A800 80GB GPU、一个 Intel(R) Xeon(R) Platinum 8358 CPU 和 1024GB RAM。

9.2 实验结果

9.2.1 少样本上下文学习评估

在 Spider 和 BIRD 基准的少样本上下文学习评估中(见表4),增量预训练显著提升了 StarCoder 的 SQL 生成能力。对比不同版本的 StarCoder 和 CodeS , CodeS 表现更优, CodeS -15B 成为领先的开源预训练语言模型。较小模型在增量预训练后提升更明显,证明了增量预训练对小规模模型在 SQL 相关任务上的重要性。

9.2.2 监督微调评估

在 Spider 开发集上(见表5),SFT CodeS-3B 超越了基于GPT-4的领先方法,SFT CodeS -7B和SFT CodeS -15B达到新的最优性能,但SFT CodeS -15B相比SFT CodeS -7B优势不明显,可能存在过拟合问题,表明更大模型不一定保证更好的微调结果。在 BIRD 数据集上(见表6),由于其复杂性更高,本方法相比基线方法提升显著,SFT CodeS -15B在测试集上的执行准确率相比ChatGPT + COT提升23.20%,且模型生成的 SQL 查询执行效率更高。

9.2.3 鲁棒性基准评估

在 Spider 变体上(见表7),SFT CodeS -7B 表现出色,在不同数据集上相比最佳基线均有显著提升,表明模型在分布变化场景下具有良好的泛化能力。在Dr. Spider 上(见表8),尽管在数据库扰动方面略逊于ChatGPT + ZeroNL2 SQL ,但在自然语言问题扰动方面表现更好,模型对问题语义的理解更准确,整体上SFT CodeS -7B和SFT CodeS -15B的全局平均性能略优于专为文本到 SQL 鲁棒性设计的ChatGPT + ZeroNL2 SQL 。

9.2.4 消融实验

在 Spider 和 BIRD 数据集上的消融实验(见表9)表明,各关键组件对模型性能均有重要影响。仅使用问题相似度检索示例(-w/o pattern similarity)在 Spider 上会导致性能下降,而随机选择示例(-w/o demonstration retriever)在多数情况下会降低性能。Schema 过滤器和值检索器缺失会分别影响性能和生成速度,以及 SQL 查询谓词生成能力。元数据方面,列数据类型影响较小,而注释、代表性数据库值和主键/外键对模型在两个数据集上的性能至关重要。

9.2.5 实际场景评估

在 Bank-Financials 和 Aminer-Simplified 两个新领域数据集上的评估(见表10)显示, CodeS -7B 在不同使用方式下均展现出一定的领域转移能力。通过双向数据增强策略微调后的 CodeS -7B(SFT CodeS -7B using aug. data)在两个数据集上的准确率显著提升,合并多个数据集训练的统一模型(SFT CodeS -7B using merged data)不仅避免了性能下降,还在 Aminer-Simplified 数据集上进一步提高了性能。

9.3 模型效率与部署

与基于提示的先前最优方法 DIN- SQL +GPT-4 相比, CodeS 模型在推理速度上有显著提升(1B、3B、7B、15B变体在 Spider 数据集上的推理时间分别为0.6、0.9、1.1和1.5秒)。在部署方面, CodeS 适合在本地机器上运行,不同参数规模的 SFT CodeS 模型在 Float16 精度下所需 GPU 内存容量分别为 10GB、13GB、20GB 和 35GB,避免了对昂贵的GPT-4 API的依赖。

十、研究结论与展望

10.1 主要研究成果

本研究成功开发了 CodeS 系列模型,这是专为 Text-to- SQL 任务设计的开源语言模型。通过增量预训练、数据库提示构建和双向数据增强等创新技术, CodeS 在多个基准测试中取得了优异成绩,展现出卓越的 SQL 生成能力、准确性和鲁棒性。同时,模型在实际场景中也表现出良好的适应性和效率,为开源 Text-to- SQL 模型的发展做出了重要贡献。

10.2 未来研究方向

未来研究可从以下几个方面展开:进一步优化模型架构和训练方法,提高模型性能和效率;探索更有效的数据增强策略,以更好地适应不同领域和复杂场景;加强对模型可解释性的研究,提升用户对模型决策的信任度;将Text-to- SQL 技术与其他人工智能技术(如知识图谱、强化学习)相结合,拓展其应用范围和功能。

本研究通过对 CodeS 模型的深入探索,为Text-to- SQL 领域提供了一种强大的开源解决方案,有望推动相关技术在实际应用中的广泛部署和进一步发展。希望本研究成果能为人工智能领域的研究人员和开发者提供有价值的参考,共同推动自然语言处理与数据库技术的融合创新。

论文地址:CodeS : Towards Building Open-source Language Models for Text-to- SQLicon-default.png?t=O83Ahttps://arxiv.org/pdf/2402.16347v1

代码地址:https://github.com/RUCKBReasoning/ CodeS icon-default.png?t=O83Ahttps://github.com/RUCKBReasoning/codes

原文链接:CodeS:构建用于文本到 SQL 的开源语言模型CodeS 是一系列预先训练的语言模型,参数范围从1B到15B,专为文本到SQL任务而设计。CodeS是一种完全开源的语言模型,它以小得多的参数大小实现了卓越的准确性,实现了新的SOTA准确性和稳健性。icon-default.png?t=O83Ahttps://mp.weixin.qq.com/s/nrvcEdXfWFqeQDEKi9Ckkw

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/908315.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入浅出 Spring Boot 与 Shiro:构建安全认证与权限管理框架

一、Shiro框架概念 (一)Shiro框架概念 1.概念: Shiro是apache旗下一个开源安全框架,它对软件系统中的安全认证相关功能进行了封装,实现了用户身份认证,权限授权、加密、会话管理等功能,组成一…

「Mac畅玩鸿蒙与硬件17」鸿蒙UI组件篇7 - Animation 组件基础

在应用开发中,动画效果可以增强用户体验。鸿蒙框架提供了 translate、scale 和 rotate 等动画功能,允许对组件进行平移、缩放和旋转等操作。本篇将介绍 Animation 组件的基础知识和示例代码。 关键词 Animation 组件动画效果位置动画自动动画缩放动画 一…

详解:模板设计模式

模板设计模式(Template Pattern)是一种行为设计模式,在软件设计中有着广泛的应用,旨在提高代码的可维护性和可复用性。 一、定义与特点 定义: 模板设计模式定义了一个算法的骨架,将某些步骤推迟到子类中实…

Java中的时区和带时区的时间对象:ZoneId类、ZonedDateTime类

在 Java 中,ZoneId 和 ZonedDateTime 是处理时区和带时区日期时间的重要类,它们属于 java.time 包,这个包是在 Java 8 中引入的,用于替代旧的日期和时间 API(java.util.Date、java.util.Calendar 等)。 1、…

微积分复习笔记 Calculus Volume 1 - 4.5 Derivatives and the Shape of a Graph

4.5 Derivatives and the Shape of a Graph - Calculus Volume 1 | OpenStax

Windows配置Nodejs及nmp简明教程(2024可用)

一、下载及安装Nodejs 下载 Node.js 中文网 (nodejs.com.cn)在此下载windows长期维护版本的.msi安装包,64位 安装: 双节安装包一直点击Next下一步,注意安装路径选择C盘默认路径(C:\Program Files\nodejs\)即可&#x…

MATLAB实现蝙蝠算法(BA)

MATLAB实现蝙蝠算法(BA) 1.算法介绍 蝙蝠算法(简称BA)是一种受微型蝙蝠回声定位机制启发的群体智能算法,由Xin-She Yang于2010年提出。这种算法模拟了微型蝙蝠通过向周围环境发出声音并监听回声来识别猎物、避开障碍物以及追踪巢穴的行为。…

JavaStream流

认识 在java.util.stream util包下的新增API,可以用于操作集合或者数组的数据。 功能强大(提供了很多结合Lambda的API),性能高效(有很多优化),代码简洁(Lambda),可读性好…

【LwIP源码学习4】主线程tcpip_thread

前言 本文对lwip的主要线程tcpip_thread进行分析。 正文 tcpip_thread是lwip最主要的线程,其创建在tcpip_init函数中 sys_thread_new(TCPIP_THREAD_NAME, tcpip_thread, NULL, TCPIP_THREAD_STACKSIZE, TCPIP_THREAD_PRIO);tcpip_init函数被TCPIP_Init函数调用。…

HarmonyOS鸿蒙开发入门,常用ArkUI组件学习(二)

书接上回,让我们继续来学习ArkUI的其他组件 目录,可以点击跳转到想要了解的组件详细内容 组件四:Button组件五:Slider组件六: Column & Row组件七:循环控制组件八: List 组件四:…

四、k8s快速入门之Kubernetes资源清单

kubernetes中的资源 ⭐️ k8s中所有的内容都抽象为资源,资源实列化之后,叫做对象 1️⃣名称空间级别 ⭐️ kubeadm在执行k8s的pod的时候会在kube-system这个名称空间下执行,所以说当你kubectl get pod 的时候是查看不到的查看的是默认的po…

【收藏版】产品经理工作全流程拆解:每一步都是成功的基石

在信息爆炸的今天,产品经理的角色愈加重要。市场分析、用户需求调研、竞品分析、市场定位、产品设计、开发测试……每一个环节都可能决定产品的成败。这篇文章将带你逐步解读从产品立项到上线运营的全流程,为你揭开产品经理的核心工作要点。无论你是新手…

11.1组会汇报-基于区块链的安全多方计算研究现状与展望

基础知识 *1.背书,这个词源来自银行票据业务,是指票据转让时,原持有人在票据背面加盖自己的印鉴,证明该票据真实有效、如果有问题就可以找原持有人。 区块链中的背书就好理解了。可以简单的理解为验证交易并声明此交易合法&…

客如云:大型业务报表的分区化改造提升性能|OceanBase 应用实践

一 概述 1 背景 在过去两到三年的时间里,客如云的KPOS产品在商户数量和订单量均实现了数倍的增长,充分展示了产品的市场吸引力和业务模式的成功。然而,随着更多的大型连锁商户的加入,客如云商家平台迎来了前所未有的挑战。特别是…

一:Linux学习笔记(第一阶段)-- 安装软件 vmware workstation 虚拟机软件 centos系统

目录 学习计划: 资源准备 虚拟机软件:就别自己找了 现在换网站了 下载比较费劲 Centos8: 阿里云镜像地址下载(下载比较版 但是有不同版本):centos安装包下载_开源镜像站-阿里云 百度网盘地址&#xff…

git 删除远程不存在本地命令却能看到的分支

要删除远程不存在但本地却能看到的分支&#xff0c;你可以按照以下步骤操作&#xff1a; 删除本地分支&#xff1a; 如果你确定要删除的分支已经没有用处&#xff0c;可以使用以下命令来删除本地分支&#xff1a; git branch -d <branch-name>这里的 <branch-name>…

为数据集而生的 SQL 控制台

随着数据集的使用量急剧增加&#xff0c;Hugging Face 社区已经变成了众多数据集默认存放的仓库。每月&#xff0c;海量数据集被上传到社区&#xff0c;这些数据集亟需有效的查询、过滤和发现。 Dataset Monthly Creations 每个月在 Hugging Face Hub 创建的数据集 我们现在非常…

城市道路智慧照明服务认证介绍

城市道路智慧照明服务认证介绍 一 认证依据标准 城市道路智慧照明服务认证主要依据《城市道路智慧照明服务评价技术规范》标准&#xff0c;对城市道路照明服务提供商在智慧照明领域的服务质量、技术能力、管理水平等方面&#xff0c;进行综合评估和认证。 二 认证范围 城市道路…

云原生开源开发者沙龙丨AI 应用工程化专场杭州站邀您参会

云原生开源开发者沙龙 AI 原生应用架构专场&#xff0c;邀您一起交流&#xff0c;探索 AI 原生应用的工程化落地&#xff01; 活动简介 AI 驱动的应用程序开发、部署和运维&#xff0c;给应用带来了新的生命力和想象空间。但大部分开发者对 AI 应用的编程框架、可观测体系、网…

Selenium的下载及chrome环境搭建

Selenium的下载及环境的搭建 1.安装python环境 conda 安装python环境《略》2.在CMD在使用pip下载Selenium pip install selenium #pip安装3.下载webdriver 进入Selenium的下载界面&#xff1a;https://www.selenium.dev/downloads/ 下拉找到Browsers 4、驱动与浏览器 ht…