架构师必修之项目篇:基于ASR+GPT4.0+TTS实现全双工智能语音助手

1. 系统架构设计

1.1 ASR模块设计

ASR(Automatic Speech Recognition)模块是全双工智能语音助手的前端入口,负责将用户的语音输入转换为文本数据。该模块的设计关键在于高准确率的语音识别和快速响应。

  • 语音信号预处理:首先对采集的语音信号进行降噪和增强,以提高识别准确率。使用傅里叶变换(FFT)等算法去除背景噪音,并增强语音信号的特征。

  • 特征提取:通过梅尔频率倒谱系数(MFCC)等特征提取技术,将语音信号转换为对ASR算法更友好的格式。

  • 声学模型:利用深度学习技术,如循环神经网络(RNN)和连接时序分类(CTC),构建声学模型以识别语音中的文字信息。

  • 语言模型:集成语言模型以提高识别的上下文准确性,使用n-gram模型或基于Transformer的预训练语言模型。

  • 响应时间:优化算法以减少延迟,确保ASR模块能够在200毫秒内完成语音到文本的转换,以适应实时交互的需求。

1.2 GPT4.0集成与应用

GPT4.0作为智能语音助手的核心技术,负责处理和生成响应的文本信息。其集成与应用需要考虑如何高效利用其多模态和大规模参数优势。

  • 意图识别:利用GPT4.0的语义理解能力,对ASR模块输出的文本进行意图分类,确定用户的需求。

  • 上下文管理:维护对话状态,使GPT4.0能够在多轮对话中保持上下文的连贯性。

  • 多模态输入处理:除了文本信息,GPT4.0还能处理图像等其他模态的输入,提供更丰富的交互体验。

  • 文本生成:根据意图识别和上下文信息,生成准确的响应文本。利用GPT4.0的生成能力,可以创建风格多样、内容丰富的回复。

  • 持续学习:通过在线学习或用户反馈,不断优化GPT4.0的对话策略和知识库,以适应不断变化的用户需求。

1.3 TTS模块设计

TTS(Text-to-Speech)模块是智能语音助手的输出端,负责将文本信息转换为自然流畅的语音输出。

  • 文本分析:对生成的文本进行语言学分析,包括分词、词性标注和韵律分析,以确定语音的语调、节奏和强度。

  • 语音合成:使用基于深度学习的合成技术,如WaveNet或Tacotron 2,生成高质量的语音波形。

  • 个性化定制:允许用户定制语音的性别、年龄和情感等特征,以提供个性化的语音输出。

  • 自然度优化:通过调整语音的自然度,如增加适当的停顿和语调变化,使合成语音更接近人类自然语音。

  • 响应速度:优化TTS算法以减少合成时间,确保在500毫秒内完成文本到语音的转换,以支持实时交互。

1.4 全双工通信机制

全双工通信机制允许智能语音助手在发送语音响应的同时,继续接收用户的语音输入,实现真正的双向实时交互。

  • 信号处理:设计高效的信号处理算法,以分离发送和接收的语音信号,消除回声和干扰。

  • 通信协议:采用支持全双工通信的网络协议,如WebRTC,确保数据的实时传输和低延迟。

  • 硬件支持:选择支持全双工模式的麦克风和扬声器硬件,以实现高质量的语音输入和输出。

  • 资源管理:优化系统资源分配,确保在全双工模式下,CPU和内存等资源能够满足同时进行的语音识别和合成需求。

  • 用户体验:通过用户研究和反馈,不断调整全双工通信机制,以提供自然、无间断的对话体验。

2. ASR技术实现

2.1 声学模型训练

声学模型训练是ASR系统的核心环节,其目的是让机器通过学习大量的语音数据,能够准确识别出语音中的音素或单词。在训练过程中,我们采用了以下策略:

在这里插入图片描述

  • 数据集构建:收集了超过10,000小时的多语种、多口音的语音数据,以确保模型的泛化能力。数据集包含日常对话、新闻播报、会议记录等多种场景,以覆盖不同的语言使用环境。

  • 深度学习框架:基于TensorFlow和PyTorch等深度学习框架,我们构建了基于LSTM和CNN的声学模型。这些模型能够自动从语音信号中提取特征,并学习音素之间的复杂关系。

  • 端到端训练:采用端到端的训练方法,直接从语音信号到文本的映射,避免了传统GMM-HMM模型中需要手动设计特征的步骤。这种方法简化了训练流程,并提高了识别准确率。

  • 模型优化:通过使用Batch Normalization和Dropout等技术,减少了模型的过拟合现象,提高了模型的鲁棒性。同时,我们还采用了Early Stopping技术,在验证集上的性能不再提升时停止训练,以防止过拟合。

  • 性能评估:在独立的测试集上评估模型的性能,使用Word Error Rate (WER)作为主要的评价指标。测试集包含了与训练集不同的说话人和录音环境,以确保模型在实际应用中的有效性。

