- 分类
- 知识帖子
Netty框架学习-BIO到NIO再到Netty
Netty 框架学习:从 BIO → NIO → Netty(小白版) 0. 学习路线总览(一张图先建立全局感) ┌────────────────────────────────────────────────────────────────────┐
│ Jav
MaxKB4j在RAG优化中的应用
MaxKB4j 是一款基于 Java 的开源 LLM 工作流与 RAG 知识库问答平台,借鉴 MaxKB、Dify 等设计,强调高性能与稳定性。它支持 12+ 种文档上传、自动分块、向量化入库,兼容 20+ 模型,并提供低代码 DAG 工作流、多 Agent 协作、RESTful API 及 MCP 支持。技术栈基于 Spring Boot 3、LangChain4j、pgvector 与 MongoDB,并采用 Java 21 虚拟线程提升并发性能,是工业级 RAG 落地的参考实现。
RAG系统效果评估指南
本文系统介绍 RAG 评估方法:强调必须用指标驱动优化,区分离线与在线评估并互补;从检索、生成、端到端三层拆解定位问题,并给出核心指标——检索层看 Recall@K、Precision@K、MRR、NDCG,生成层看忠实度、答案相关性等,构建完整评测闭环。
混合检索Hybrid-Search详解
混合检索(Hybrid Search)同时使用BM25关键词检索与向量语义检索,分别召回后按RRF等算法融合排序,以弥补单一检索在精确匹配与语义理解上的各自短板。文章指出,现实RAG语料包含代码、数字等,纯向量或纯BM25均有死角,混合检索能稳定提升召回率,已成为RAG检索层标配,并与Rerank精排配合。常见融合算法包括加权归一化与RRF,其中RRF因仅依赖排名而成为工程首选。
向量检索相似度计算详解
向量检索通过计算向量间相似度判断内容相关性,常用方法包括余弦相似度、内积和欧氏距离。余弦只关注方向,不受向量长度影响;内积兼顾方向与长度,计算更快;欧氏距离衡量绝对距离,使用较少。核心结论是:余弦相似度等价于先归一化再内积,若向量已归一化,内积与余弦结果一致。选择哪种方式取决于向量是否已归一化及具体应用场景。
电商SPU与SKU详解
电商 SPU 与 SKU 详解 一、概念定义 1. SPU(Standard Product Unit,标准产品单位) SPU 是商品的"属性集合",代表"是什么商品",是商品的最小聚合单位。 它是一组可复用、易检索的标准化信息的集合,描述的是商品的核心属性(如品牌、型号、名称、类目),但不包含具体
32过滤器和拦截器的区别
过滤器和拦截器都能在请求前后执行逻辑,但本质不同:过滤器基于Servlet规范,工作在容器层,通过责任链模式执行,不依赖Spring;拦截器基于Spring MVC框架,通过动态代理实现,依赖IoC容器,可访问Controller方法及注解。请求先经过过滤器链,再到DispatcherServlet,最后进入拦截器链。过滤器适合通用处理(如编码、静态资源),拦截器适合业务相关操作(如权限校验、日志记录)。
31AOP使用场景学习笔记
AOP是一种编程范式,通过将日志、事务等横切关注点模块化为“切面”,实现与业务逻辑的分离。核心概念包括切面、连接点、切入点、通知和织入。Spring AOP默认使用JDK动态代理或CGLIB代理实现运行时织入,支持前置、后置、异常、最终和环绕通知。常见应用场景有日志记录和事务管理,有效减少代码重复与耦合。
springboot+websocket实时聊天(一)
本文介绍基于Spring Boot WebSocket实现实时聊天功能的通用模板,涵盖功能概述、技术选型、数据库设计及后端实现。支持在线用户收发文字/图片消息,消息异步持久化至MySQL,离线用户通过REST拉取历史,按业务维度(如订单、群组)管理会话。推荐使用MQ异步写入、对象存储图片,并提供无MQ变体方案。