Nothing For Nothing

RAG客服“推荐问题”生成方案详解


RAG客服“推荐问题”生成方案详解 在RAG(Retrieval Augmented Generation)智能客服系统中,为用户推荐“可能还会问的问题”或“相关问题”能够有效提升用户体验,引导用户探索更多相关信息,或更快地解决潜在的后续疑问。以下是对“基于大语言模型(LLM)生成”和“基于检索文档

消息队列序及kafka分析


消息队列序及kafka分析 消息队列已经成为各个互联网大厂必用的基础设施,也是现在程序员必须掌握除Java, mysql, redis之外的又一核心技能。从我在大厂接触的项目来看,消息队列主要用于解耦,广播,异步等,具体应用包括多个系统处理能力差异异构解决方案,数据库CDC方案,业务系统和业务系统的

ECAI首页 双栏图片排版方式


需要图片双栏放置在标题下,摘要上方 \begin{strip} \centering \includegraphics[width=1\textwidth]{fig1.pdf} \captionof{figure}{xx} \labe

从零实现Mybatis框架(一)


从零实现Mybatis框架(一) 调用一个dao的接口到方法执行 从一个dao下的接口,到调用就能返回数据查询结果中间到底发生了什么?java本身接口是不能实例化的,必须要有具体的类,而一个类要直接使用只能使用其静态方法,要么对其类进行实例化对象。所有有点清楚的概念是,调用dao的接口返回数据,其中

队列源码分析


队列源码分析 1. 双端队列ArrayDeque ArrayDeque 是基于数组实现的可动态扩容的双端队列。 1.1 初始化 和HashMap类似的方式, 容量一定是2的幂次方 private static int calculateSize(int numElements) { int

几种常用的散列算法


几种常用的散列算法 最近学习HashMap、ThreadLocal、分库分表等源码,发现采用散列算法都不同。散列算法本质上是将一个极大不定范围的数据缩放到指定范围空间中。那么接下来就来了解不同的散列算法以及对应的使用。 除法散列 通过除法得到余数的方式来进行散列,mod M限制到M范围中。 由于编码

时间的囚徒


序 沉迷过去 畅想未来 只有现在 第一章:时间的裂缝 林默站在实验室的中央,盯着眼前那台巨大的机器。它的外形像一颗扭曲的金属心脏,表面布满了闪烁的指示灯和复杂的管道。这是他和团队耗费十年心血打造的「时间观测仪」,理论上,它可以让人类窥探时间的本质。 「准备好了吗?」助手小陈的声音从耳机里传来,带着

Java基础知识和JVM补充


Java基础知识和JVM补充 I/O read ->【准备数据 -> 数据就绪 -> 拷贝数据】 (内核) -> read返回 BIO(Blocking i/o) 同步阻塞 IO 模型中,应用程序发起 read 调用后,会一直阻塞,直到内核把数据拷贝到用户空间。如果BIO要处理多个客户端得i/o就只

设计模式--单例模式


设计模式--单例模式 单例模式在各个框架中设计或者实际开发经常遇到,主要是保证一个类只有一个示例,减少常用类频繁创建带来的性能损失。 常见的场景有: Spring中的Bean 项目中全局的属性 数据库连接池 Static关键字 一个简单的解决方式是使用static关键字,类加载过程在可以保证没有示例

JAVA并发编程


JAVA并发编程 反射和代理 反射和动态代理使用场景非常广。 动态代理:动态代理是Java的一种机制,可以在运行时创建一个代理对象,而不需要在编译时就确定代理类。 反射是指在运行时检查类的信息(如方法、属性、构造函数等)并操作它们的能力。 场景场景有: AOP切面 懒加载 权限控制 日志记录 远程代