自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 收藏
  • 关注

原创 Apache Superset 是什么?一文读懂开源数据可视化分析平台的定位、核心概念与架构总览(2026 最新)

从资深架构师视角讲清三件事:**Superset 到底是个什么东西、它的核心概念怎么理解、它的整体架构长什么样。

2026-11-06 11:55:21 223

原创 Java 虚拟线程的四个“静默故障“:当线程不再是瓶颈,什么才是?

本文剖析Java虚拟线程迁移中的四大“静默故障”:Pinning残余、ThreadLocal失效、连接池资源失控及结构化并发误区。核心指出,虚拟线程虽解除线程数量瓶颈,却将旧线程池承担的资源限流职责归还应用层。作者强调,JDK 24后monitor pinning虽大幅缓解,但native调用与类加载仍存风险;ThreadLocal因线程不复用而失效,导致性能下降与内存泄漏;连接池不再受线程数约束,需主动引入背压机制。建议通过JFR监控pinning、重构ThreadLocal使用、合理配置连接池并采用结构

2026-11-05 12:12:07 727

原创 同一需求三套写法:用 Spring AI、LangChain4j、AgentScope Java 各实现一个带工具调用的 RAG 助手(实战对比)

本文以“技术问答助手”为例,对比Spring AI、LangChain4j与AgentScope Java实现RAG+工具调用的三套方案。三者均支持流式输出与知识检索,但风格迥异:Spring AI强调命令式流畅,LangChain4j采用声明式接口,AgentScope则以Agent编排为核心。代码量与心智模型差异显著,适用于单体智能(前两者)或多智能体系统(后者)。最终建议根据项目形态选型,实现从“能用”到“好用”的跃迁。

2026-11-05 00:12:20 422

原创 AgentScope Java 深度解析:ReActAgent、HarnessAgent 与多智能体编排——JVM 上的自治 Agent 底座

AgentScope Java 是阿里通义实验室推出的 JVM 多智能体框架,主打动态自治、多角色协作与生产级能力。其核心为 ReActAgent(推理引擎)与 HarnessAgent(生产容器),支持子智能体编排、状态持久化(Redis/MySQL)、沙箱隔离与 HITL 人工介入。适用于需分工协作、长期记忆、可审计的复杂 Agent 系统,相较 Spring AI 与 LangChain4j 更适合“自主规划+多智能体协同”场景。

2026-11-05 00:11:12 245

原创 LangChain4j 深度解析:@AiService、RAG 与 20+ Provider——Java AI 的生态之王

LangChain4j 作为 Java 原生大模型框架,以 @AiService 实现声明式 AI 服务,支持流式、异步与结构化输出。其核心优势在于全链路 RAG 支持(文档分块、向量化、检索增强),无缝集成多 Provider(OpenAI、Anthropic 等)与向量库(PGVector、Milvus 等),并具备工具调用、Agent、记忆管理与 OpenTelemetry 可观测性。模块化设计灵活,兼容 Spring Boot 3.x 与 4,适合复杂场景与非 Spring 技术栈,是当前 Java

2026-11-04 07:26:03 282

原创 Spring AI 2.0 深度解析:ChatClient、Advisor 链与 MCP——Java 工程师的 AI 落地最优解

Spring AI 2.0 实现范式跃迁:以 ChatClient 为统一入口,重构工具调用为可组合的 Advisor 链,内置 MCP 支持双向通信。核心升级包括空安全、不可变配置、对 Spring Boot 4+ 的依赖,显著提升可维护性与扩展性。推荐已规划迁移 Boot 4 的 Java 团队采用,实现高效智能集成。

2026-11-04 00:02:45 347

原创 Spring AI 上生产:限流熔断、密钥与成本治理、私有化/混合部署、降级与 Prompt 灰度架构全解

本文系统解析Spring AI从Demo到生产的核心架构设计,涵盖限流熔断、密钥与成本治理、私有化/混合部署、模型降级兜底及Prompt灰度发布等关键能力。基于Spring AI 2.0.1,构建融合网关、鉴权、监控的高可用体系,实现安全可控、成本可管、合规可落地的AI生产环境。结合真实企业接入案例,提供可复用的架构图与避坑指南,助力AI应用平稳上线。

