自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 Rerank :提升RAG生成结果质量的实践

在信息检索系统中,召回(Recall)和排序(Ranking)是影响结果质量的关键环节。然而,传统的搜索引擎(如 Elasticsearch,ES)在向量召回阶段存在。,在效果(Top3 命中率 +15.2%)和性能之间取得平衡。,对召回结果进行精细化调整,提高最终结果的准确性和可靠性。ES 的 HNSW 算法虽然能高效检索,但由于其基于。,导致排序结果不稳定。为了解决这一问题,我们引入了。,在初步召回的基础上,进一步优化排序逻辑。的问题,导致最终排序效果不稳定。,能高效支持大规模向量检索,但。

2025-04-28 15:56:45 868

原创 利用 functools.lru_cache 优化递归算法

是 Python 标准库functools中的一个装饰器,它实现了最近最少使用(Least Recently Used, LRU)缓存策略。LRU 缓存策略会保留最近使用过的函数调用结果,当再次调用相同的函数且传入相同的参数时,直接从缓存中返回结果,而不需要重新执行函数体,从而避免了重复计算。是一个非常实用的装饰器,它可以帮助我们优化递归算法,避免重复计算,提高程序的性能。通过简单地在递归函数前添加该装饰器,我们可以轻松地实现缓存功能,让递归算法更加高效。

2025-04-26 15:45:56 953

原创 联合索引`ABC`,使用`B=... AND C=... AND A=...`会走索引吗?

