爆肝整理!RAG技术全流程解析,解决大模型“一本正经地胡说八道“

一、LLMs 已经具备了较强能力了,为什么还需要 RAG(检索增强生成)?

尽管 LLM 已展现出显著的能力,但以下几个挑战依然值得关注:

  • 幻觉问题:LLM 采用基于统计的概率方法逐词生成文本,这一机制内在地导致其可能出现看似逻辑严谨实则缺乏事实依据的输出,即所谓的“郑重其事的虚构陈述”;
  • 时效性问题:随着 LLM 规模扩大,训练成本与周期相应增加。鉴于此,包含最新信息的数据难以融入模型训练过程,导致 LLM 在应对诸如“请推荐当前热门影片”等时间敏感性问题时力有未逮;
  • 数据安全问题:通用的 LLM 没有企业内部数据和用户数据,那么企业想要在保证安全的前提下使用 LLM,最好的方式就是把数据全部放在本地,企业数据的业务计算全部在本地完成。而在线的大模型仅仅完成一个归纳的功能;

二、介绍一下 RAG?

RAG(Retrieval Augmented Generation, 检索增强生成)是一种技术框架,其核心在于当 LLM 面对解答问题或创作文本任务时,首先会在大规模文档库中搜索并筛选出与任务紧密相关的素材,继而依据这些素材精准指导后续的回答生成或文本构造过程,旨在通过此种方式提升模型输出的准确性和可靠性。

RAG 技术架构图

三、RAG 主要包含哪些模块?

  • 模块一:版面分析
  • 本地知识文件读取(pdf、txt、html、doc、excel、png、jpg、语音等)
  • 知识文件复原
  • 模块二:知识库构建
  • 知识文本分割,并构建Doc文本
  • Doc文本 embedding
  • Doc文本 构建索引
  • 模块三:大模型微调
  • 模块四:基于RAG的知识问答
  • 用户query embedding
  • query 召回
  • query 排序
  • 将 Top K 个相关的 Doc 进行拼接,构建 context
  • 基于 query 和 context 构建 Prompt
  • 将 prompt 喂给大模型生成答案

四、RAG 相较于直接使用 LLMs进行问答 有哪些优点?

RAG(检索增强生成)方法赋予了开发者无需为每个特定任务重新训练大型模型的能力,仅需连接外部知识库,即可为模型注入额外的信息资源,从而显著提升其回答的精确度。这一方法尤其适用于那些高度依赖专业知识的任务。

以下是 RAG 模型的主要优势:

  1. 可扩展性:减小模型规模及训练开销,同时简化知识库的扩容更新过程。
  2. 准确性:通过引用信息源,用户能够核查答案的可信度,进而增强对模型输出结果的信任感。
  3. 可控性:支持知识内容的灵活更新与个性化配置。
  4. 可解释性:展示模型预测所依赖的检索条目,增进理解与透明度。
  5. 多功能性:RAG 能够适应多种应用场景的微调与定制,涵盖问答、文本摘要、对话系统等领域。
  6. 时效性:运用检索技术捕捉最新信息动态,确保回答既即时又准确,相比仅依赖固有训练数据的语言模型具有明显优势。
  7. 领域定制性:通过对接特定行业或领域的文本数据集,RAG 能够提供针对性的专业知识支持。
  8. 安全性:通过在数据库层面实施角色划分与安全管控,RAG 有效强化了对数据使用的管理,相较于微调模型在数据权限管理上的潜在模糊性,展现出更高的安全性。

五、对比一下 RAG 和 SFT,说一下两者有哪些区别?

实际上,对于 LLM 存在的上述问题,SFT 是一个最常见最基本的解决办法,也是 LLM 实现应用的基础步骤。那么有必要在多个维度上比较一下两种方法:

当然这两种方法并非非此即彼的,合理且必要的方式是结合业务需要与两种方法的优点,合理使用两种方法。

模块一:版面分析

为什么 需要 版面分析?

尽管RAG(检索增强生成)技术的核心价值在于其结合检索与生成手段以提升文本内容的精确度与连贯性,然而在一些具体应用领域,如文档解析、智能化写作及对话系统构建中,特别是在面对结构化或半结构化信息的处理需求时,其功能边界可能拓展至版面分析。

这是由于此类信息往往嵌于特定的布局结构中,需要对页面元素及其相互关系进行深入理解。