2.2 语言模型应用

语言模型在ASR系统中起到至关重要的作用,它能够帮助系统更好地理解语音内容的上下文信息,并提高识别的准确性。

  • n-gram模型:我们使用了基于n-gram的语言模型来捕捉词汇之间的统计关系。通过大量文本数据的训练,模型能够预测给定词汇序列的概率,从而指导ASR系统的解码过程。

  • 预训练语言模型:利用如GPT-3等预训练语言模型,我们进一步提升了ASR系统的性能。这些模型在大规模文本语料上进行预训练,能够捕捉到更深层次的语言特征和模式。

  • 上下文感知:语言模型不仅考虑了词汇之间的邻近关系,还通过上下文感知技术,如注意力机制,来理解更远距离的词汇依赖关系。这使得ASR系统能够更准确地处理复杂的语言结构。

  • 多语言支持:为了支持多语言识别,我们训练了多个语言模型,包括英语、中文、西班牙语等主要语种。这些模型能够根据输入语音的特征,动态选择最合适的语言模型进行解码。

2.3 实时语音识别处理

实时语音识别处理是全双工智能语音助手的关键特性之一,它要求ASR系统能够快速、准确地处理连续的语音流。

  • 流式处理:我们实现了流式处理机制,使得ASR系统能够对实时到来的语音数据进行即时处理和识别。这种机制允许系统在不等待整个语音输入结束的情况下,就开始识别和响应。

  • 延迟优化:为了满足实时交互的需求,我们对ASR系统的延迟进行了优化。通过算法优化和硬件加速,我们成功将端到端的识别延迟降低到了500毫秒以内。

  • 回声消除和噪声抑制:在实时语音识别中,回声和背景噪声是对识别准确率的主要干扰因素。我们采用了先进的信号处理技术,如谱减法和深度学习降噪,来提高系统的鲁棒性。

  • 自适应学习:ASR系统能够根据用户的反馈和交互历史,动态调整识别策略和模型参数。这种自适应学习能力使得系统能够更好地适应不同用户的语音特点和习惯。

3. GPT4.0技术实现

3.1 模型微调与优化

GPT-4.0模型的微调和优化是确保其在特定应用场景中达到最佳性能的关键步骤。以下是GPT-4.0模型微调过程中的关键技术和策略:

  • 数据集构建:为了微调GPT-4.0模型,我们构建了一个包含超过5000小时的语音交互数据集,涵盖了各种场景和语言环境。这些数据通过人工标注和清洗,确保了数据的质量和多样性。

  • 模型架构调整:在保持GPT-4.0基础架构不变的前提下,我们对模型的某些层进行了调整,以适应特定的语音识别和生成任务。例如,增加了自注意力层的头数,以增强模型对长距离依赖关系的捕捉能力。

  • 损失函数优化:在微调过程中,我们采用了混合损失函数,结合了交叉熵损失和感知损失,以平衡模型的预测准确性和语音的自然度。

  • 端到端训练:GPT-4.0模型的微调采用了端到端的训练策略,直接在语音到文本的转换和文本到语音的合成任务上进行优化。这种训练方法简化了流程,并提高了模型的总体性能。

  • 模型蒸馏:为了在保持性能的同时减少模型的计算需求,我们采用了知识蒸馏技术。通过将大型教师模型的知识转移到小型学生模型,我们成功地减少了模型的大小,同时保持了相似的性能。

  • 性能评估:微调后的模型在独立的测试集上进行了评估,使用了BLEU、ROUGE等指标来衡量文本生成的质量和相似度。此外,我们还通过用户研究收集了反馈,以评估模型在实际应用中的表现。

3.2 上下文管理与维护

