自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RAG之检索优化(三)

本文探讨了RAG系统优化中的关键问题:索引优化与科学评估。首先介绍了检索前处理技术,包括智能查询构建(Text-to-SQL转换和自查询检索器)和查询优化技巧(重写、分解、澄清和扩展)。然后详细解析了五种索引类型(FLAT、HNSW、IVF_FLAT等)的特点与适用场景,并提出层次化索引和多表示索引等优化策略。文章强调,通过合理的索引选择和优化技巧,可以显著提升RAG系统的检索效率和答案质量,使其从"能用"变为"好用"。

2026-03-02 10:50:15 835

原创 RAG之嵌入模型与向量数据库(二)

嵌入模型决定了“语义理解的精准度”,向量数据库决定了“检索的速度和效率”。嵌入模型优先匹配语言和文本长度,向量数据库优先匹配数据规模和运维能。做好这两个组件的选型和配置,RAG系统的检索性能就成功了一半。

2026-02-25 10:05:48 1028

原创 RAG之数据导入与文本分块(一)

摘要: RAG(检索增强生成)通过“先检索后生成”机制提升大模型回答的可信度,其核心流程包括数据导入、文本分块、检索匹配和生成回答。数据导入需从结构化(Excel)、非结构化(PDF/PPT)和半结构化(JSON/HTML)数据源中筛选清洗,使用LangChain等工具加载。文本分块是关键环节,需平衡语义完整性与检索效率,常用递归分块、语义分块等方法,控制块大小(500-1000字符)并添加重叠与元数据。最终通过向量化将文本转为可检索的向量,使大模型基于精准资料生成回答,避免幻觉问题。

2026-02-24 11:21:40 827

原创 GDB调试 core dump 文件与栈溢出分析

本文将介绍如何通过Core dump机制调试程序中的段错误问题。首先需在Ubuntu中启用Core dump功能(使用ulimit -c unlimited命令),并设置core文件命名格式。通过两个示例演示调试过程:第一个案例中空指针解引用导致段错误,通过gdb可定位到具体代码行;第二个案例中多次调用alloca()导致栈溢出,分析发现是栈空间不足(默认仅8MB)。调试时使用gdb命令(如bt、i locals)查看调用栈和局部变量,结合系统内存和栈空间限制分析问题根源。核心转储文件能有效保存程序崩溃时的

2025-08-11 21:06:28 1051

原创 Git推送代码冲突与Git分支管理

本文介绍了Git中的两种冲突类型及分支管理方法。通过分支隔离开发环境,可有效减少代码冲突,提高团队协作效率。

2025-07-14 15:48:53 860

原创 Git各阶段的代码修改回退、撤销等操作

Git代码回退操作指南 本文介绍了Git中三种不同场景的代码回退方法

2025-07-03 09:40:46 746

原创 Git客户端的创建与常用的提交、拉取、修改、推送等命令

本文介绍了如何在Windows环境下使用Git Bash连接GitHub并进行代码管理

2025-07-02 20:37:12 1406 1

原创 FFmpeg音视频同步思路

本文探讨了以音频PTS为基准进行音视频同步的优势和方法。同步策略优先保证听觉体验,利用FFmpeg获取音频帧PTS和时间基,通过SDL音频回调实现渲染控制。关键点在于计算当前音频播放位置:记录首帧PTS和渲染时间,结合时间增量换算成同步PTS。视频同步需使用解码后AVFrame的PTS而非AVPacket的PTS,因B帧、帧分割/合并等因素会导致不一致。最终通过比较视频PTS和同步PTS决定解码节奏,视频超前时等待,落后时追赶,确保平滑同步。这种方案符合人类感知特性,调整成本低,能有效避免声画不同步问题。

2025-06-26 15:42:57 1229

原创 QT实现动画翻转效果

QT实现翻转动画效果

2025-06-03 21:04:36 1105

原创 QT之头像剪裁效果实现

QT5实现头像剪裁效果

2025-06-02 11:13:09 1278

原创 QT之INI、JSON、XML处理

使用Qt进行INI和JSON还有XML的文件处理方法

2025-05-24 22:15:25 810

原创 QT之文件类

介绍了如何使用Qt中的QFileInfo和QDir类来获取文件信息和目录列表

2025-05-22 00:15:47 1011

原创 QT之绘图模块和双缓冲技术

使用Qt框架实现一个图形绘制应用程序,讲解了双缓冲技术的应用

2025-05-19 15:12:38 640

原创 QT之MVD的简单体现和通过便利类widget复现同样效果

这是因为 QStandardItemModel 实现了 Qt 的模型 / 视图架构中的标准接口,而这两种视图(树视图和表格视图)都能够适配这种标准模型。虽然通过QTableWidget可以绕过显式的模型操作,但它的内部仍然通过QTableWidgetItemModel实现了模型-视图的分离。​​在复杂场景中,模型-视图架构的灵活性、性能和可维护性优势会显著体现​​。同时,它也可以作为表格数据的容器,通过将数据组织成二维表格的形式(行和列),可以直接用于表格视图(QTableView)

2025-05-19 08:40:41 1149

原创 imx6ULL从应用程序到驱动程序