通过合理设计索引顺序和优化查询条件,可以最大化利用联合索引的性能优势。,即查询条件必须从索引的最左侧列开始连续匹配,才能有效利用索引。联合索引的底层存储和查询优化遵循。若优化器未正确选择索引,可使用。在MySQL中,联合索引。,可考虑创建新索引(如。

2025-04-25 13:47:07 682

原创 ElasticSearch:高并发场景下如何保证读写一致性?

【代码】ElasticSearch:高并发场景下如何保证读写一致性?

2025-04-23 17:44:13 765

原创 Elasticsearch性能优化实践

Elasticsearch性能优化本质是资源调度艺术​空间与时间​(压缩算法 vs 查询延迟)​集中与分布​(分片合并 vs 并行度)​动态与静态​(实时计算 vs 预计算)

2025-04-22 22:08:15 1210

原创 Prompt工程:大模型的「精准导航系统」

明确目标:通过角色、约束和步骤定义清晰任务边界。动态适配:结合上下文、工具和领域知识调整提示词。评估闭环:通过细粒度分析和反馈持续优化生成质量。场景融合:在垂直领域中深度融合业务规则与多模态信息。实际应用中需根据场景复杂度选择单一或多策略组合(如ReAct + CoT + 动态Few-Shot)。

2025-04-22 19:04:26 1350

原创 MySQL:Join连接的原理

执行连接查询前申请的一块固定大小的内存,先把若干条驱动表结果集中的记录装在Join Buffer中,然后开始扫描被驱动表,每一条被驱动表的记录一次性地与Join Buffer中的多条驱动表记录进行匹配,匹配过程都在内存中完成,显著减少被驱动表的I/O代价。并不是所有满足条件的驱动表记录先查询出来放到一个地方再去被驱动表查询的【如果符合条件的记录很多,需要很大的存储空间】,每获取到一条驱动表记录,就立刻到被驱动表中寻找匹配的记录。两表连接查询需要查询一次t1表,两次t2表,在两表的连接查询中,

2025-04-18 20:43:43 612

原创 MySQL:B+树索引

目录项记录的内容是索引列加页号的搭配,但对于二级索引来说不够严谨,为了让新插入的记录找到在哪个页,需要保证B+树同一层内节点的目录项记录除页号字段以外是唯一的【二级索引内节点的目录项记录的内容由:索引列的值、主键值、页号构成】如图6-17,先把新记录的列值与页3各目录项记录的列值比较,如果列值相同,可以接着比较主键,B+树同一层中不同目录项记录的列值+主键的值肯定不同,最后肯定能定位到唯一一条目录项记录。如果存储目录项的页也很多,则为这些存储目录项记录的页再生成一个更高级的目录。

2025-04-15 23:02:24 917

原创 MyISAM索引方案

MyISAM行格式有定长记录格式、变长记录格式、压缩记录格式等,图6-18index_demo表采用定长记录格式,即一条记录占用的存储空间是固定的,这样就可以使用行号算出某条记录在数据文件的地址偏移量。把索引信息单独存储到另一个文件【索引文件】,会为表的主键单独创建一个索引,但在索引的叶子节点存储的不是完整的用户记录【主键值+行号】,通过索引找到行号,再通过行号找记录【一次回表操作】【相当于MyISAM建立的索引全是二级索引】将表中的记录按记录的插入顺序单独存储在一个文件中【数据文件】,这个文件。

2025-04-15 22:55:19 337

原创 调节磁盘和CPU的矛盾——InnoDB的Buffer Pool

在对某个处于old区域的缓冲页进行第一次访问时,就在它对应的控制块中记录下这个访问时间,如果后续的访问时间与第一次访问的时间在innodb_old_blocks_times时间间隔内,那么该页面就不会从old区域移到young区域的头部【可能是一次全表扫描的多次访问】连续的内存被划分为若干个页面【缓冲页】,页面大小与InnoDB表空间使用的页面大小一致【默认16KB】控制信息【所属的表空间编号、页号、缓冲页在Buffer Pool中的地址、链表节点信息等】-方便管理。BufferPool内部组成。

2025-04-14 22:48:40 893

原创 MySQL事务

只有当事务处于提交的或者中止的状态时,一个事务的生命周期才算结束。acid-原子性、一致性、隔离性、持久性。

2025-04-12 16:40:18 460

原创 事务隔离级别和MVCC

因此我们可以在某个事务访问某个数据时,要求其他试图访问相同数据的事务进行限制,当该事务提交后,其他事务才能继续访问这个数据,使其并发执行的结果和串行执行的结果一样【可串行化执行】但是猫爷的账户有12元,多了10元,账户总余额变为18元,显然违背了参与转账的账户的总余额保持不变的一致性需求。在这个执行顺序下,T2只读事务读取到的x=1,y=0,虽然最终数据库状态还是一致的,但是T2 事务得到了一个不一致状态,数据库的不一致状态是不应该暴露给用户的。max_trx_id:系统应该分配给下一个事务的事务id。

2025-04-12 16:37:55 1053

原创 MySQL:InnoDB

之后每插入一条记录,都会从页目录中找到对应记录的主键值比待插入记录的主键值大且差值最小的槽【本质上,槽是一个组内最大的那条记录在页面中的地址偏移量,通过槽可以快速找到对应的记录主键值】,然后把该槽对应的记录的n_owned值+1,直到该组记录数=8。当一个组记录数=8后,再插入一条记录,会将组中的记录拆分成两个组,其中一个组4条记录,另一个5条记录,并在页目录中新增一个槽,记录这个新增分组中最大的那条记录的偏移量。每新申请一条记录的存储空间时,该条记录比物理位置在它前面那条记录的heap_no值大1。

2025-04-12 16:32:33 1120

原创 python接口下载导出文档的三种方法【Nginx静态资源、临时文件、直接输出数据流文件不落盘】

【代码】接口导出文档的三种方法【Nginx静态资源、临时文件、直接输出数据流文件不落盘】

2023-01-06 16:46:59 717

原创 ElasticSearch- Mapping

除了整数、浮点数、true/false、日期、数组、对象、字符串之外,其他类型都必须显示映射【手工指定】,其他类型es无法自动识别,fields的mapping只能创建,无法修改。两种方式:dynamic mapping【动态映射/自动映射】;explicit mapping【静态映射/手工映射/显示映射】概念:定义文档及其包含的字段的存储和索引方式的过程。

2022-08-23 14:01:55 443

原创 Kafka概述

学习视频form B站尚硅谷。

2022-08-15 20:26:51 498

原创 DockerFile笔记

dockerfile面向开发,docker镜像成为交付标准,docker容器则涉及部署运维。

2022-08-14 23:33:55 303

原创 ElasticSearch-节点、分片、集群

副本分片主分片备份,不允许直接写入数据,只允许通过主分片做数据同步,写入只会写入主分片。主分片数据原始文件,支持读写;多个节点组成的高可用分布式系统。

2022-07-25 17:14:32 644

原创 ElasticSearch核心概念-压缩算法

100w条数据,1int=4Bytes,则数据索引需约为4MB【太大了】稀疏数组,差值大,deltalist仍然很大,for压缩算法不适用。

2022-07-25 11:27:55 1983 2

原创 Elasticsearch-Rest风格

rest

2022-07-20 19:11:49 539

原创 ElasticSearch核心概念——倒排索引

和Elasticsearch可以获益于更强大的硬件设备,但。真正的扩容能力是来自于—​为集群添加更多的节点,并且将中。ElastiSearch是的,它知道如何通过来提高扩容性和可用性。

2022-07-19 17:20:24 389

原创 Docker镜像、容器卷

Docker镜像的最底层是引导文件系统bootfs,以此为基础添加扩展Docker镜像层都是只读的,容器层是可写的,镜像的每一层都可以被共享。当容器启动时,一个新的可写层被加载到镜像的顶部【通常被称作容器层】,所有对容器的改动都只发生在容器层,不会改变底下的镜像docker commit提交容器副本使之成为一个新的镜像:docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]Docker挂载主机目录访问如果出现cannot open directory

