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

大语言模型揭秘:从诞生到智能

在这里插入图片描述

引言

在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)无疑是技术领域最耀眼的明星之一。它们不仅能够理解人类的自然语言,还能生成流畅的文本,甚至在对话、翻译、创作等任务中表现出接近人类的智能水平。大语言模型的出现,不仅标志着自然语言处理(Natural Language Processing, NLP)进入了一个全新的阶段,也深刻改变了我们与计算机交互的方式,使“人机对话”从科幻变成现实。

那么,什么是大语言模型?简单来说,它是一种基于深度学习技术的神经网络模型,通过在海量文本数据上进行训练,学习语言的语法、语义以及复杂的上下文关系,从而能够完成多种语言任务。大语言模型的“大规模”体现在其参数数量(动辄数十亿甚至千亿个参数)和训练数据的体量(覆盖书籍、网页、社交媒体等多领域文本)。例如,OpenAI的GPT-3拥有1750亿个参数,训练数据高达45TB,足以让它生成连贯的文章、回答复杂问题,甚至编写代码。

大语言模型的重要性不仅在于其技术突破,更在于其广泛的应用潜力。从智能助手(如Siri、Alexa)到内容生成工具(新闻初稿、广告文案),再到专业领域的辅助系统(医疗诊断、教育辅导),它们正在渗透到生活的方方面面。然而,这一技术的背后,是数十年的理论积累、算法创新和计算能力的提升。

人工智能的发展历程为大语言模型的诞生铺平了道路。20世纪50年代,科学家们开始探索用规则驱动的系统处理语言;90年代,统计方法带来了新突破;而2010年代深度学习的兴起,则彻底颠覆了NLP的格局。特别是2017年谷歌提出的Transformer架构,成为大语言模型的基石,推动了从BERT到GPT系列的里程碑式发展。

本文将从大语言模型的历史背景、技术原理、智能机制、应用场景、挑战与未来展望五个方面,全面剖析这一技术奇迹。希望通过详细的阐述,帮助读者深入理解大语言模型的诞生与演进,感受其背后的技术魅力。


一、大语言模型,你了解多少?

1.1 从科幻到现实:大语言模型的前世今生

在科幻电影和小说中,智能机器与人类流畅对话的场景总是令人神往。《星际迷航》中的计算机能实时解答船员的问题,《钢铁侠》中的贾维斯更是能理解托尼·斯塔克的幽默指令。这些虚构的智能助手激发了人们对语言处理技术的想象。而在现实中,大语言模型的诞生,正是从这些梦想走向实践的漫长旅程。

早期尝试:规则系统的局限性

自然语言处理的起源可以追溯到20世纪50年代。当时,计算机科学家试图通过编写规则,让机器理解和生成语言。早期的一个典型例子是机器翻译系统,例如IBM在1954年展示的“Georgetown-IBM实验”。这个系统依赖预设的词典和语法规则,将俄语短句翻译成英语。尽管首次演示成功翻译了简单的句子(如“The spirit is willing but the flesh is weak”),但规则系统很快暴露了局限性。

语言的复杂性在于其多义性、上下文依赖和非规则表达。例如,英语句子“I saw a man with a telescope”可以理解为“我用望远镜看到一个人”或“我看到一个拿着望远镜的人”。规则系统无法处理这种歧义,因为它缺乏对上下文的理解。此外,手动编写规则的工作量巨大,覆盖所有语言现象几乎是不可能的任务。到了60年代,NLP研究者意识到,仅靠规则无法实现真正的语言智能。

统计方法的兴起

20世纪90年代,随着统计学和概率论的发展,NLP迎来了新阶段。统计机器学习方法开始取代规则系统,研究人员利用语料库统计词频和词序概率,构建语言模型。一个经典的例子是n-gram模型。它通过分析连续n个词的出现概率,预测句子的下一个词。例如,在语料库中,“I like to”后面常接“eat”,模型就会倾向于预测“I like to eat”。

尽管n-gram模型比规则系统更灵活,但其短板也很明显。首先,它依赖大量标注数据,训练成本高昂。其次,它无法捕捉长距离依赖关系。例如,在句子“The cat that the dog chased yesterday finally caught the mouse”中,“caught”和“cat”的关系跨越多个词,n-gram难以建模这种关联。此外,随着n增大,未见过的词组(数据稀疏性)会导致预测失败。这些局限促使研究者寻找更强大的方法。

