Spring AI 实战:为 AI Agent 封装一个本地终端命令执行 Tool 在开发基于大模型的 AI 应用时,让大模型拥有“行动能力”是迈向 AI Agent(智能体)的关键一步。通过 Spring AI 提供的 Function Calling(函数调用)机制,我们可以非常优雅地将本地 Java 方法暴露给 AI,让大模型根据上下文自主决定何时调用这些工具。 今天在这篇文 2026-05-15 后端探秘 15 野猪凌梦
滑动窗口:优雅解决 API 批量处理限制 在 AI 应用开发或者对接第三方服务时,我们经常会遇到一个非常现实的“拦路虎”:API 的调用限制。 比如最近我在做 RAG(检索增强生成)知识库时,需要把本地的 Markdown 文档向量化并存入 PostgreSQL。我使用的 DashScope(通义千问)嵌入模型虽然效果很棒,但它有一个硬性规 2026-05-13 后端探秘 20 野猪凌梦
Spring AI 消息持久化避坑指南:利用 Kryo 解决 Message 序列化难题 1. 背景:消失的 Serializable 在使用 Spring AI 开发对话系统时,我们通常需要将会话历史(List<Message>)保存到本地磁盘或 Redis 中,以便实现上下文记忆。 然而,Spring AI 中的 Message 接口及其实现类(如 UserMessage, Assi 2026-05-11 后端探秘 20 野猪凌梦
自定义线程池参数 * 线程池配置类 */ @Configuration public class ThreadPoolExecutorConfig { ThreadFactory threadFactory = new ThreadFactory() { private int count 2026-05-09 后端探秘 20 野猪凌梦
基于 Redisson 实现精细化接口限流:普通用户 vs VIP 用户的差异化控制 在高并发系统中,限流(Rate Limiting) 是保护后端服务不被突发流量打垮的关键手段。但传统的“一刀切”限流策略往往无法满足业务多样性需求——比如,我们希望 普通用户每秒最多调用 1 次接口,而 VIP 用户可以调用 5 次。 本文将带你使用 Redisson + Redis 实现一种灵活、 2026-05-09 后端探秘 24 野猪凌梦
Vue 3 + Element Plus 开发踩坑:为什么 scoped 样式失效?:deep() 到底怎么用? 在使用 Vue 3 + Element Plus 开发时,你是否也遇到过这样的困惑: “我已经写了 scoped 样式,但 Element Plus 组件的内部元素就是不生效!” 最后不得不加上 :deep() 才解决? 今天我们就来彻底搞懂这个问题的本质。 🔍 问题复现:官方头像上传组件样式“失 2026-05-09 前端拾光 20 野猪凌梦
如何配置 Docker 镜像加速(解决拉取缓慢问题) 在使用 Docker 开发和部署项目时,大家经常会遇到一个令人头疼的问题:从官方 Docker Hub 拉取镜像的速度极慢,甚至经常遇到网络超时。为了提升拉取速度和提高工作效率,最有效的解决方案就是配置国内的镜像加速器。 本文将详细演示如何在 Linux(如 Ubuntu 22.04)环境下配置 D 2026-05-09 终端漫游 36 野猪凌梦