2022-07-11 23:17:07 460

原创 docker基础知识及常用命令

Docker给出了一个标准化解决方案,提供容器虚拟化技术,使系统能够平滑移植解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术Docker:镜像技术【从系统环境开始自底向上打包,映像档即应用】容器虚拟化解决虚拟机的痛点【内存消耗运行时间】,不是模拟一个完整的操作系统,而是对进程进行隔离。将软件运行所需的所有资源打包到一个隔离的容器中,使其变得高效轻量并保证部署在任何环境的软件都能一致运行。Docker和传统虚拟化方式的不同:Docker镜像(Image)是一个只读模版,

2022-06-17 16:44:49 244

原创 python引用拷贝、生成器迭代器

引用VS拷贝赋值操作总是储存对象的引用,而不是对象的拷贝。赋值操作会产生相同对象的多个引用,在原处修改可变对象时,可能会影响程序中其他地方对相同对象的其他引用。拷贝方法:L[:]复制序列字典copy方法(X.copy())复制字典内置函数(如list)生成拷贝(list(L))copy标准库模块生成完整拷贝**注意:**无条件值的分片以及字典copy方法只能做顶层复制,不能复制嵌套的数据结构。使用标准的copy模块,copy.deepcopy(Y)对任意嵌套对象Y做完整的复制并行遍历:z

2022-05-24 17:30:00 543

原创 python列表与字典

不可变性:在核心类型中,数字、字符串和元组是不可变的;列表和字典是可变的。在其他方面,这种不可变性可以用来保证在程序中保持一个对象固定不变。字符串replace方法会对全局进行搜索和替换,但是不会改变原始的字符串,而是会创建一个新的字符串作为结果【字符串的不可变性】字典是一种映射(mapping),是一个其他对象的集合,但是通过键而不是通过相对位置来存粗的,它没有任何可靠的从左到右的顺序,只是简单的将键映射到值,是python核心对象集合中的唯一一种映射类型,具有可变性【可以就地改变,并可以随需求增大或

2022-05-20 15:58:56 2715

原创 进程特征、进程控制、进程通信【思维导图】

进程概念与程序的区别1.程序:一个指令序列2.进程是程序的执行(动态),程序是一组指令的有序集合(静态)3.进程有诞生和死亡(生命期),程序是永久的4.进程 = 程序+数据 +进程控制块PCB5.一个程序可对应多个进程【程序的多次执行】6.一个进程可包含多个程序进程是进程实体的运行过程【强调 “动态性” 】,是系统资源分配和调度的一个独立单位进程是动态的,进程实体是静态的特征动态性【最基本】进程是程序的一次执行过程,是动态地产生、变化和消亡的并发性内存中有

2021-07-19 12:08:14 833

原创 操作系统知识点整理cha.1绪论

操作系统的目标方便性、有效性、可扩充性、开放性1)方便性:易学易用2)有效性:提高系统资源利用率、提高系统吞吐量3)可扩充性:易于添加新的功能和模块,对原有的功能和模块进行修改4)开放性:制定软、硬件标准,遵循世界标准规范,彼此兼容实现互连操作系统的作用OS作为用户与计算机硬件系统之间的接口【用户通过OS来使用计算机、从下向上看】OS作为计算机系统资源的管理者资源:处理机、存储器、I/O设备、文件【数据和程序】处理机管理:分配和控制处理机存储器管理:内存的分配与回收I/O.

2021-03-27 15:33:03 420