深度学习的革命性突破

2010年代,深度学习技术的兴起为NLP带来了翻天覆地的变化。深度学习通过多层神经网络模拟人类大脑的学习过程,能够从海量数据中自动提取复杂的语言特征。2013年,谷歌提出的Word2Vec标志着词嵌入(Word Embedding)技术的诞生。Word2Vec将词汇映射为高维向量,使得词与词之间的语义关系可以用数学运算表示。例如,“国王 - 男人 + 女人 ≈ 女王”,这种向量运算展现了模型对语义的初步理解。

然而,Word2Vec的词向量是静态的,无法根据上下文动态调整含义。例如,“bank”在“river bank”和“bank account”中意义不同,但Word2Vec只能给出一个固定表示。2017年,谷歌的研究团队提出了Transformer架构,彻底改变了这一局面。

Transformer摒弃了传统的循环神经网络(RNN)和卷积神经网络(CNN),引入了自注意力机制(Self-Attention)。RNN按顺序处理词语,计算效率低,且难以捕捉长距离依赖;CNN虽能提取局部特征,但全局建模能力有限。自注意力机制则允许模型同时关注输入序列中的所有词,通过计算词之间的相关性权重,捕捉任意距离的依赖关系。例如,在句子“The animal didn’t cross the street because it was drunk”中,Transformer能迅速关联“it”和“animal”,理解代词指代。这种高效的并行处理能力,使Transformer成为大语言模型的基石。

里程碑模型的演进

基于Transformer架构,一系列划时代的大语言模型相继问世:

  • ELMo (2018):由Allen AI研究所提出,ELMo(Embeddings from Language Models)引入了上下文依赖的词嵌入。它通过双向LSTM网络,动态调整词向量以适应不同语境。例如,“play”在“He plays football”和“The play was excellent”中有不同含义,ELMo能根据上下文生成不同的表示。ELMo在词义消歧、命名实体识别等任务中显著提升了性能。

  • BERT (2018):谷歌推出的BERT(Bidirectional Encoder Representations from Transformers)提出了“掩码语言模型”(Masked Language Model)。它通过随机遮蔽句子中的词(如将“I [MASK] coding”中的“love”遮蔽),训练模型预测这些词,从而学习双向语义。BERT在11项NLP任务(如问答、情感分析)中刷新了纪录,成为行业的标杆。

  • GPT-1 (2018):OpenAI的首个生成式预训练变换器(Generative Pretrained Transformer),将预训练与生成任务结合。它采用单向解码器,通过预测下一个词学习语言规律。尽管参数规模较小(1.17亿),GPT-1展示了生成连贯文本的潜力。

  • GPT-3 (2020):GPT系列的巅峰之作,拥有1750亿参数,能够执行零样本学习(Zero-Shot Learning)。无需特定任务训练,GPT-3仅凭用户提示就能生成文章、回答问题甚至编写代码。例如,输入“写一首关于月亮的诗”,它可能输出:“月光洒满夜空,静谧如梦,银辉轻抚大地,诉说无尽温柔。”其强大性能引发了广泛关注。

  • ChatGPT (2022):基于GPT架构优化,专注于对话任务。ChatGPT能进行多轮对话,理解用户意图,提供自然流畅的回答。例如,用户问:“明天天气如何?”它可能回复:“明天晴朗,气温20-25摄氏度,适合出门。”ChatGPT的成功使其成为家喻户晓的智能助手。

从规则系统到统计模型,再到深度学习的突破,大语言模型的演进是计算能力、算法创新和数据积累共同作用的结果。今天,它们已成为人工智能领域的核心驱动力。

1.2 生活中的大语言模型:无处不在的智能助手

大语言模型已不再是实验室中的概念,而是融入我们日常生活的智能伙伴。以下是它们在不同场景中的具体应用。

日常助手:语音与智能家居

语音助手是大众最熟悉的大语言模型应用。苹果的Siri、亚马逊的Alexa、谷歌助手等,能理解自然语言指令,执行多样化任务。例如,你可以说:“明天7点叫我起床,顺便告诉我上海的天气。”助手会解析指令,设置闹钟,并回复:“明天上海多云,气温18-24摄氏度。”这种能力依赖模型对语音输入的语义解析和意图识别。