此外,当RAG模型面对包含丰富多媒体或多模态成分的数据源,诸如网页、PDF文件、富文本记录、Word文档、图像资料、语音片段、表格数据等复杂内容时,为了能高效地摄取并利用这些非文本信息,具备基本的版面分析能力变得至关重要。这种能力有助于模型精准解析各类信息单元,并成功将它们融合成有意义的整体解读。

step 1:本地知识文件获取

q1:如何进行 本地知识文件获取?

本地知识文件获取涉及从多种数据源(如.txt、.pdf、.html、.doc、.xlsx、.png、.jpg、音频文件等)提取信息的过程。针对不同类型的文件,需要采取特定的访问与解析策略来有效获取其中蕴含的知识。下面我们将介绍对于不同数据源数据的获取方式和难点。

q2:如何获取 富文本txt 中内容?
  • 介绍:富文本 主要存储于 txt 文件中,因为排版比较整洁,所以获取方式比较简单
  • 实战技巧:
  • 【版面分析——富文本txt读取】
q3:如何获取 PDF文档 中内容?
  • 介绍:PDF文档中数据比较复杂,包含文本、图片、表格等不同样式的数据,所以解析过程中会比较复杂
  • 实战技巧:
  • 【版面分析——PDF 解析神器 pdfplumber】
  • 【版面分析——PDF 解析神器 PyMuPDF】
q4:如何获取 HTML文档 中内容?
  • 介绍:PDF文档中数据比较复杂,包含文本、图片、表格等不同样式的数据,所以解析过程中会比较复杂
  • 实战技巧:
  • 【版面分析——网页HTML解析 BeautifulSoup】
q5:如何获取 Doc文档 中内容?
  • 介绍:Doc文档中数据比较复杂,包含文本、图片、表格等不同样式的数据,所以解析过程中会比较复杂
  • 实战技巧:
  • 【版面分析——Docx 解析神器 python-docx】