原创 python3.6安装geopandas包

1. 从https://www.lfd.uci.edu/~gohlke/pythonlibs/下载Geopandas 依赖库:①GDAL:GDAL-3.1.4-cp36-cp36m-win_amd64.whl②Pyproj:pyproj-2.6.1.post1-cp36-cp36m-win_amd64.whl③Shapely:Shapely-1.7.1-cp36-cp36m-win_amd64.whl④Fiona:Fiona-1.8.18-cp36-cp36m-win_amd64.whl要点:安

2021-02-26 10:42:20 577

原创 数据科学/机器学习——特征选择【代码实例:银行电话营销】

特征选择要求:在保证一定分类精度的前提下,减少特征维度【“降维”】,使分类器实现快速、准确和高效的分类【关键:所提供的识别特征具有很好的可分性,使分类器容易判别】应去掉模棱两可、不易判别的特征所提供的特征不重复【去掉相关性强且没有增加更多信息的特征】特征选择从给定的特征集合中选出任务相关特征子集必须确保不丢失重要特征原因:减轻维度灾难、降低学习难度特征选择的一般过程子集产生:根据某种策略产生候选的特征子集前向搜索:逐渐增加相关特征后向搜索:从完整的特征集合开始,组件

2021-01-19 11:55:45 2074

原创 计算机网络笔记-cha.3网络层

数据链路层解决在相邻的两台主机间传输分组;解决收发的身份问题,即封装成帧、差错检测等问题所使用的信道点对点信道:单播,一对一的点对点通信方式【PPP】广播信道:一对多的广播通信方式,使用专用的共享信道协议来协调数据发送【CSMA/CD】点对点信道数据链路和帧链路:一条无源的点对点的物理路段,中间没有任何其他的交换结点,一条链路只是一条路径/通路的一个组成部分数据链路:除了物理线路外,还必须有通信协议来控制这些数据的传输,把实现这些协议的硬件和软件加到链路上,就构成了数据链路

2020-12-16 23:08:53 389

原创 机器学习/数据科学——关联规则挖掘

关联规则挖掘概述相关性检验:检验数据特征之间线性相关性的统计量,取值范围[-1,1],绝对值越大特征之间的相关性越强衡量指标重要性:用关联规则中包含的所有特征(X=A∪B)的支持度(support)S(X)来衡量【即为关联规则被多少比例的数据覆盖】置信度:衡量规则可信程度定量描述规则:给定数据集,找出所有不小于预先设置的支持度阈值min_suppt 和置信度阈值min_conf规则的集合强关联规则:在支持度和置信度两个方面满足最小的条件步骤:找到所有不小于支持度阈值的规则【频

2020-12-07 14:16:22 1042

原创 数据科学/机器学习python——聚类模型【K-means聚类举例】

聚类模型无标签、无监督学习可以简化数据,有助于寻找数据的内部结构基于相似度【能把不同领域的数据相似度的度量融合进去,还可加入核函数】;基于特征【可以直接考虑原始的数据,避免因为度量距离而丢失某些信息】平坦聚类/分割聚类【直接将样本分割为多个不相交的子集】、层次聚类【通过构造具有层级的树形结构,在不同层次上对样本进行分割】K-means聚类起源于信号处理,是一种应用较广泛的聚类分析方法,目标是将n个样本划分到K个簇重,其中每个样本属于距离自己最近的簇【找到每个簇的中心,并最小化所有样本点到质

2020-11-21 20:01:30 1360

原创 数据科学/机器学习——集成模型【实例分析稍后放上,多稍后我也不确定...】

集成模型“三个臭皮匠,顶个诸葛亮”,个体方法总有不足,博采众长,考虑问题不同视角,通过将多个模型的结果进行综合,集成方法通常能获得比单个学习模型更好的预测性能以及更准确的结果,常应用于有监督模型。前提要求:基模型的预测能力比随即猜测好,且多个基模型之间具有差异性。集成方法:增强模型的表达能力;降低误差,大幅度提升模型预测性能【前提:基模型之间相互独立】集成分类器误差:构建集成模型步骤构造多个基模型可同一类型也可不同根据一定策略,将基模型组合成集成模型多数投票方法、平均值方

2020-11-10 11:19:36 1273

原创 计算机组成原理实验【不知道为什么一直在草稿箱里但懒得细看了就直接发了