2026-11-04 00:02:15 501

原创 AI 应用的安全红线:Spring AI 下的 Prompt 注入防护、PII 脱敏、输出审计与密钥管理

本文基于 Spring AI 2.0.1,通过 Advisor 机制构建AI应用安全防护体系,覆盖四层威胁面:输入(Prompt注入防护)、数据(PII双向脱敏)、工具(越权调用鉴权)与输出(审计留痕)。结合系统提示加固、输入拦截、脱敏链路、权限校验及密钥生命周期管理,实现统一安全网关。强调关键实践:拒绝硬编码密钥、输出前脱敏、工具执行前鉴权,防范注入、泄露与越权风险,保障生产级AI应用安全合规。

2026-11-03 12:11:12 817

原创 AI 回答质量怎么量化?Spring AI Evaluation 评估器:上线前给输出打分、防幻觉回归

SpringAI,上线前用评估器给 AI 输出打分,才能量化质量、防止幻觉回归。

2026-11-03 06:57:28 317

原创 上线后怎么排查 AI 调用?Spring AI Observability:token/延迟/成本埋点与全链路追踪

本文详解Spring AI 2.0.1中AI调用的可观测性实践,涵盖token用量、延迟、成本埋点与全链路追踪。通过Micrometer集成,实现关键指标监控;利用traceId串联请求链路,定位性能瓶颈;结合审计日志留痕,满足合规需求。重点解决成本失控、调用慢源难辨等痛点,提供可落地的监控方案与避坑指南。

2026-11-03 00:13:57 296

原创 2026 Java 大模型框架选型终极指南:Spring AI vs LangChain4j vs AgentScope Java 深度横评(万字 + 架构图 + 决策树)

一句话结论(赶时间的架构师只看这一句):Spring AI 和 LangChain4j 是"LLM 应用框架",解决的是"怎么在 Java 里把大模型/工具/向量库拼起来";AgentScope Java 是"多智能体运行时",解决的是"怎么让一群 Agent 自治地协作干活"。它们并不在同一层竞争——所以"哪个最好"是个伪命题,正确的问题是"你的团队住在哪、你要搭的是单体还是多智能体系统"。

2026-11-02 19:57:49 399 1

原创 Spring AI 多模态实战(上):图像理解 Vision——Media 与 MimeType 一次讲透

本文详解 Spring AI 2.0.1 中多模态图像理解实战,聚焦 Media 与 MimeType 构造多模态输入,实现图片转描述、结构化对象抽取及多图混排。通过真实代码示例,揭示模型能力边界与高 token 消耗风险,提出压缩、裁剪、格式统一等优化策略,并附踩坑 FAQ 与消息结构图,助力开发者高效落地图像理解场景。

2026-11-02 07:06:38 236

原创 类 ChatGPT 打字机效果:Spring AI Flux 流式输出 + SSE 对接前端实战(背压/断线重连)

本文详解 Spring AI 2.0 中实现类 ChatGPT 打字机效果的全链路方案:基于 Flux<ChatResponse> 与 SSE 的流式输出,后端推荐 WebFlux 方式(produces = TEXT_EVENT_STREAM_VALUE),前端用 EventSource 实现增量渲染。涵盖背压处理、断线重连机制及常见踩坑点(如参数传递、SSE 混淆等),强调前端流式 SSE 与 MCP 弃用的 SSE 本质不同,确保高效、稳定落地。

2026-11-02 07:06:22 286

原创 Spring AI 多模态实战(下):文生图 + TTS 语音合成(含 2.0 流式音频分片)

本文基于 Spring AI 2.0.1,实战文生图与TTS语音合成:通过ImageModel/ImagePrompt生成图片(返回URL或base64),用SpeechModel/SpeechPrompt实现文字转语音;重点介绍2.0流式音频分片技术,支持低延迟长文本播报;结合缓存、落盘、限流等策略控制生成成本,避免URL过期、音频格式错乱等常见坑点。附完整代码与踩坑指南,助力构建高效多模态应用。