本文介绍了如何通过应用程序和驱动程序控制LED设备。应用程序通过open和write系统调用打开字符设备并改变LED状态。驱动程序部分,首先通过register_chrdev注册设备并绑定file_operations结构体,确保内核能够找到并调用相应的驱动函数。接着,通过platform_device描述硬件资源,并使用platform_device_register将其注册到内核。最后,通过platform_driver提供设备操作函数,并使用platform_driver_register注册驱动。整

2025-05-18 08:33:03 1054

原创 QT之LayOut布局

QFormLayout、QGridLayout、QHBoxLayout、QVBoxLayout的使用

2025-05-17 15:29:57 767

原创 驱动层如何重写mmap

驱动程序实现自己的mmap

2025-04-24 16:59:48 1286

原创 Hi3518E官方录像例程源码流程分析(五)

海思Hi3518E官方编码例程分析,涉及模块VI、VPSS、VENC

2025-04-23 20:58:35 1305

原创 Hi3518E官方录像例程源码流程分析(四)

海思Hi3518E官方编码例程分析,涉及模块VI、VPSS、VENC

2025-04-20 11:59:07 946

原创 Hi3518E官方录像例程源码流程分析(三)

海思Hi3518E官方编码例程分析,涉及模块VI、VPSS、VENC

2025-04-16 21:19:48 1081

原创 Hi3518E官方录像例程源码流程分析(二)

海思Hi3518E官方编码例程分析,涉及模块VI、VPSS、VENC

2025-04-14 17:38:49 969

原创 Hi3518E官方录像例程流程分析(一)

海思Hi3518E官方编码例程分析,涉及模块VI、VPSS、VENC

2025-04-14 17:37:59 798

原创 C++ inline和define(宏)

关于C++里inline和define的一些区别

2025-04-11 23:14:50 508

原创 cin,cin.get(),getchar(),getline(),cin.get line()异同点

cin,cin.get(),getchar(),getline(),cin.get line()异同点

2025-04-11 22:56:13 668

原创 手撕unique_ptr 和 shareed_ptr

【代码】手撕unique_ptr 和 shareed_ptr。

2025-04-09 22:23:28 415

原创 C++ unique_ptr、shared_ptr、weak_ptr全面解析

对make出来的智能指针和new出来的智能指针的区别做了详细介绍,同时对shared_ptr和weak_ptr之间的关系做了全面剖析

2025-03-31 21:19:15 1335

原创 C++两条对象优化

C++的对象优化

2025-03-31 12:18:34 271

原创 C++的四种类型转换

C++的四种类型转换

2025-03-30 21:52:45 663

原创 protobuf新版下载安装

protobuf高版本下载安装

2025-03-29 12:11:37 664

原创 const 在C 和C++ 里的区别

const 在C 和 C++里的区别

2025-03-04 15:08:03 365

原创 超详细函数调用堆栈图解和进程虚拟空间图解

图解函数堆栈调用和进程空间划分

2025-03-02 09:31:25 513

原创 音视频编码和封装格式

视频是连续的图像序列,由连续的帧构成,一帧即为一幅图像。由于人眼的视觉暂留效应,当帧序列以一定的速率播放时,我们看到的就是动作连续的视频。由于连续的帧之间相似性极高,为便于储存传输,我们需要对原始的视频进行编码压缩,以去除空间、时间维度的冗余。音频编码是一种将音频信号转换为数字形式的过程,目的是减少数据中的冗余,以便存储和传输。音频编码的实质是通过抽样、量化和编码三个步骤,将连续变化的模拟信号转换为数字编码。视频编码是将视频数据从一种格式转换为另一种格式的过程。

2025-02-25 22:29:22 1470

原创 多媒体常用概念

介绍了多媒体常用概念

2025-02-25 22:12:56 940

原创 原子操作、写回策略、缓存一致性问题、内存序详解

通过绘图清晰展现了写回策略,对原子操作缓存一致性问题做出详细阐述

2025-02-24 22:01:51 1528

原创 四次挥手详解

四次挥手各状态和TIME_WAIT详解

2025-02-09 10:43:35 1378

原创 TCP三次握手全方面详解

三次握手各点详解

2025-02-08 22:58:21 1855

原创 右值引用全面剖析

右值引用全面剖析

2025-01-02 22:08:02 964

原创 C++ 关于虚函数的一些碎碎念

如果基类的析构函数不是虚函数那也不会报错,但是在工程上是的,方法实现了多态,否则容易出现这种类似问题实现一个基类AB1和B2继承A类场景模拟,由于构造哪个类由传参决定,所以返回的是基类此时就会出现问题,Drop函数里delete只调用了基类的析构函数,但是没有调用子类的析构函数,造成内存泄露所以为了防止这种情况产生,将基类的虚构函数设置成virtual就能调用到子类的虚构函数。

2024-12-27 16:12:46 1124

原创 超详细!手撕C++线程池!(大家圣诞节快乐呀!!)

充分利用C++新特性,通过智能指针管理线程和任务对象的生命周期,通过条件变量condition_variable来进行任务通知,以及通过promise来异步获取任务的返回

2024-12-25 22:11:11 757

原创 new和malloc、delete和free的区别

分析了五点new和malloc的区别,同时提到free是怎么知道要释放多少空间和malloc是怎么分配内存的这两点题外话

2024-12-24 17:17:47 519

空空如也

空空如也

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

TA关注的人

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