Kon4tsu's Blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

BM25算法原理

BM25算法原理BM25(Best Matching 25)是信息检索领域用来计算查询(Query)与文档(Document)之间相关性的核心算法。BM25 是在经典的 TF-IDF 基础上改进而来的,它主要解决了 TF-IDF 中的两个痛点:词频饱和度和文档长度归一化 1. TF-IDF1.1 TF-IDF 的两个核心组件TF-IDF 是由两部分相乘得来的: TF (Term Frequency
2026-03-24
AI

近似最近邻ANN算法技术总结

近似最近邻ANN算法技术总结 参考: https://zhuanlan.zhihu.com/p/1975285032437433794 https://zhuanlan.zhihu.com/p/677789496 近似最近邻 (Approximate Nearest Neighbor, ANN) 算法是一类用于在高维空间中快速查找与查询点最相似数据点的算法。相比精确的最近邻搜索 (KNN),AN
2026-03-24
AI

RAG

RAG1. Indexing索引构建1.1 文档分块chunking将一个大文档切成小段,每段包含一个相对独立的语义。分块的关键参数: 块大小chunk size:太小会导致语义不完整,太大会导致检索不精准 重叠overlap:防止语义信息在切块边界被硬生生地切断 如何选择合适的chunk size? 根据embedding模型的能力:embedding会有其最大输入token的限制,切块大小
2026-03-21
AI

AI应用开发常见面试题

AI应用开发常见面试题 来源:https://github.com/datawhalechina 1. LLM 八股1.1 请详细解释一下 Transformer 模型中的自注意力机制是如何工作的?它为什么比 RNN 更适合处理长序列? 参考答案:自注意力(Self-Attention)机制是Transformer模型的核心,它使得模型能够动态地衡量输入序列中不同单词之间的重要性,并据此生成每
2026-03-19
AI

Spring事务

Spring事务1. Spring事务失效场景访问权限问题 Spring 使用动态代理或字节码增强来实现 AOP。当调用一个被 @Transactional 注解标记的方法时,代理对象会拦截调用,并在方法执行前后添加事务管理逻辑。然而,private 方法无法被代理对象拦截,因为它们对外部不可见。 Spring要求被代理的事务方法必须是public的。如果将事务方法定义为private、defa
2026-03-10
Spring

Spring是如何解决循环依赖的

Spring是如何解决循环依赖的 循环依赖在Spring中主要有三种情况: 构造器注入时产生的循环依赖问题 多例模式下通过setter方法注入产生的循环依赖问题 单例模式下通过setter方法注入产生的循环依赖问题 1. Spring的三级缓存产生循环依赖的三种情况里,只有单例模式下通过setter方法注入产生的循环依赖问题被Spring解决了,其他两种情况下都会抛出异常。 Spring 创
2026-03-10
Spring

Redis字符串的embstr编码和raw编码之间的界限为什么是44字节

Redis字符串的embstr编码和raw编码之间的界限为什么是44字节 引用:https://juejin.cn/post/7278858311595900987 核心结论:44 字节是为了让整个 RedisObject 对象(包含 SDS Header 和字符串内容)刚好填满 64 字节的内存块 1. Redis字符串编码类型Redis 字符串内部内部编码有三种: int:存储 8 个字节
2026-02-05
Redis

Redis SDS的5种类型

Redis SDS的5种类型1. 结构概览与区别为了极致地节省内存,Redis 开发者并没有使用一种通用的结构,而是根据字符串的长度,定义了五种不同的 Header 结构。这五种类型的核心区别在于:用于保存字符串长度(len)和分配空间(alloc)的变量类型不同。 类型 len变量类型 alloc变量类型 flags占用 最大容纳长度 Header自身占用 sdshdr5 无 (由
2026-02-05
Redis

Redis渐进式rehash

Redis渐进式rehash 渐进式 rehash 是 Redis 为了避免在扩容或收缩哈希表(Dict)时导致服务器“卡死”而设计的一种高明策略。 如果 Redis 像传统方式那样一次性完成百万级键值的搬迁,会导致主线程长时间阻塞,对于追求高并发、低延迟的 Redis 来说,这显然是不可接受的。 1. 核心数据结构在 Redis 的字典结构中,实际上维护了两个哈希表: ht[0]:平时使用的
2026-02-04
Redis

Redis性能排查调优

Redis性能排查调优 Redis执行命令变慢的原因 1. 网络问题2. 业务问题 设置慢日志阈值,开启慢日志slowLog 2.1 命令复杂度过高 经常使用 O(N) 以上复杂度的命令,例如 SORT、SUNION、ZUNIONSTORE 聚合类命令 使用 O(N) 复杂度的命令,但 N 的值非常大 解决方法: 尽量不使用 O(N) 以上复杂度过高的命令,对于数据的聚合操作,放在客户端做
2026-02-04
Redis
123…6

搜索

Hexo Fluid