- 博客(7)
- 收藏
- 关注
原创 AI助手如何读懂用户真意
本文探讨了在问答系统中如何识别用户模糊关键词的真实意图,以"开票"为例分析了现有RAG系统的局限性。提出了三种解决方案:模型微调(成本高不推荐);知识库标签化+提示词增强(快速落地但扩展性差);关键字向量化+意图识别+多轮引导机制(推荐方案)。第三种方案通过将关键词向量化、绑定潜在意图、多轮交互引导等方式,在无需模型微调的情况下实现高准确率和扩展性。对比分析显示该方案在准确性、扩展性和稳定性方面表现最优,特别适合企业级问答系统。建议优先采用此方案解决关键词模糊问题,提升用户体验。
2025-06-25 17:02:44
695
原创 基于spring扩展接口实现简单调用链
本文介绍了基于Spring的BeanPostProcessor接口实现服务调用链路监控的设计方案。通过代理技术对Service层和Mapper层进行方法拦截,记录调用链路和执行时间。针对Mapper层复杂的代理场景,文章详细解析了如何通过二次代理MapperFactoryBean对象,在不改变MyBatis原有行为的情况下实现对Mapper接口的监控。方案采用注解方式灵活适配,结合模板方法模式统一处理JDK代理和CGLIB代理,最终实现了调用链路的可视化追踪。该设计为解决类似监控需求提供了可借鉴的思路
2022-03-17 15:50:18
1069
5
原创 mybatis一级缓存和二级缓存原理
MyBatis缓存机制解析:一级缓存与二级缓存的实现原理 摘要: 本文深入分析了MyBatis缓存机制的实现原理。MyBatis提供两种缓存级别:一级缓存(会话级,默认SESSION范围)和二级缓存(namespace级)。通过Executor执行器体系(包括SimpleExecutor、ReuseExecutor、BatchExecutor)实现查询操作,其中BaseExecutor模板类处理一级缓存,CachingExecutor装饰器模式实现二级缓存。
2021-08-31 14:12:03
957
2
原创 mybatis延迟加载原理解析
MyBatis延迟加载机制解析 本文详细分析了MyBatis的延迟加载实现原理。延迟加载通过在需要时才执行查询来提升性能,避免不必要的数据库操作。MyBatis通过动态代理(默认使用Javassist)实现延迟加载,主要流程包括: 配置开启延迟加载功能 ResultMap中使用association/collection标签配置延迟加载属性 查询时创建代理对象并维护延迟加载信息 访问属性时触发代理逻辑执行实际查询 ResultLoader完成数据加载并赋值 核心在于ResultLoaderMap和Resul
2021-08-29 22:04:46
1365
原创 mybatis的执行原理
构建sessionFactory以下解析的是在获取session的一个简单过程,这里我们不做详细的讲解,这里关键讲解的是利用mybatis进行一个代理查询的一个流程解析和代理的过程,方便大家更好的理解和高效的使用该框架。如过有说的不对的地方希望给予指点,谢谢各位大佬。这里是我写的一个入口程序,由该案例来深入的解析执行流程。 public static SqlSession getSqlSession() throws IOException { //获得核心文件配置
2021-07-10 17:49:08
265
1
原创 mybatis拦截器执行过程及原理
本章是在阅读源码一步步的执行进行的一个原理讲解,比较任意通俗易懂,方便更加高效的理解mybatis插件的一个原理,帮助大家写出在不同的场景写出响应的插件。以下是我在阅读源码过程中的各个步骤间做的所做的事情,帮助大家更好的理解mybatis的拦截器原理。有什么不对的地方希望大家多多理解。1.在解析的时候扫描带有plugins标签的内容,里面配置了我们需要的拦截器,这里可以配置多个拦截器,只需要我们实现Interceptor接口。进行解析标签初始化我们实现的拦截器。初始化过后的拦截器加入到责任链
2021-06-27 14:50:20
1338
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人