2026-11-01 08:08:32 238

原创 MCP 2.0 是什么?Spring AI 双向集成:消费远程 MCP 工具 + 把你的 Spring 服务暴露成 MCP Server

MCP 2.0 是开放的模型上下文协议,解决 AI 工具碎片化问题。Spring AI 2.0 实现双向集成:通过 @McpTool 注解可将 Spring 服务暴露为 MCP Server,同时支持消费远程 MCP 工具。MCP 2.0 默认使用 Streamable HTTP 传输,弃用 SSE,提升可扩展性与安全性。结合鉴权与最小暴露原则,实现跨框架、跨语言的工具复用,构建灵活可插拔的 AI 生态。

2026-11-01 08:02:00 288

原创 让 AI 查订单、查库存、发消息:Spring AI 自定义工具(Tool)实战与工具描述工程

本文详解Spring AI 2.0中如何将Spring Bean方法通过@Tool注解暴露为AI可调用工具,核心在于“描述工程”——工具名需见名知义,描述要具体清晰,参数须注明格式与范围。强调错误应返回结果而非抛异常,敏感操作需人工兜底。针对海量工具场景,推荐使用检索式注册。结合实战案例与踩坑指南,提供从注册、描述到容错的完整方法论,助力高效构建可信赖的AI工具链。

2026-11-01 07:25:56 279

原创 大模型怎么自己调函数?Spring AI 2.0 Tool Calling 自动循环原理 + 完整时序图

Spring AI 2.0 通过递归 Advisor 链重构 Tool Calling 机制,将工具调用循环从 ChatModel 内部提升至统一链路,实现自动多轮交互:模型决定调用哪类工具并传参,框架执行后回喂结果,驱动模型生成最终回复。核心亮点包括 @Tool 注解定义工具 Schema、ToolCallingAdvisor 自动注册与循环、以及 2.0 独有的 ToolSearchToolCallingAdvisor,支持海量工具按需暴露,显著降低 token 消耗(34%~64%)。完整时序图揭示“

2026-10-31 00:09:23 314

原创 知识库上线前必看:Spring AI RAG 多租户隔离、增量更新、答案引用溯源与召回评测

本文详解Spring AI RAG上线前关键问题:通过元数据标签实现多租户隔离,基于文档ID幂等处理增量更新,保留来源信息支持答案溯源,并构建评测集量化召回率与命中率。结合过滤表达式、真实场景用例与踩坑指南,确保知识库安全、准确、可维护,助力从Demo到生产落地。

2026-10-31 00:09:04 324

原创 桥隧监测多源异构数据“融而不合“?资产主数据 + 特征对齐,把多模态数据真正“融“起来(从架构到落地代码)

桥隧监测面临多源异构数据“融而不合”难题,根源在于数据类型、时间尺度、空间坐标与业务编码的四重异构。本文提出“资产主数据+特征对齐”融合架构:通过四级编码体系建立统一身份标识,实现资产、部件、测点与坐标的标准化;再通过时间(授时+补偿)、空间(坐标配准)、语义(多模态特征映射)三重对齐,解决数据错位问题;结合因果解耦与三级融合模型,提升病害识别准确率。落地实践显示,时间误差控制在毫秒级,误报率降低60%以上,为结构状态统一刻画提供可复现的技术路径。

2026-10-30 18:01:09 967

原创 RAG 答非所问/幻觉怎么破?Spring AI QuestionAnswerAdvisor 召回优化实战(TopK/重排/混合检索)

本文详解 Spring AI 2.0.1 中 QuestionAnswerAdvisor 的检索增强链路,聚焦 RAG 答非所问与幻觉问题的根因——召回不足。通过调优 topK、similarityThreshold、分块策略,结合重排序与混合检索,提升命中率;并提供“答非所问/幻觉”排查清单,强调“先查召回,再调 prompt”,实现从“能用”到“可靠”的跃迁。

2026-10-30 17:17:25 355

原创 内存/Redis/PGVector/Milvus/ES 怎么选?Spring AI VectorStore 抽象与向量库选型对照表