在智能家居中,大语言模型与物联网设备结合,带来更人性化的体验。例如,对Alexa说:“今晚有点冷”,它可能推测用户意图,自动将空调调至舒适温度;说“播放轻松的音乐”,它会根据语境选择爵士或轻音乐。这种上下文感知能力,使智能家居从简单的命令执行升级为主动服务。

职场助手:提升生产力

在办公场景中,大语言模型显著提高了效率。微软的Copilot集成在Office套件中,能根据用户需求生成内容。例如,在Word中输入“写一篇关于环保的演讲稿大纲”,Copilot可能生成:

1. 开场:引入环保的重要性
2. 现状:全球污染与资源消耗问题
3. 行动:个人与社会的环保措施
4. 结尾:呼吁共同努力保护地球

在Excel中,输入“分析2023年销售额趋势”,它会自动生成图表并总结规律。这种能力极大节省了时间,尤其对非专业用户友好。

电子邮件管理中,Gmail的智能回复功能也很实用。收到一封“会议时间改了没?”的邮件,模型可能建议回复:“没改,还是周五下午2点。”这种简洁自然的建议,减少了手动输入的麻烦。

程序员则受益于GitHub Copilot。它能根据自然语言描述生成代码。例如,输入“用Python写一个函数计算阶乘”,Copilot会输出:

def factorial(n):if n == 0 or n == 1:return 1else:return n * factorial(n - 1)

若代码中有上下文(如已有变量num = 5),它还能建议调用方式:result = factorial(num)。这种智能补全功能,不仅加速开发,还能帮助初学者学习编程逻辑。

创意助手:灵感与创作

在创意领域,大语言模型成为灵感源泉。新闻机构用它生成初稿,例如输入“今日股市大涨”,模型可能输出:“今日A股全面飘红,沪指上涨3.2%,科技板块领涨……”作家用它续写故事,例如输入“一个雨夜,侦探走进酒吧”,模型可能续写:“雨水顺着他的帽檐滴落,酒吧里烟雾弥漫,钢琴声低沉,他扫视四周,目光最终停在角落里的红衣女子身上。”

广告策划中,模型能快速生成文案。例如,输入“推广一款智能手表”,它可能建议:“掌控时间,智享生活——你的腕上助手。”这种高效的创意输出,为营销人员提供了更多选择。

大语言模型的广泛应用,标志着技术从理论走向实践,深刻改变了我们的生活方式和工作效率。


二、大语言模型的技术内核

大语言模型的强大离不开三个支柱:海量数据、神经网络架构和训练算法。以下是它们的详细剖析。

2.1 数据基石:海量文本的力量

数据是大语言模型的“燃料”,其规模和质量直接决定模型的智能水平。以GPT-3为例,其训练数据高达45TB,包含数十亿网页、书籍、论坛帖子等,覆盖多种语言和领域。

数据的来源与构成

训练数据来源丰富多样:

  • 互联网文本:维基百科提供百科知识,新闻网站反映时事动态,论坛和博客捕捉日常用语。例如,Reddit上的讨论让模型学会俚语和幽默表达。
  • 书籍与学术论文:小说赋予模型文学性,教科书提供专业术语,论文注入前沿知识。例如,阅读《哈利·波特》后,模型能模仿魔幻风格;阅读医学论文后,它能理解“炎症反应”等术语。
  • 社交媒体:Twitter、微博等数据反映口语化语言和实时趋势。例如,“LOL”被识别为“笑出声”的缩写。

通过分析这些数据,模型学习语言的统计规律和语义关系。例如,频繁出现的“咖啡”和“早晨”让模型掌握搭配模式;“战争”和“和平”在书籍中的对比使用,则教会它语义对立。

多样性与质量的平衡

数据的多样性至关重要。如果仅用科技文献训练,模型可能难以理解文学隐喻;若只用英语数据,它将无法处理中文。多样化的数据让模型适应多场景,例如能同时掌握医学领域的“抗生素”、法律领域的“合同违约”和艺术领域的“象征主义”。

然而,数据质量同样不可忽视。互联网文本常包含拼写错误、偏见或虚假信息。例如,若训练数据中“程序员”常与“男性”关联,模型可能在生成内容时表现出性别偏见(如回答“程序员是怎样的?”时默认描述男性)。再如,社交媒体上的谣言可能让模型误学错误知识。为此,研究人员采用以下策略:

  • 数据清洗:移除噪声(如重复文本、乱码)。
  • 去偏处理:平衡性别、种族等敏感属性。
  • 验证筛选:剔除低质量或矛盾的内容。