在全双工智能语音助手中,上下文管理是维持流畅对话的关键。GPT-4.0模型在这方面采取了以下措施:

  • 对话状态跟踪:GPT-4.0模型采用了对话状态跟踪技术,以维护用户的意图和对话的历史信息。这种状态跟踪机制允许模型在多轮对话中保持上下文的连贯性。

  • 上下文窗口优化:为了处理长对话,GPT-4.0模型引入了动态上下文窗口,能够根据对话的复杂性和深度动态调整上下文的大小。

  • 记忆网络:通过集成记忆网络,GPT-4.0模型能够存储和检索过去的交互信息,这对于处理需要长期记忆的复杂任务尤为重要。

  • 上下文刷新机制:在检测到对话主题变化时,模型会刷新上下文信息,以避免不相关的信息干扰当前的对话。

  • 用户反馈学习:模型通过用户的反馈进行在线学习,不断更新对话策略和知识库,以适应用户的需求变化。

3.3 多模态输入输出处理

GPT-4.0模型在处理多模态输入和输出方面采取了以下技术策略:

  • 模态融合:GPT-4.0模型通过融合文本、语音和图像等多种模态的信息,提高了对话的丰富性和准确性。模型采用了特殊的注意力机制来整合不同模态的特征。

  • 图像理解能力:为了处理图像输入,GPT-4.0模型集成了视觉识别模块,能够识别和理解图像中的内容,并将其转化为文本描述。

  • 语音合成多样性:在语音输出方面,GPT-4.0模型支持多种语音合成技术,包括传统的参数合成和基于深度学习的波形合成,以满足不同场景的需求。

  • 情感分析:模型还集成了情感分析模块,能够识别用户语音中的情感倾向,并在回复中适当地调整语气和情感,以提供更自然的交互体验。

  • 自适应模态选择:根据对话的上下文和用户的偏好,GPT-4.0模型能够自适应地选择最合适的模态进行输入和输出,以提供最佳的用户体验。

4. TTS技术实现

4.1 语音合成算法选择

在全双工智能语音助手的TTS模块中,选择合适的语音合成算法是确保语音自然度和可理解性的关键。当前,主流的语音合成算法主要分为两类:基于统计参数的合成和基于深度学习的端到端合成。

  • 基于统计参数的合成:这类方法通过统计模型对语音信号的参数进行建模,然后通过声码器合成语音。尽管这种方法在早期语音合成领域占据主导地位,但它通常需要复杂的特征工程和声码器设计,且难以生成高质量、自然流畅的语音。

  • 基于深度学习的端到端合成:随着深度学习技术的发展,端到端的语音合成方法如WaveNet、Tacotron 2和FastSpeech等已经成为研究和应用的热点。这些方法能够直接从文本特征学习到语音波形的映射,无需传统的声学模型和声码器,能够生成更加自然和高质量的语音。

在本项目中,我们选择了基于深度学习的端到端合成方法,特别是Tacotron 2和WaveNet的结合体,作为我们的语音合成算法。Tacotron 2负责将文本转换为梅尔频谱图,而WaveNet声码器则将梅尔频谱图转换为波形数据。这种组合不仅提高了语音的自然度,还缩短了合成时间。

4.2 语音质量控制

语音质量控制是确保全双工智能语音助手提供高质量语音输出的重要环节。为了提高语音质量,我们采取了以下措施:

  • 信号处理:在语音合成前,对梅尔频谱图进行处理,包括动态范围压缩和归一化,以减少噪声和提高语音的清晰度。

  • 声码器优化:通过优化WaveNet声码器的参数,如调整滤波器的参数和改进训练策略,我们能够生成更加自然和流畅的语音。

  • 客观质量评估:使用客观评价指标,如PESQ(Perceptual Evaluation of Speech Quality)和STOI(Short-Time Objective Intelligibility),来评估合成语音的质量,并根据这些指标进行模型优化。

  • 主观质量评估:定期进行听测实验,邀请真人评价合成语音的自然度、清晰度和可理解性,以确保合成语音满足用户的实际需求。

4.3 情感与语调调节

为了使合成语音更加自然和富有表现力,我们在TTS模块中加入了情感与语调调节功能。

  • 情感识别:通过分析用户的语音输入,识别其情感状态,如快乐、悲伤或愤怒,并在合成语音时相应地调整语调。

  • 语调模型:开发了基于深度学习的语调模型,能够根据文本内容和上下文信息,自动调整合成语音的语调、节奏和强度。

  • 个性化定制:允许用户根据个人喜好调整语音的语调特征,如音高、语速和音量,以实现更加个性化的语音输出。

  • 上下文感知:在合成语音时,考虑上下文信息,如句子的结构和语义,以及前后文的关系,以生成更加自然和连贯的语音。

通过这些技术实现,我们的全双工智能语音助手能够在不同的对话场景中,提供自然、流畅且富有表现力的语音输出,极大地提升了用户的交互体验。