q6:如何使用 OCR 获取图片内容?
  • 介绍:光学字符识别(Optical Character Recognition, OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。亦即将图像中的文字进行识别,并以文本的形式返回。
  • 思路:
  • 文字识别:对定位好的文字区域进行识别,主要解决的问题是每个文字是什么,将图像中的文字区域进转化为字符信息。
  • 文字检测:解决的问题是哪里有文字,文字的范围有多少;
  • 目前开源的OCR项目
  • Tesseract
  • PaddleOCR
  • EasyOCR
  • chineseocr
  • chineseocr_lite
  • TrWebOCR
  • cnocr
  • hn_ocr
  • 理论学习:
  • 【版面分析——图片解析神器 OCR】
  • 实战技巧:
  • 【版面分析——OCR神器 tesseract】
  • 【版面分析——OCR神器 PaddleOCR】
  • 【版面分析——OCR神器 hn_ocr】
q7:如何使用 ASR 获取语音内容?
  • 别称:自动语音识别AutomaTlc Speech RecogniTlon,(ASR)
  • 介绍:将一段语音信号转换成相对应的文本信息,好比"机器的听觉系统”,它让机器通过识别和理解,把语音信号转变为相应的文本或命令。
  • 目标:将人类的语音中的词汇内容转换为计算机可读的输入(eg:按键、二进制编码或者字符序列)
  • 思路:
  • 声学信号预处理:为了更有效地提取特征往往还需要对所采集到的声音信号进行滤波、分帧等预处理工作,把要分析的信号从原始信号中提取出来;
  • 特征提取:将声音信号从时域转换到频域,为声学模型提供合适的特征向量;
  • 声学模型:根据声学特性计算每一个特征向量在声学特征上的得分;
  • 语言模型:根据语言学相关的理论,计算该声音信号对应可能词组序列的概率;
  • 字典与解码:根据已有的字典,对词组序列进行解码,得到最后可能的文本表示
  • 理论教程:
  • 【版面分析 之 语音识别】
  • 实战技巧:
  • 【版面分析 之 Speech-to-Text】
  • 【版面分析 之 WeTextProcessing】
  • 【版面分析——ASR神器 Wenet】
  • 【版面分析 之 ASR神器训练】

step 2:知识文件复原

q1:为什么需要进行 知识文件复原?

本地知识文件获取包含对多源化数据(txt、pdf、html、doc、excel、png、jpg、语音等)进行读取之后,容易将一个多行段落分割成多个段落,从而导致段落遇到被分割,所以需要根据内容逻辑重新组织段落。

q2:如何对 知识文件进行复原?
  1. 方法一:基于规则的知识文件复原
  2. 方法二:基于 Bert NSP 进行上下句拼接

step 3:版面分析———优化策略篇

  • 理论学习:
  • 【版面分析———优化策略篇】

step 4:Homework

  • 任务描述:使用上述方法对 【SMP 2023 ChatGLM金融大模型挑战赛】的 【ChatGLM评估挑战赛-金融赛道数据集】进行版面分析
  • 任务效果:分析各种方法效果和性能

模块二:知识库构建

为什么 需要 知识库构建?

在RAG(Retrieval-Augmented Generation)中构建知识库是至关重要的,原因包括但不限于以下几点:

  1. 扩展模型能力:大规模语言模型如GPT系列虽然具有强大的语言生成和理解能力,但受限于训练数据集的覆盖范围,它们可能无法准确回答一些基于特定事实或详细背景信息的问题。通过构建知识库,RAG可以补充模型自身的知识局限性,允许模型检索到最新、最准确的信息来生成答案。
  2. 实时更新信息:知识库可以实时更新和扩充,确保模型能够获取最新的知识内容,这对于处理时效性强的信息尤为关键,比如新闻事件、科技进展等。
  3. 提高准确性:RAG结合了检索与生成两个过程,在生成回答前先检索相关文档,从而提高了回答问题时的准确性。这样,模型生成的答案不仅基于其内部参数化的知识,还基于外部可靠来源的知识库。
  4. 减少过拟合与hallucination(幻觉生成):大模型有时会因为过度依赖内在模式而出现hallucination现象,即生成看似合理实则无依据的答案。通过引用知识库中的确切证据,RAG可以降低此类错误产生的可能性。
  5. 增强可解释性:RAG不仅能提供答案,还能指出答案的来源,增强了模型生成结果的透明度和可信度。
  6. 支持个性化及私有化需求:对于企业或个人用户,可以通过构建专属知识库满足特定领域或私人定制的需求,使得大模型能更好地服务于特定场景和业务。

综上所述,构建知识库对于RAG模型来说,是实现高效准确地检索并生成答案的核心机制之一,它极大地提升了模型在实际应用中的性能和可靠性。

step 1:知识文本分块

  • 为什么需要对文本分块?
  • 信息丢失的风险:试图一次性提取整个文档的嵌入向量,虽然可以捕捉到整体的上下文,但也可能会忽略掉许多针对特定主题的重要信息,这可能会导致生成的信息不够精确或者有所缺失。
  • 分块大小的限制:在使用如OpenAI这样的模型时,分块大小是一个关键的限制因素。例如,GPT-4模型有一个32K的窗口大小限制。尽管这个限制在大多数情况下不是问题,但从一开始就考虑到分块大小是很重要的。
  • 主要考虑两个因素:
  • embedding模型的Tokens限制情况;
  • 语义完整性对整体的检索效果的影响;
  • 实战技巧:
  • 【知识库构建——知识文本分块】
  • 【知识库构建——文档切分优化策略篇】

step 2:Docs 向量化(embdeeing)

q1:什么是Docs 向量化(embdeeing)?

Embedding 也是文本语义含义的信息密集表示,每个嵌入都是一个浮点数向量,使得向量空间中两个嵌入之间的距离与原始格式中两个输入之间的语义相似性相关联。

例如,如果两个文本相似,则它们的向量表示也应该相似,这一组向量空间内的数组表示描述了文本之间的细微特征差异。

简单来说,Embedding 帮助计算机来理解如人类信息所代表的“含义”,Embedding 可以用来获取文本、图像、视频、或其他信息的特征“相关性”,这种相关性在应用层面常用于搜索、推荐、分类、聚类。

q2:Embedding 是如何工作的?

举例来讲,这里有三句话:

  1. “The cat chases the mouse” “猫追逐老鼠”
  2. “The kitten hunts rodents” 小猫捕猎老鼠。
  3. “I like ham sandwiches” 我喜欢火腿三明治。

如果是人类来将这三个句子来分类,句子 1 和句子 2 几乎是同样的含义,而句子 3 却完全不同。但我们看到在英文原文句子中,句子 1 和句子 2 只有“The”是相同的,没有其他相同词汇。计算机该如何理解前两个句子的相关性?

Embedding 将离散信息(单词和符号)压缩为分布式连续值数据(向量)。如果我们将之前的短语绘制在图表上,它可能看起来像这样:

在文本被 Embedding 压缩到计算机可以理解的多维向量化空间之后,由于句子 1 和 2 的含义相似,它们会被绘制在彼此附近。句子 3 却距离较远,因为它与它们没有关联。如果我们有第四个短语 “Sally 吃了瑞士奶酪”,它可能存在于句子 3(奶酪可以放在三明治上)和句子 1(老鼠喜欢瑞士奶酪)之间的某个地方。

q3:Embedding 的语义检索方式对比关键词检索的优势?
  1. 语义理解:基于 Embedding 的检索方法通过词向量来表示文本,这使得模型能够捕捉到词汇之间的语义联关系,相比之下,基于关键词的检索往往关注字面匹配,可能忽略了词语之间的语义联系。
  2. 容错性:由于基于 Embedding 的方法能够理解词汇之间的关系,所以在处理拼写错误、同义词、近义词等情况时更具优势。而基于关键词的检索方法对这些情况的处理相对较弱。
  3. 多语言支持:许多 Embedding 方法可以支持多种语言,有助于实现跨语言的文本检索。比如你可以用中文输入来查询英文文本内容,而基于关键词的检索方法很难做到这一点。
  4. 语境理解:基于 Embedding 的方法在处理一词多义的情况时更具优势,因为它能够根据上下文为词语赋予不同的向量表示。而基于关键词的检索方法可能无法很好地区分同一个词在不同语境下的含义。
q4:Embedding检索存在哪些限制?
  1. 输入词数限制:即便借助Embedding技术选取与查询最为匹配的文本片段供大型模型参考,词汇数量的约束依然存在。当检索覆盖的文本范围广泛时,为了控制注入模型的上下文词汇量,通常会对检索结果设定TopK的阈值K,但这不可避免地引发了信息遗漏的问题。
  2. 仅支持文本数据:现阶段的GPT-3.5及诸多大型语言模型尚不具备图像识别功能,然而,在知识检索过程中,许多关键信息往往依赖于图文结合来充分理解。例如,学术论文中的示意图、财务报告中的数据图表,仅凭文本难以精准把握其内涵。
  3. 大模型的胡编乱造:当检索到的相关文献资料不足以支撑大型模型准确回答问题时,为尽力完成响应,模型可能会出现一定程度的“即兴创作”,即在有限信息基础上进行推测与补充。
  • 理论学习:
  • 【知识库构建—Doc 向量化】
  • 实战技巧:
  • 【Docs向量化——腾讯词向量】
  • 【Docs向量化——sbert】
  • 【Docs向量化——SimCSE】
  • 【Docs向量化——text2vec】
  • 【Docs向量化——SGPT】
  • 【Docs向量化——BGE —— 智源开源最强语义向量模型】
  • 【Docs向量化——M3E:一种大规模混合embedding】

step 3:Docs 构建索引

  • 介绍
  • 实战技巧:
  • 【Docs构建索引——Faiss】
  • 【Docs构建索引——milvus】
  • 【Docs构建索引—— Elasticsearch】

模块三:大模型微调

为什么 需要 大模型微调?

通常,要对大模型进行微调,有以下一些原因:

  • 第一个原因是,因为大模型的参数量非常大,训练成本非常高,每家公司都去从头训练一个自己的大模型,这个事情的性价比非常低;
  • 第二个原因是,Prompt Engineering的方式是一种相对来说容易上手的使用大模型的方式,但是它的缺点也非常明显。因为通常大模型的实现原理,都会对输入序列的长度有限制,Prompt Engineering 的方式会把Prompt搞得很长。

越长的Prompt,大模型的推理成本越高,因为推理成本是跟Prompt长度的平方正向相关的。

另外,Prompt太长会因超过限制而被截断,进而导致大模型的输出质量打折口,这也是一个非常严重的问题。

对于个人使用者而言,如果是解决自己日常生活、工作中的一些问题,直接用Prompt Engineering的方式,通常问题不大。

但对于对外提供服务的企业来说,要想在自己的服务中接入大模型的能力,推理成本是不得不要考虑的一个因素,微调相对来说就是一个更优的方案。

  • 第三个原因是,Prompt Engineering的效果达不到要求,企业又有比较好的自有数据,能够通过自有数据,更好的提升大模型在特定领域的能力。这时候微调就非常适用。
  • 第四个原因是,要在个性化的服务中使用大模型的能力,这时候针对每个用户的数据,训练一个轻量级的微调模型,就是一个不错的方案。
  • 第五个原因是,数据安全的问题。如果数据是不能传递给第三方大模型服务的,那么搭建自己的大模型就非常必要。通常这些开源的大模型都是需要用自有数据进行微调,才能够满足业务的需求,这时候也需要对大模型进行微调。

如何对大模型进行微调?

q1:大模型的微调技术路线问题

从参数规模的角度,大模型的微调分成两条技术路线:

  • 技术路线一:对全量的参数,进行全量的训练,这条路径叫全量微调FFT(Full Fine Tuning)。
  • 技术路线二:只对部分的参数进行训练,这条路径叫PEFT(Parameter-Efficient Fine Tuning)。
q2:大模型的全量微调FFT 技术存在哪些问题

FFT也会带来一些问题,影响比较大的问题,主要有以下两个:

  • 问题一:训练的成本会比较高,因为微调的参数量跟预训练的是一样的多的;
  • 问题二:灾难性遗忘(Catastrophic Forgetting),用特定训练数据去微调可能会把这个领域的表现变好,但也可能会把原来表现好的别的领域的能力变差。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么我说 XinServer 很适合创业小团队?

为什么我说 XinServer 很适合创业小团队? 最近跟几个创业的朋友聊天,发现大家有个共同的烦恼:产品想法贼棒,前端设计也酷炫,但一到后端开发就卡壳。要么是招不到合适的后端,要么是后端开发周期太长&#x…

Vue2 的数据响应式原理给实例新增响应式属性

Vue2 响应式原理的案例 <template><div id"app"><div>用户名&#xff1a;{{ user.name }}</div><div>年龄&#xff1a;{{ user.age }}</div> <button click"addAgeDirectly">直接添加年龄&#xff08;无响应式&…

高薪又缺人!国家超重视,网安这 8 个专业超吃香

国家超重视&#xff0c;高薪又缺人&#xff1a;这8个网络安全领域专业很“吃香”&#xff01; 9月3日&#xff0c;在抗日战争暨反法西斯战争胜利80周年阅兵仪式上&#xff0c;网络安全方队首次进行检阅。 近年&#xff0c;随着计算机和通信网络的广泛应用&#xff0c;网络空间…

学长亲荐2026TOP10AI论文软件:MBA毕业论文写作全测评

学长亲荐2026TOP10AI论文软件&#xff1a;MBA毕业论文写作全测评 2026年MBA论文写作工具测评&#xff1a;为何需要一份权威榜单&#xff1f; 在MBA学习过程中&#xff0c;撰写高质量的毕业论文不仅是学术能力的体现&#xff0c;更是对未来职业发展的重要铺垫。然而&#xff0…

BUUCTF:[GXYCTF2019]Ping Ping Ping

BUUCTF&#xff1a;[GXYCTF2019]Ping Ping Ping 本文知识点&#xff1a; 变量替换${}和命令替换$()&#xff1a; 变量替换&#xff1a;IFS,大括号中的是一个变量&#xff0c;这个的功能就是将变量的值展开出来&#xff0c;比如假设有一个变量‘a123‘,‘{IFS},大括号中的是一个…

计算机Java毕设实战-基于java+springboot+vue的扶贫助农系统基于springboot的助农扶贫系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

AI写代码像AI写文章一样会“翻车“?手把手教你构建品牌RAG系统,让AI生成内容不再“人格分裂“

还顺手吐槽了一众电商操盘手&#xff0c;结果发出去之后&#xff0c;有人私信我一句话&#xff1a;“骂归骂&#xff0c;你别光说大道理&#xff0c;你倒是告诉我&#xff0c;怎么让 AI 高产但不跑偏&#xff1f;” 本来就想着今天继续写品牌RAG怎么做&#xff0c;今天就继续拿…

python: excel 两个工作表中的员工比对 UI

Domain Layer# encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ # 许可信息查看:言語成了邀功盡責的功臣,還需要行爲每日來值班嗎 # 描述: # Author : geovindu,Geovin Du 涂聚文. # IDE : Py…

【CTF Writeup】Reverse题型之加壳程序脱壳与逆向分析

前言 一、加壳程序识别 1.1 使用Exeinfo PE识别壳类型 将程序protected.exe拖入Exeinfo PE&#xff0c;显示“UPX 3.96 - 1.00 unpacked”&#xff0c;确定为UPX加壳程序。UPX是开源压缩壳&#xff0c;脱壳难度较低&#xff0c;可使用工具自动脱壳。 二、UPX加壳程序脱壳 …

AI大洪水来袭!90%的人还在卷算法,聪明的已经盯上“铁饭碗”——协调人

AI大洪水来袭!90%的人还在卷算法,聪明的已经盯上“铁饭碗”——协调人 目录 AI大洪水来袭!90%的人还在卷算法,聪明的已经盯上“铁饭碗”——协调人 🔴 淘汰预警:纯技术“工具人” 🔵 晋升密码:协调型“问题终结者” 我们应该怎么做 做 LLM 技术,这样转型 “技术 + 协…

Java计算机毕设之 基于Spring Boot的助农扶贫综合服务平台开发基于springboot的助农扶贫系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

国产大模型第一梯队!

为百万财经人士倾心打造的投研资讯平台 为您解析宏观及政策、研判产业格局及动态&#xff0c; 与君共同见证中国资本市场的壮阔奋进时代&#xff01; ——研讯社 当前正值国产大模型新一轮更新迭代周期&#xff0c;梳理下国产大模型第一梯队。 深度求索DeepSeek DS实控人是…

权利的本质是插队?县城婆罗门的毛细血管,我们该走还是留?

权利的本质是插队&#xff1f;县城婆罗门的毛细血管&#xff0c;我们该走还是留&#xff1f; 目录 权利的本质是插队&#xff1f;县城婆罗门的毛细血管&#xff0c;我们该走还是留&#xff1f;不是宗教意义上的阶层&#xff0c;而是基层独有的生态于是很多人心里都冒出来一个天…

ClickHouse 原理:深入理解数据分片 Part 和分区 Partition

在 ClickHouse 中&#xff0c;磁盘上存储表数据一部分的物理文件被称为数据分片 part。数据分区 partition 则是通过分区键创建表的数据逻辑划分。通过分区&#xff0c;用户可以更高效地存储、查询和操作数据的子集&#xff0c;从而提升大表的性能和可管理性。在本博客系列的第…

ClickHouse 高分笔记

1. 原理 实时数据分析数据库 ClickHouse 介绍开源OLAP引擎&#xff08;ClickHouse、Doris、Presto、ByConity&#xff09;性能对比分析ClickHouse 原理&#xff1a;如何为列式存储构建快速 UPDATE I&#xff1a;特别设计的专用引擎ClickHouse 原理&#xff1a;深入理解数据分片…

全国逛同一座城?我们都活在“复制粘贴”的模块化世界里

全国逛同一座城&#xff1f;我们都活在“复制粘贴”的模块化世界里 目录 全国逛同一座城&#xff1f;我们都活在“复制粘贴”的模块化世界里&#x1f50d; 看懂“复制粘贴”的本质&#xff1a;不是巧合&#xff0c;是底层逻辑的必然&#x1f4a1; 普通人如何透过现象看本质&…

【课程设计/毕业设计】基于springboot的助农扶贫系统家乡扶贫助农系统【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

微信小程序 == rsa加解密工具

wxmp-rsa 1、简介 前端rsa加解密工具。 基于jsencrypt修改扩展功能。兼容小程序环境&#xff0c;压缩后60kb左右的大小&#xff0c;节省小程序空间。支持超长文本加解密。支持中文字符的加解密。 仓库地址 https://github.com/jiayc4215/wxmp-rsa2、安装 npm i wxmp-rsa …

logging模块,scrapy全站爬取

1.longging模块 logging是python内置的日志处理模块 在scrapy中,可以配置LOG_LEVEL来设置输出的日志等级,也可以在scrapy/settin/default_setting.py 路径下查看日志相关默认参数(需要修改的参数可以直接在settings.py文件中修改) #添加日志 LOG_LEVEL="WAREING"…

CrawlSpider自动爬取,ImagePipeline

1.crawlspider自动爬取 csrapy框架在scrapy.spiders模块中提供了crawlspider类专门用来自动爬取,crawlspider类是spider的派生类,spider类的设计原则是只爬取srart_url列表中的网页,而CrawlSpider类可以定义一些规则来进行url的跟进,我们可以使用跟进的这个特性达到自动翻页…