高质量的多样化数据,是大语言模型智能的基础。

2.2 神经网络架构:模型的“骨架”

神经网络架构是大语言模型的核心,决定了其处理语言的能力。Transformer架构因其高效性和灵活性,成为现代模型的标准。

Transformer的组成

Transformer由编码器(Encoder)和解码器(Decoder)两部分构成:

  • 编码器:将输入文本转化为高维向量表示。例如,输入“I enjoy coding”,编码器生成包含语法和语义信息的向量序列。
  • 解码器:根据编码器输出和已有文本生成后续内容。例如,基于“I enjoy”预测“coding”。

在具体应用中,模型可能只使用一部分。例如,GPT系列仅用解码器,专注于生成任务;BERT则只用编码器,擅长理解任务。

自注意力机制的数学原理

自注意力机制是Transformer的核心。传统RNN按顺序处理词语,计算复杂度高(O(n²)),且遗忘长距离信息;CNN虽能并行,但视野有限。自注意力机制通过以下步骤实现高效建模:

  1. 向量表示:每个词被转化为三个向量:查询(Query, Q)、键(Key, K)、值(Value, V)。例如,“I”可能表示为Q₁、K₁、V₁。
  2. 注意力得分:计算Q和K的点积,衡量词之间的相关性。例如,在“I saw a dog”中,“saw”的Q与“dog”的K得分较高。
  3. 归一化与加权:用Softmax函数将得分归一化为权重,再对V加权求和,生成新表示。

数学公式为:

Attention(Q, K, V) = Softmax(QK^T / √d_k)V

其中,d_k是向量维度,√d_k防止数值过大。以下是一个简化示例:

  • 输入:“The cat sleeps”
  • Q、K、V计算后,发现“sleeps”对“cat”的注意力权重为0.8,对“The”的权重为0.15。
  • 输出:融合上下文的新向量表示。

这种机制让模型并行处理所有词,且能捕捉长距离依赖。例如,在“The scientist who won the prize yesterday announced a breakthrough”中,“announced”和“scientist”的关系得以精准建模。

多头注意力与层级设计

Transformer引入多头注意力(Multi-Head Attention),将注意力分为多个并行子空间。例如,一个头关注语法(如主谓关系),另一个头关注语义(如词义关联)。多头机制通过concatenation和线性变换整合结果,增强表达能力。

此外,Transformer采用多层堆叠(通常6-12层),每层包含注意力模块和前馈网络(Feed-Forward Network)。为避免深层网络的梯度消失问题,还加入了:

  • 残差连接:将输入加到输出上,如x + F(x)。
  • 层归一化:标准化每层输出,稳定训练。

这些设计使Transformer既强大又稳定,成为大语言模型的理想架构。

2.3 训练算法:让模型“学会”语言

训练算法是模型学习的“引擎”,通过优化参数让模型掌握语言规律。

损失函数与梯度优化

训练目标是最小化预测误差。以生成任务为例,模型预测“I like to ___”的下一个词,真实答案是“learn”。交叉熵损失衡量预测分布(如“learn: 0.6, eat: 0.3, sleep: 0.1”)与真实答案的差距:

Loss = -log(P(learn))

优化器(如Adam)根据损失梯度调整模型权重,逐步降低误差。Adam结合动量法和RMSProp,适应复杂参数空间,确保收敛。

预训练与微调的策略

大语言模型通常采用两阶段训练:

  1. 预训练:在海量无监督数据上学习通用语言知识。例如,BERT的掩码任务要求预测“I [MASK] coding”中的“love”;GPT则预测下一个词,如“I like to”后的“learn”。这一阶段耗时长、计算量大,但为模型打下广泛基础。
  2. 微调:在特定任务数据上调整模型。例如,在电影评论数据上微调,训练模型判断情感(如“positive”或“negative”)。微调数据量少、效率高。

此外,近年来还出现了多任务学习迁移学习。多任务学习让模型同时处理翻译、摘要等多种任务;迁移学习则将预训练知识迁移到新领域(如从英语迁移到中文)。

超参数与优化技巧

训练中涉及大量超参数:

  • 学习率:控制权重更新幅度,过大导致发散,过小收敛慢。常见策略是学习率衰减(如从0.001降到0.0001)。
  • 批大小:影响梯度估计精度,GPT-3使用大批量(如512个样本)以充分利用GPU。
  • 正则化:如Dropout(随机丢弃神经元),防止过拟合。