5. 系统优化与评估

5.1 延迟与响应速度优化

在全双工智能语音助手的实现中,延迟和响应速度是影响用户体验的关键因素。为了提供流畅的交互体验,系统必须能够在极短的时间内处理语音输入并生成语音输出。

  • 端到端延迟优化:我们通过优化ASR、GPT-4.0和TTS模块的协同工作,实现了端到端的延迟优化。具体来说,ASR模块的语音到文本转换时间被优化到了200毫秒以内,GPT-4.0模型的文本处理时间控制在100毫秒以内,而TTS模块的文本到语音合成时间也被缩短到了200毫秒。这样,整个系统的延迟被控制在了500毫秒以内,满足了实时交互的需求。

  • 并行处理策略:为了进一步降低延迟,我们采用了并行处理策略。ASR模块在接收到语音输入的同时,GPT-4.0模型已经开始对可能的意图进行预测和处理,而TTS模块则在文本生成后立即开始语音合成。这种并行处理方式大大减少了系统的等待时间,提高了响应速度。

  • 资源动态分配:系统根据当前的负载动态分配计算资源,优先处理正在进行的语音交互任务。在高负载情况下,系统会自动调整资源分配策略,确保关键任务的响应速度不受影响。

5.2 系统鲁棒性测试

系统鲁棒性是确保全双工智能语音助手在各种环境下都能稳定工作的重要指标。我们对系统进行了全面的鲁棒性测试,以确保其在面对异常输入和外部干扰时仍能保持正常运行。

  • 异常输入测试:系统被设计为能够处理各种异常输入,包括噪音干扰、不同口音和语速的语音输入。我们通过模拟这些异常情况,测试了ASR模块的识别准确率和GPT-4.0模型的意图理解能力,确保系统在实际应用中的鲁棒性。

  • 压力测试:系统在高并发情况下的性能也是我们关注的重点。我们通过压力测试模拟了大量用户同时进行语音交互的场景,评估了系统的稳定性和处理能力。测试结果表明,系统能够承受高并发请求,且不会出现性能瓶颈。

  • 恢复能力测试:我们对系统在遇到故障时的恢复能力进行了测试。例如,当ASR模块无法识别某些语音输入时,系统能够自动切换到备用识别策略,确保交互的连续性。此外,系统还能够在网络中断等情况下自动保存当前状态,并在恢复后继续之前的对话。

5.3 用户体验评估

用户体验是衡量全双工智能语音助手成功的关键因素。我们通过一系列的用户体验评估,确保系统能够提供自然、流畅且富有吸引力的交互体验。

  • 用户满意度调查:我们定期进行用户满意度调查,收集用户对语音助手性能、响应速度和交互自然度的反馈。调查结果显示,用户对系统的总体满意度较高,尤其是在响应速度和交互自然度方面。

  • 可用性测试:通过可用性测试,我们评估了用户在使用语音助手时的效率和效果。测试结果表明,用户能够快速地完成各种任务,如查询信息、设置提醒等,且错误率极低。

  • 多轮对话评估:在多轮对话场景中,我们评估了系统在保持上下文连贯性和理解用户意图方面的能力。评估结果表明,GPT-4.0模型能够有效地维护对话状态,提供连贯且相关的回应。

通过这些系统优化和评估措施,我们确保了全双工智能语音助手能够在各种场景下提供高效、稳定且用户友好的服务。

6. 总结

本文详细介绍了基于ASR+GPT4.0+TTS实现全双工智能语音助手的系统架构设计、技术实现和优化策略。通过综合运用自动语音识别(ASR)、生成式预训练变换模型4.0(GPT-4.0)和文本转语音(TTS)技术,我们成功构建了一个能够实现双向实时交互的智能语音助手。

6.1 系统架构优势

本系统架构设计考虑了全双工通信的需求,通过精心设计的ASR、GPT-4.0和TTS模块,实现了高准确率的语音识别、快速的意图理解和自然流畅的语音合成。全双工通信机制的使用,使得系统能够在发送语音响应的同时继续接收用户的语音输入,提供了真正的双向实时交互体验。

6.2 技术创新点

系统的技术创新点主要体现在以下几个方面:

  • 高准确率的ASR模块:通过深度学习技术和优化的声学及语言模型,实现了高准确率的语音识别,即使在嘈杂环境下也能保持高识别准确率。

  • 高效的GPT-4.0集成:利用GPT-4.0的强大语义理解和生成能力,系统能够快速理解用户意图并生成准确的响应文本。

  • 自然的TTS输出:结合Tacotron 2和WaveNet的技术,TTS模块能够生成高质量、自然流畅的语音输出,提供个性化的语音定制。

  • 全双工通信机制:通过精心设计的信号处理和通信协议,系统实现了真正的全双工通信,提供了无缝的双向实时交互体验。