本文基于Spring AI 2.0.1,详解VectorStore可移植抽象与向量库选型。通过统一接口实现无缝切换内存、PGVector、Redis、Milvus、Elasticsearch等库,业务代码零改动。重点推荐已有PostgreSQL团队优先选用PGVector,兼顾成本与功能。强调embedding模型维度一致性,避免重建索引。附完整PGVector接入实战与选型对照表,解决过滤语法、维度不匹配等五大踩坑问题,助力RAG系统高效落地。

2026-10-30 07:08:52 358

原创 桥隧监测海量物联数据“存不下、查不出、取不回“?云边协同 + 热温冷分层 + 多引擎架构,PB级时序成本直降90%(附落地代码)

桥隧监测面临海量时序数据“存不下、查不出、取不回”难题,根源在于高吞吐写入、混合负载与长周期留存的系统性矛盾。本文提出云边协同+热温冷分层+多引擎架构,通过边缘降采样压缩(带宽降80%+)、三档分层存储与生命周期管理,实现PB级时序数据成本直降90%。配套建库建表、Kafka调优、索引加速等可复现代码,支持分钟级到秒级检索,效果显著。

2026-10-29 12:06:46 1637 1

原创 Spring AI RAG 从零落地:文档读取→切分→向量化→入库完整 ETL 管线图解

本文详解Spring AI 2.0.1下RAG知识库的完整ETL管线:从文档读取(TextReader/PDF/Tika)→ 智能切分(TokenTextSplitter,含chunkSize与overlap调优)→ 向量化(EmbeddingModel)→ 入库(VectorStore)→ 检索。提供端到端可运行代码,解析关键参数选择与常见踩坑(如维度不匹配、重复入库、切分断裂),并附流程图与实战建议,助力高效构建私有知识库地基。

2026-10-29 00:23:14 283

原创 让 AI 直接返回 Java 对象:Spring AI 结构化输出 + 校验失败自动自纠正(StructuredOutputValidationAdvisor)

本文介绍 Spring AI 2.0.1 中通过 .entity() 直接将大模型输出绑定为 Java 对象的机制,结合 JSON Schema 约束与 StructuredOutputValidationAdvisor 实现校验失败自动重试,彻底告别手动解析 JSON。支持单对象及泛型集合绑定,兼容 Jackson 3 序列化底座,提供 provider 原生结构化输出与通用自纠正的选型建议,显著提升结构化数据提取的稳定性与开发效率。

2026-10-29 00:03:59 363 1

原创 Spring AI 多轮对话记忆怎么做?ChatMemory + 持久化(内存/JDBC/Mongo)完整实战

本文详解 Spring AI 2.0 中多轮对话记忆实现:通过 MessageWindowChatMemory 实现滑窗存储,结合 MessageChatMemoryAdvisor 自动注入历史消息;关键在于显式传入 ChatMemory.CONVERSATION_ID 实现会话隔离,避免串话。支持内存、JDBC、MongoDB 等持久化方案,通过控制最大消息数与上下文裁剪降低 token 成本。文末预告 2.1 版将废弃 ChatMemory,引入更优的 Session API,建议新项目提前规划迁移。

2026-10-28 00:15:59 546

原创 Spring AI 的灵魂:Advisor 责任链原理 + 手把手写一个自定义 Advisor(日志/脱敏/预算控制)

本文深入解析 Spring AI 2.0 的核心机制——Advisor 责任链,揭示其在记忆、工具调用、RAG 等高级功能中的统一作用。通过手写日志审计、输入脱敏、token 预算拦截三个可复用 Advisor,演示如何利用 adviseCall()、mutate() 和短路机制实现横切逻辑。重点强调 2.0 命名变更(如 CallAdvisor 替代 CallAroundAdvisor)与洋葱模型执行顺序,助开发者掌握 Spring AI 架构精髓。

2026-10-28 00:15:41 50

原创 别把 Prompt 硬编码进代码:Spring AI PromptTemplate 与提示词管理最佳实践

本文阐述了在Spring AI中避免提示词硬编码的重要性,提出使用PromptTemplate实现提示词的可配置、可版本化与灰度管理。通过变量占位、模板分离、外置配置与数据库存储,结合版本控制与动态路由,实现提示词作为工程资产的高效管理,解决变更需发版、无法A/B测试等痛点,提升AI应用的灵活性与可维护性。