这些技巧确保模型在海量数据上高效学习,成为智能的语言专家。


三、大语言模型的智能奥秘

大语言模型的“智能”体现在语义理解、知识推理和对话交互三个方面。以下是详细分析。

3.1 语义理解:解读文字背后的含义

语义理解是模型的核心能力,使其能超越字面,捕捉语言的深层意义。

上下文建模的威力

以“plant”为例:

  • “The plant needs water”中,模型根据“water”判断“plant”是“植物”。
  • “The plant produces cars”中,根据“produces”推测是“工厂”。

自注意力机制通过关注上下文词汇,确保理解准确。例如,在“I left my phone on the table”中,“on”与“table”的高注意力权重,帮助模型理解位置关系。

复杂语义的处理

模型还能处理隐喻、成语和情感。例如:

  • “He’s a real snake”被理解为“他很狡猾”,而非字面上的动物。
  • “It’s raining cats and dogs”被识别为“下大雨”的夸张表达。

在情感分析中,模型能从“The movie was a rollercoaster of emotions”中提取“强烈情感波动”的含义。这种能力源于对大量文本模式的学习。

歧义消解的挑战

语言中的歧义是一大难点。例如,“They saw the man with the binoculars”可能指“他们用望远镜看到人”或“他们看到拿望远镜的人”。模型通过上下文权重(如关注“saw”还是“man”)解决歧义,但复杂句子仍可能出错。

3.2 知识推理:从已知到未知

知识推理让模型基于已有信息推导新结论,分为以下类型:

  • 逻辑推理:输入“A>B,B>C”,模型推导出“A>C”。
  • 常识推理:基于“鸟类通常会飞,但企鹅是例外”,回答“企鹅会飞吗?”为“不会”。
  • 语义推理:从“水果富含维生素,香蕉是水果”得出“香蕉富含维生素”。
思维链的增强

近期提出的思维链提示(Chain-of-Thought Prompting)显著提升了推理能力。例如,回答“商店有5个苹果,卖了2个,还剩几个?”时,模型可能逐步推理:

  1. 初始数量:5个。
  2. 卖出:2个。
  3. 剩余:5 - 2 = 3个。
    最终回答:“还剩3个苹果。”
知识图谱的辅助

结合知识图谱(如“苹果-属于-水果-富含-维生素C”),模型能回答更复杂的问题。例如,“吃苹果有什么好处?”可能输出:“苹果富含维生素C,有助于增强免疫力。”

3.3 对话交互:模拟人类交流

对话是大语言模型的亮点。以下是一个多轮对话示例:

  • 用户:“今天北京冷吗?”
  • 模型:“根据最新天气数据,北京今天气温10-15摄氏度,偏凉,建议穿外套。”
  • 用户:“那明天呢?”
  • 模型:“明天会升温,预计15-20摄氏度,比较舒适。”
对话管理的机制

对话能力依赖:

  • 意图识别:理解用户需求,如“查天气”。
  • 状态跟踪:记住前文,如“明天”基于“今天北京”的上下文。
  • 回复生成:生成自然连贯的回答。
多轮对话的挑战

多轮对话需保持一致性。例如,若用户说“我喜欢跑步”,后问“有什么建议?”,模型应围绕“跑步”回答(如“穿轻便跑鞋”),而非无关内容。强化学习和对话数据集(如MultiWOZ)帮助优化这一能力。


四、大语言模型的应用万象

大语言模型在各领域的应用日益广泛,以下是具体案例。

4.1 医疗领域:辅助诊断与健康管理

在医疗中,模型分析电子病历和症状描述,辅助诊断。例如,输入“持续咳嗽、发热、呼吸困难”,模型可能输出:“可能是肺炎,建议胸部X光检查。”它还能生成健康建议,如“多休息,避免二手烟”。

在药物研发中,模型分析文献预测药物交互。例如,“阿司匹林和华法林同时使用可能增加出血风险。”此外,它还能为患者生成教育材料,如解释“高血压的成因和预防”。

4.2 教育领域:个性化学习与智能辅导

模型为学生提供个性化辅导。例如,解答“为何1+1=2”时,它可能说:“想象你有1个苹果,再加1个,就有2个。”它还能批改作文,指出语法错误并建议改进。

在线教育平台利用模型实现自适应学习。例如,根据学生答题表现,调整数学题目难度,或生成针对性的讲解视频脚本。这种定制化体验提升了学习效率。