6.3 系统优化策略

为了提供流畅的用户体验,我们采取了以下系统优化策略:

  • 延迟优化:通过并行处理和资源动态分配,系统能够在极短的时间内处理语音输入并生成语音输出,满足了实时交互的需求。

  • 鲁棒性测试:系统在设计时充分考虑了各种异常情况,通过压力测试和恢复能力测试,确保了系统在高负载和异常情况下的稳定性。

  • 用户体验评估:通过用户满意度调查、可用性测试和多轮对话评估,我们不断收集用户反馈,优化系统性能,提升用户体验。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费或点击下方蓝色字 即可免费领取↓↓↓

**读者福利 |** 👉2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享 **(安全链接,放心点击)**

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

为什么说PPQ对于FPGA的神经网络的量化来说是神?

这几天踩了无数坑把PPQ走通了,把自己搭的一个网络实现了完美量化,测试结果也可以正常分类。看到结果终于明白为什么说PPQ对于FPGA的神经网络的量化来说是神了 虔诚地放出链接: OpenPPL/ppq PS:这辈子要是能去商汤就好了…… 一、 …

VMWareTools安装及文件无法拖拽解决方案

文章目录 1 安装VMWare Tools2 安装vmware tools之后还是无法拖拽文件解决方案2.1 确认vmware tools安装2.2 客户机隔离2.3 修改自定义配置文件2.4 安装open-vm-tools-desktop软件 1 安装VMWare Tools 打开虚拟机VMware Workstation,启动Ubuntu系统,菜单…

【TabBar嵌套Navigation案例-常见问题按钮-WebView-加载本地html文件 Objective-C语言】

一、接下来,我们来说,webView如何加载本地的html文件 1.把这里的http://www.baidu.com/ 如何替换成本地的html文件,实际上,我们只需要把URL替换一下就可以了, 然后呢,先给大家看一眼素材,在我们的help.json里边,比如说,第一个按钮, 如何领奖,这块儿有一个叫做htm…

pwn:[NISACTF 2022]ReorPwn?

题目 解题 附件下载 在kali里打开 执行checksec命令,查看控制程序的命令 64位 用ida64位版本打开 打开页面显示如下 发现关键函数system() 双击system(a) 显示如下 需要知道command是怎么传入的 通过原始的数据可以知道 gets函数获取参数a,即用户输入…

诗林工作室(编号:mb0005)分享:HTML模版Paxton,一款自适应响应式图集、博客设计开发模板

这是来自国外一款HTML网页模板,适合Web开发人员做前端站点设计参考使用。全站模版倾向于图集、博客等多行业的平台模版开发。此模版适合各大CMS的主题模版开发参考,如常见的Wordpress主题开发、Z-Blog模板开发、Typecho模板开发、DiscuzX模板开发、Jooml…

JavaScript缓存之Service Worker workbox

目录 先来看看基础Service Worker 注册阶段 安装和激活 workbox workbox-webpack-plugin 来看看结果 这次再做组件的库模式打包之后想着优化js加载,于是想到了大家用的并不是很多的Service Worker技术,这个技术类似于原生的离线包能力 先来看看基…

Html编写发射粒子爱心

下载html文件&#xff1a;https://download.csdn.net/download/m0_58419490/89963280 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"><title>&#x1f497;</title>…

什么是分布式光伏发电?设备构成、应用形式讲解

分布式光伏发电系统&#xff0c;又称分散式发电或分布式供能&#xff0c;是指在用户现场或靠近用电现场配置较小的光伏发电供电系统&#xff0c;以满足特定用户的需求&#xff0c;支持现存配电网的经济运行&#xff0c;或者同时满足这两个方面的要求。 分布式光伏发电由哪些设备…

新160个crackme - 093-kesan

运行分析 需破解用户名和注册码 PE分析 Delphi程序&#xff0c;32位&#xff0c;无壳 静态分析&动态调试 ida找不到字符串&#xff0c;根据Delphi程序逻辑&#xff0c;双击进入cls_Unit1_TForm1查找 向下翻找后发现4个事件&#xff0c;逐个分析 动调_TForm1_Edit1Change函数…