2026-10-28 00:15:20 330

原创 物联网时序数据乱序问题全链路治理:从设备到存储的五层实战(附 Flink/Kafka/IoTDB 配置级代码)

本文系统解决物联网时序数据乱序问题,提出“五层治理”架构:设备端双时间戳+递增seq防补传错乱;接入层EMQX按deviceId路由保分区有序;Kafka通过幂等生产者与单分区消费确保到达顺序;Flink基于事件时间与Watermark实现迟到容忍与重算;存储层IoTDB分离顺乱序,支持同时间戳覆盖。附可直接落地的Flink/Kafka/IoTDB配置代码,揭示“70%迟到源于事件滞后”,强调“容忍+重算”优于“强行排序”,助力报表准确、曲线平滑、不丢数。

2026-10-27 12:50:22 539

原创 Spring AI 2.0 升级指南:从 1.x 平滑迁移的 Breaking Changes 全清单 + 改造清单

Spring AI 2.0 为重大升级,涉及底座(Boot 4、JDK 21、Jakarta、Jackson 3)与框架重构。核心变更包括:ChatClient 与 ChatModel 职责分离,Options 改用不可变 Builder 模式,InMemoryChatMemory 移除并改用 MessageWindowChatMemory,conversationId 必须显式传入。Azure OpenAI starter 已移除,改用 OpenAI starter 配置。MCP 传输层从 SSE 升级为

2026-10-27 12:48:43 335

原创 同一套代码切换 OpenAI/DeepSeek/通义/Ollama:Spring AI 模型抽象与选型实战

本文详解Spring AI 2.0实现“一套代码切换OpenAI/DeepSeek/通义/Ollama”的核心机制:通过ChatModel接口抽象,业务代码零改动。依托OpenAI兼容协议,可免换starter仅改配置接入国产模型;结合云端(高成本但强能力)与本地Ollama(私密免费)的五维决策矩阵,实现灵活选型。实战演示配置驱动切换,配合Profile管理多环境,真正实现模型无感迁移。

2026-10-27 12:48:22 844

原创 Spring AI ChatClient 详解:system/user/assistant 角色、call 与 stream 到底怎么选

本文详解 Spring AI 2.0 中 ChatClient 的核心用法:区分 ChatClient(业务入口)与 ChatModel(底层接口),掌握 system/user/assistant 三类消息角色的职责与优先级,理解 defaultSystem() 与 .system() 的覆盖关系。对比同步 call() 与响应式 stream() 的适用场景,推荐流式用于低延迟交互。通过 ChatOptions 调优 temperature、max-tokens、top-p 等参数,实现精准控制。强调构

2026-10-26 17:47:03 281 1

原创 保姆级|Spring AI 2.0 第一个 Demo:Spring Boot 4 接入大模型(含国内可用方案 + 完整 pom)

5 分钟内,用 Spring AI 2.0 的 `ChatClient` 把第一个大模型回答打印到控制台,并给出 OpenAI / DeepSeek / 通义 / Ollama 四种国内可用接入方案

2026-10-26 17:14:30 501

原创 从技术到汇报:给领导讲清MQTT Broker平台选型与风险(一页纸容量+成本测算模板)

本文提供一套面向领导的MQTT平台选型汇报模板,聚焦成本(TCO)、容量与风险三大核心关切。通过“结论先行”原则,用一页纸清晰呈现方案建议、容量测算、TCO对比(自建vs云托管)及风险分级应对措施。强调技术需转化为决策语言:以“花多少钱、扛不扛得住、会不会出事”为逻辑主线,附可直接使用的TCO测算表与风险分级表,助力技术人从“懂技术”跃升为“能拍板”的决策伙伴。

2026-10-26 06:37:22 184

原创 国标合规视角:工业物联网平台MQTT接入要满足哪些要求(GB/T 36478等)