4.3 金融领域:风险评估与客户服务

在金融中,模型分析历史数据预测风险。例如,输入企业财务报表,模型可能评估:“该公司违约概率为15%。”在客户服务中,它能回答“如何申请贷款?”等问题,提供详细步骤。

投资领域,模型生成市场分析报告。例如,输入“近期科技股走势”,它可能输出:“科技股受AI热潮推动,过去三月上涨12%,短期仍有潜力。”


五、大语言模型的挑战与思考

尽管大语言模型前景光明,但也面临诸多挑战。

5.1 数据质量与隐私问题

训练数据中的偏见可能导致不公输出。例如,若数据中“医生”常与“男性”关联,模型可能忽略女性医生。解决方法包括数据去偏和多样化采样。

隐私方面,训练数据可能包含个人信息。差分隐私(添加噪声保护个体数据)和联邦学习(分散训练,不共享原始数据)是潜在解决方案,但需平衡隐私与性能。

5.2 模型的可解释性难题

大语言模型常被视为“黑箱”,决策过程难以理解。例如,为何模型回答“明天会下雨”?可解释性技术(如LIME、SHAP)尝试揭示注意力权重,但复杂推理仍难完全解析。

5.3 伦理与社会影响

模型可能生成虚假信息(如“某地发生地震”)或有害内容(如偏激言论)。此外,自动化可能导致失业,如客服岗位减少。解决之道包括制定伦理准则(如OpenAI的“负责任AI”框架)和加强监管。


六、未来展望

大语言模型的未来充满可能性:

  • 模型压缩:通过剪枝和量化,减小体积,便于手机等设备部署。
  • 多模态融合:结合文本、图像、语音,如输入照片和问题“这是什么花?”回答“这是玫瑰”。
  • 自主学习:通过与环境交互,持续更新知识。

技术进步将重塑教育(个性化教学)、医疗(智能诊断)和就业(新职业机会),但也需警惕数据滥用和伦理风险。政策与技术协同发展,才能确保其造福人类。

相关文章:

大语言模型揭秘:从诞生到智能

引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)无疑是技术领域最耀眼的明星之一。它们不仅能够理解人类的自然语言,还能生成流畅的文本,甚至在对话、翻译、创作等任务中表现出接近人类的智能…...

基于模糊PID控制的供热控制系统设计Simulink仿真

1.模型简介 本仿真模型基于MATLAB/Simulink(版本MATLAB 2017Ra)软件。建议采用matlab2017 Ra及以上版本打开。(若需要其他版本可联系店主代为转换) 换热站干扰因素多导致传统PID控制无法满足控制要求的问题,提出利用…...

宝塔找不到php扩展swoole,服务器编译安装

1. 在php7.4中安装swoole,但找不到这个扩展安装 2. 服务器下载源码解压安装 http://pecl.php.net/package/swoole 下载4.8.0版本 解压到/www/server/php/74/下 3. 发现报错问题; 更新一下依赖 yum update yum -y install gcc gcc-c autoconf libjpe…...

LeetCode 1745.分割回文串 IV:动态规划(用III或II能直接秒)

【LetMeFly】1745.分割回文串 IV:动态规划(用III或II能直接秒) 力扣题目链接:https://leetcode.cn/problems/palindrome-partitioning-iv/ 给你一个字符串 s ,如果可以将它分割成三个 非空 回文子字符串,…...

C++发展

目录 ​编辑C 的发展总结:​编辑 1. C 的早期发展(1979-1985) 2. C 标准化过程(1985-1998) 3. C 标准演化(2003-2011) 4. C11(2011年) 5. C14(2014年&a…...

Python:函数,return返回值与形参实参

函数: 如: def login():print("这是登陆函数") login() #调用几次,函数里面的代码就会运行几次,每次调用的时候函数都会从头开始运行 return返回值:函数执行结束后最后给调用着的一个结果 作用&#xff1a…...

DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)示例2: 分页和排序

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)示例2: 分页和排序📚前言📚页面效果📚指令…...

pandas 文本数据处理

文本数据处理 获取字符串长度: ​ 需要用到函数:str.len() 例: # 求字符串长度 # 引用 pandas import pandas as pd # 定义数据 data {"姓名":["张三","李四","王五","赵六"],"…...

GCC RISCV 后端 -- GCC 后端框架的一些理解