OpenAI 的 正式版o1 模型意外泄露,推理能力真是震撼——事情是这样的

序言&#xff1a;无论 OpenAI 出于何种原因&#xff0c;用户的期待和认可都是关键。这次 o1 模型的泄露事件意外引发热议&#xff0c;也让用户有机会一窥 o1 的强大潜力。虽然 OpenAI 已推出 o1-preview 和 o1-mini 供用户试用&#xff0c;性能有所提升&#xff0c;但仍未展现最…

QCon演讲实录|徐广治:边缘云原生操作系统的设计与思考

10月18日&#xff0c;在 QCon 全球软件开发大会 2024&#xff08;上海站&#xff09;&#xff0c;火山引擎边缘云资深架构师徐广治围绕火山引擎边缘计算产品背后的算力底座 - 边缘云原生操作系统&#xff0c;探讨如何实现算力服务的混合部署和跨区域弹性调度&#xff0c;以及在…

「Mac畅玩鸿蒙与硬件31」UI互动应用篇8 - 自定义评分星级组件

本篇将带你实现一个自定义评分星级组件&#xff0c;用户可以通过点击星星进行评分&#xff0c;并实时显示评分结果。为了让界面更具吸引力&#xff0c;我们还将添加一只小猫图片作为评分的背景装饰。 关键词 UI互动应用评分系统自定义星级组件状态管理用户交互 一、功能说明 …

MySQL表设计(三大范式 表的设计)

1.上讲约束复习&#xff1a; 1.NOT NULL 非空约束&#xff0c;被指定NOT NULL的列&#xff0c;值不允许为空(必填) 2. UNIQUE 唯一约束&#xff0c;这个列里的值在表中是唯一的&#xff0c;也就是说不能重复 3. PRIMARY KEY 主键约束&#xff0c;可以看做是NOT NULL和UNIQUE…

继承机制深度解析:从基础到进阶的完整指南

文章目录 1. 继承的概念及定义1.1 继承的概念&#xff1a;1.2继承的定义&#xff1a;1.2.1 定义格式1.2.2 继承基类成员访问方式的变化&#xff1a; 1.3继续类模板 2. 基类和派生类间的转换2.1 向上转换&#xff08;Upcasting&#xff09;2.2 向下转换&#xff08;Downcasting&…

C++(类和对象-友元)

友元的作用 作用&#xff1a; 在C中&#xff0c;友元&#xff08;friend&#xff09;是一种特殊的类成员&#xff0c;它可以让一个函数或者类访问其他类的私有&#xff08;private&#xff09;和保护&#xff08;protected&#xff09;成员。 注意&#xff1a; 友元的使用应该谨…

ssm045基于jsp的精品酒销售管理系统+jsp(论文+源码)_kaic

毕业设计&#xff08;论文&#xff09; 精品酒销售管理系统 学 院 专 业 班 级 学 号 用户姓名 指导教师 完成日期…

解决return code from pthread_create() is 22报错问题

今天在处理芯片数据&#xff0c;在使用rma方法对数据进行预处理时报错&#xff0c;试了非常多的方法&#xff0c;记录一下。 可能时rma函数会涉及调用多线程的操作&#xff0c;这一过程会产生冲突。此错误表示在规范化过程中创建新线程时出现问题&#xff0c;特别是与 pthread_…

ChatPaper.ai - 3分钟读懂一篇论文的AI阅读助手

你是否曾经面对过这些困扰&#xff1f; 堆积如山的论文&#xff0c;不知从何读起 课堂笔记零零散散&#xff0c;复习时一头雾水 会议记录不完整&#xff0c;重要信息错过了 ChatPaper.ai就是为解决这些问题而生的智能助手。 地址&#xff1a;https://www.chatpaper.ai/zh …

0基础入门linux文件系统

目录 文件系统简介 1. 文件系统类型 2. 文件系统结构 3. 文件系统的主要功能 4. 文件系统的使用 5. 文件系统的维护 6. 注意事项 简单举例 机械硬盘 物理结构介绍​编辑 CHS寻址 逻辑结构介绍 LBA寻址法 文件系统与磁盘管理 Boot Block Data block inode block…

【docker入门】docker的安装

目录 Centos 7 添加docker 官方仓库到yum源 将 Docker 的官方镜像源替换为国内可以的 Docker 镜像源 安装docker 配置docker加速源 Ubuntu 创建 gpg key 目录 下载 gpg key 添加国内可用镜像源到 系统的 APT 仓库中 安装docker 配置加速源 Centos 7 添加docker 官方仓…