工业物联网平台接入MQTT需遵循国标GB/T 36478系列,核心为《物联网 信息交换和共享》。该标准推荐使用开放协议如MQTT(3.1.1/5.0),并明确要求接口规范(GB/T 36478.4)、元数据定义(GB/T 36478.3)及系统互通性。合规关键点包括:采用标准协议版本、提供完整接口文档、满足等保安全要求,并具备一致性声明。建议以“开放协议+标准接口+可验证文档”为核心,避免私有协议带来的合规风险。

2026-10-25 09:22:44 347

原创 MQTT 百万连接容量规划与压测:单机到底扛多少连接?内存/文件描述符/内核参数全表

本文系统解析MQTT单机百万连接容量的实现路径:通过资源消耗分析(内存、文件描述符、消息队列)建立容量估算模型,结合内核参数调优(如fd上限、TCP参数)突破瓶颈,并强调以真实业务画像压测验证为核心方法。提供可落地的测算表与调优清单,最终实现“算得出、调得动、测得准”的容量规划闭环,助力构建高可用物联网消息平台。

2026-10-25 09:22:03 173

原创 企业级MQTT安全加固清单:认证(JWT/HTTP回调)、ACL、TLS/mTLS分层怎么配

企业级MQTT安全需分层加固:关闭匿名访问、绑定内网监听,启用TLS/mTLS加密;认证采用JWT或HTTP回调,实现身份验证;授权实施ACL最小权限策略(默认拒绝),确保设备仅访问自身主题;应用层部署限流、审计日志与监控告警。建议按网络→传输→认证→授权→应用顺序落地,核心原则为“纵深防御、fail-closed”。

2026-10-25 09:21:37 303

原创 MQTT Broker选型横评:EMQX/Mosquitto/RabbitMQ/云托管,甲方怎么拍板(附评分表)

本文为甲方提供MQTT Broker选型方法论与实用工具:破除“最好”误区,聚焦“最匹配”。通过规模、形态、约束三维度决策树,对比EMQX(高并发)、Mosquitto(轻量边缘)、RabbitMQ(复用存量)、云托管(免运维)四大方案。附可直接套用的加权评分表,从连接规模、性能、集群、运维等8个维度量化评估,助力基于业务画像科学拍板。核心建议:按需选型,用数据说话,避免品牌偏好。

2026-10-24 07:39:54 962

原创 MQTT 共享订阅$share/原理:怎么用它给消费端水平扩容做负载均衡

共享订阅($share/)是 MQTT 5.0 实现消费端水平扩容的核心机制,通过“组内互斥”实现消息分摊,避免广播冗余。其语法为 $share/{组名}/{主题},支持轮询、哈希、粘性等负载均衡策略,可按客户端或主题固定分发,保障时序与幂等。典型场景中,新增消费者实例即可自动分摊负载,无需修改发布端。注意组名不可含特殊字符,避免与普通订阅混用。相比 Kafka,共享订阅更轻量,适合高并发设备消息处理,但需结合下游瓶颈综合评估。

2026-10-24 00:13:31 332

原创 生产踩坑实录:设备疯狂重连把MQTT Broker打挂——指数退避、clientId抢占、NAT超时全复盘

凌晨设备批量重连致MQTT Broker崩溃,根因四重叠加:无退避的疯狂重连、clientId抢占引发踢皮球、NAT超时导致连接假死、认证回调延迟成瓶颈。复盘提出可落地方案:采用指数退避+抖动(模板已附),设置Keep Alive < NAT超时,严格管控clientId唯一性,优化认证服务性能。核心原则:单设备合理重试,千万设备需防雪崩。

2026-10-23 13:00:17 114

原创 MQTT QoS2滥用导致百万消息积压:一次凌晨故障的队列深度与容量复盘

凌晨故障源于QoS2滥用:海量遥测消息误设为高开销的QoS2,叠加队列无上限与消费慢,导致内存飙升、消息积压。根因在于“所有消息统一QoS2”,违背“按重要性分级”原则。修复通过降级非关键消息至QoS0/1,大幅降低内存占用,快速恢复服务。教训:QoS2非越高越好,必须结合业务场景分级,并设置队列上限与监控告警。

2026-10-23 00:18:24 344

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除