GCC 已经提供了一整套的编译框架,从前端(Frontend / GENERIC-Tree)对编程语言的语法语义处理,到中端(Middle-End / GIMPLE-Tree)的目标机器无关(Target Indepndent)的优化处理&#…...

FastGPT 源码:如何实现 “问题优化“

文章目录 FastGPT 源码:如何实现 "问题优化"一、前言二、源码分析2.1 queryExtension.ts 提示词2.2 queryExtension.ts 核心逻辑2.3 queryExtension 引用位置 三、流程总结 FastGPT 源码:如何实现 “问题优化” 一、前言 问题优化的背景和目…...

CSS—flex布局、过渡transition属性、2D转换transform属性、3D转换transform属性

​ 1.flex布局 也叫弹性布局,是浏览器提倡的布局模型,非常适合结构化布局,提供了强大的空间分布和对齐能力,不会产生浮动布局中脱标现象,布局网页更简单,更灵活。 flex容器属性: 属性描述d…...

Spring Boot Gradle 项目中使用 @Slf4j 注解

Spring Boot Gradle 项目中,如果想使用 Slf4j 注解来启用日志记录,首先需要添加 Lombok 和 SLF4J 的依赖。可以通过以下步骤来添加它们: 1. 添加 Lombok 依赖 在 build.gradle 文件中添加以下 Lombok 依赖: dependencies {impl…...

FreeRTOS系列---程序正常,但任务无法创建

实验环境 stm32F103RCT6核心板 keil5 vscode stm32cubemx 使用stm32cubemx 问题现场 void my_task_init(void) {xTaskCreate(LED1_Task, "LED1_Task", configMINIMAL_STACK_SIZE, NULL, 1, NULL);xTaskCreate(LED2_Task, "LED2_Task", configMINIMA…...

linux应用:errno、perror、open、fopen

errno errno 是一个全局变量,定义在 头文件中。当系统调用(如 open、read、write 等)或库函数执行失败时,会将一个错误码赋值给 errno。不同的错误码代表不同的错误类型,通过检查 errno 的值,可以判断具体…...

物联网中的气象监测设备具备顶级功能

物联网中的气象监测设备具备顶级功能时,通常集成GPS、数据上报和预警系统,以确保精准监测和及时响应。以下是这些功能的详细说明: 1. GPS定位 精准定位:GPS模块提供设备的精确地理位置,确保数据与具体位置关联&#…...

15-YOLOV8OBB损失函数详解

一、YOLO OBB支持的OBB 在Ultralytics YOLO 模型中,OBB 由YOLO OBB 格式中的四个角点表示。这样可以更准确地检测到物体,因为边界框可以旋转以更好地适应物体。其坐标在 0 和 1 之间归一化: class_index x1 y1 x2 y2 x3 y3 x4 y4 YOLO 在内部处理损失和输出是xywhr 格式,x…...

WHAT - 前端异步事件流处理场景梳理

目录 一、典型场景二、解决方案与技术选型1. 基础异步控制2. 状态管理方案3. 复杂任务调度4. 任务取消机制5. 微任务队列优化 三、最佳实践建议四、工具链推荐 前端异步任务流处理是现代Web开发中常见的需求,尤其在复杂业务逻辑、高交互性应用中不可或缺。以下是常见…...

计算机网络软考

1.物理层 1.两个主机之间发送数据的过程 自上而下的封装数据,自下而上的解封装数据,实现数据的传输 2.数据、信号、码元 码元就是数字通信里用来表示信息的基本信号单元。比如在二进制中,用高电平代表 “1”、低电平代表 “0”&#xff0c…...

安防监控/视频集中存储EasyCVR视频汇聚平台如何配置AI智能分析平台的接入?

EasyCVR安防视频监控平台不仅支持AI边缘计算智能硬件设备的接入,还能快速集成AI智能分析平台,接收来自智能分析平台或设备的AI告警信息,如烟火检测、周界入侵检测、危险区域闯入检测、安全帽/反光衣佩戴检测等。 本文将详细介绍如何在EasyCVR…...

做小程序开发的安全防护全方案

小程序开发安全防护方案 为了确保小程序在开发过程中的安全性,以下是一个全面的防护方案: 1. 需求分析与规划 功能模块分析:明确小程序的功能模块,识别高风险区域如用户登录和支付功能。数据分类分级:将数据分为敏感…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...

HTML 列表、表格、表单

1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

【HTTP三个基础问题】

面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...