延迟语句可仿真不可综合只能在仿真文件加延迟单指令ori赋值运算指令的运行方式:取指令、执行指令循环指令周期包含的阶段:取指令IF指令译码ID指令执行EXE存储器访问MEM【w/sw】结果写回WBIF取指令 PC+4ID←ROM[PC]PC←PC+4虽然不是所有指令PC+4拿出来【有一位空出来,默认为0assign pc4 = pc + 4ID固定的高六位always...

2020-10-21 21:55:38 386

原创 计算机组成原理实验——实现存储器模块Verilog

主存分类指令内存ROM:运行时指令不能改变 只有一个读接口,根据地址返回对应的指令 只读,一般用来存储指令数据内存RAM:ROM:raddr、rdata、CE数据初始化reg[31:0]inst_rom[0:1023];initial //法一:只能仿真,不能综合begin$readmemh(“ins.eme”,inst_rom); //读出放到inst_romend/IP核-ROM,IP核:知识产权核,只能用,不能知道怎么实现深度:多少条指令 宽度:每条指令几位分号结束,每个数据间

2020-10-21 21:53:15 4562

原创 数据科学/机器学习python——分类模型代码实现【KNN/ 决策树/ 逻辑回归/ 贝叶斯】

分类模型评估分类模型指标:正确率accuracy、F值F-measure、精度precision、召回率recall逻辑回归风险评估中最经典最常用的模型通常解决二分类问题,即预测目标y的取值范围为{1,-1}从线性回归到逻辑回归线性回归存在问题:y取值为连续实数而非离散值——解决:引入逻辑斯蒂函数,将连续性的输出映射到(0,1)之间当输入x很大或很小时,函数接近于0或1的值输出,σ(0)=0.5使用逻辑斯蒂函数,可将任意实数映射到(0,1)之间,在逻辑回归中可解释为样本属于正

2020-10-13 21:07:59 1299 1

原创 计算机网络笔记——cha.1概述

计算机网络在信息时代中的作用-计网产生的主客观原因- 方便性(实时OS<分时OS<网络操作系统)- 安全性(冷战产物:战争中的通信问题)定义:由大量相互独立但彼此连接的计算机组成,共同完成计算任务“三网”计算机网络电信网络有线电视网络目标各不相同,但相互渗透计算机网络特点连通性目标:信息交流(便捷经济)共享性目标:资源共享信息(网站、微信)软件(系统软件、应用软件)硬件(打印机)因特网(互联网)网络与因特网网络:由.

2020-09-11 21:04:15 540

原创 数据科学/机器学习python——数据预处理方法(onehot编码 缺失值处理 数据标准化 离群值检测)

数据预处理方法特征编码数字编码简单的数字编码:从0开始赋予特征的每一个取值一个整数收入水平={贫困,低收入,小康,中等收入,富有} → 收入水平={0,1,2,3,4}但这样的数字编码后的数据,引入了本不存在的次序关系,会导致后续错误的建模分析结果,骨为了避免上述误导性的结果,对于离散型特征(特别是名义型特征),使用One-Hot编码One-Hot编码将包含K个取值的离散型特征转换成K个二元特征(0/1)优点:不会人为地引入次序关系,不同的原始特征取值之间拥有相同的距离,线性回归

2020-09-11 20:08:22 2429

原创 python基础复习3——字符串一些需要注意的地方

字符串-’’‘三引号占用的内存空间(引号与内容不在同一行)与’/’'单双引号占用的内存空间不同【三引号需保存格式== - 比较内容is - 比较地址s1 = 'abc's2 = "abc"s3 = '''abc''' #'''三引号占用的内存空间(引号与内容不在同一行)与'/''单双引号占用的内存空间不同【三引号需保存格式print(id(s1),id(s2),id(s3))print(s1 == s2) #比较内容print(s1 is s2) #比较地址print(s

2020-08-11 16:01:09 222

原创 python3.7基础复习2——嵌套循环,print(‘0‘,end=‘‘)

pirnt(‘0’) -输出0后换行print(‘0’,end=’’) -输出0后不换行,为end传递一个空字符串,这样print函数不会在字符串末尾添加一个换行符,而是添加一个空字符串。# 打印三角形# *# **# ***# ****row = 1while row <=4: #print('*'*row) ——直接 #嵌套while count = 1 while count <= row: print('*',end='')

2020-08-07 16:40:26 780

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除