Spring AI新增会话存储,工具调用记录能留下
对话能从数据库读回来,工具调用和结果却不一定在里面。Spring AI 以前的 JDBC 聊天记忆只保存消息文本和类型;2.1.0-RC1 的 Session Memory 可以把工具调用和结果一起记下来,但它仍是候选版。
Spring AI 2.0 实战:用Java快速搭建RAG知识库系统
想象这样一个场景:公司上线了内部助手,员工问“差旅报销的审批流程是什么”,模型却自信地编出一套根本不存在的流程。
数仓字段从哪来的?开源SQL解析工具一条条追
数仓指标不对,老板问 amount 字段上游是谁。三层嵌套三个 JOIN,人眼追一下午。自己写正则更惨:三天写完,三个月修不完 bug,注释里的 FROM 被匹配,子查询漏了。SqlParserX 是袋鼠云上个月刚开源的 SQL 解析引擎,Java 写的,Apache-2.
接口突然变慢,先别查数据库,看这三个指标
数据库 CPU 5%,QPS 也不高,可接口就是慢。这类慢,加索引没用。先看耗时长什么样接口慢不是一个样子。先看监控上的耗时曲线,比翻代码快。
springboot使用文档
以商业应用存量最广的 Spring Boot 2.7.x 为基准,并标注 3.x 差异。Spring 时代三大痛点:海量 XML 配置、依赖版本冲突、外置 Tomcat 部署繁琐。
面试官:如何实现缓存的预热?你真的会答吗
面试题:如何实现缓存的预热?考察方向:实战场景 · 场景题先别往下翻,想一想你会怎么回答,再对照下面的解析。典型回答考察点缓存预热看似简单,实际考察的是什么时候把数据放进缓存、放哪些数据。
我用 Spring AI 搭了个企业知识库,熬了 3 个晚上才敢上线
一、事故现场:老板一句话,我搭了 3 个晚上那天老板说:"老张,给销售部搞个智能问答机器人,把产品手册丢进去就能回答客户问题。"我当时心想:这不就是 RAG 吗,现成框架一堆——Spring AI、LangChain4j——挑一个下午搞定。
MyBatis 从零开始:一张表带你跑通增删改查
如果你之前一直用 JDBC 或者 JPA,第一次打开 MyBatis 项目大概率会被三样东西绕晕:一个 mybatis-config.xml、一堆 XXXMapper.xml、还有一堆只有方法声明没有实现的接口。它们是怎么串起来的?接口不写实现类,为什么还能调?
LangChain4j + pgvector 实战:RAG 知识库落地
演示环境里 RAG 跑得挺顺,一上生产就露馅:向量库在堆内存里,服务重启一次知识库直接归零;扩到两台机器,各存一份;改一段文档,只能全量重灌;想按来源过滤一下,内存向量库根本不给你这个能力。问题不在模型,在于你把知识库放在了堆内存里。