自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring AI深度解析(7/50):Tool Calling 工具调用解析

传统大模型存在两大核心限制:知识时效性与动作执行能力。Spring AI深度解析(7/50):Tool Calling 工具调用解析。执行get_weather(city="杭州")返回工具调用请求(get_weather)二、Spring AI工具调用核心设计。返回WeatherInfo。一、工具调用的本质突破。三、工具调用全流程解析。"杭州明天温度多少?"杭州明天晴,25℃"四、生产级工具调用实践。六、性能优化与安全控制。

2025-04-20 21:17:47 1193

原创 Spring AI深度解析(6/50):Structured Output结构化输出

在大模型应用中,非结构化文本输出(如自由格式回答)会导致下游系统难以编程处理。通过结构化输出,Spring AI帮助开发者将大模型的非结构化能力无缝集成至企业系统,实现从「对话交互」到「业务动作」的质变升级。将用户提交的文本反馈自动分类为结构化工单,触发后续处理流程。• 质量可控性:通过Schema校验与混合验证保障输出可靠性。• 动态Schema适配:根据用户请求自动生成输出格式。• 自愈式解析:当解析失败时,自动触发模型修正流程。五、端到端案例:工单自动分类系统。一、结构化输出的本质价值。

2025-04-20 17:24:34 530

原创 Spring AI深度解析(5/50):Spring AI 的RAG核心设计与实践

通过Spring AI的模块化设计,开发者可快速构建适应不同业务场景的RAG系统,将静态数据转化为动态知识,释放大模型的潜力。• 长度适配:单块Token数 ≤ 模型上下文窗口的30%• 重叠机制:块间重叠10-15%防止信息断裂。在构建企业级AI应用时,一个核心痛点是:​​。• 语义完整性:避免切割表格、代码块。四、数据实时更新:构建动态知识库。六、端到端案例:技术文档问答系统。二、核心设计:模块化与可扩展性。三、高效分块:平衡语义与性能。方案1:自适应Token分块。方案2:混合分块策略。

2025-04-20 17:13:05 373

原创 Spring AI深度解析(4/50):Embedding模型与Vector Store的高效协同

在RAG(检索增强生成)架构中,Embedding模型与Vector Store的协同效率直接决定系统整体性能。本文通过解析Spring AI在Embedding与存储协同上的核心优化手段,揭示了工业级AI系统的高效实现密码。• 内存映射:使用ByteBuffer避免JVM堆内存拷贝。• 零拷贝传输:DirectBuffer与CUDA内存交互。• 动态分片:根据GPU显存自动调整batch size。实现高效协同,并通过源码解析揭示其优化设计。一、端到端向量化流水线设计。三、多模型灰度发布方案。

2025-04-20 16:36:08 418

原创 Spring AI深度解析(3/50):VectorStore抽象层如何统一10+向量数据库

向量检索是RAG(检索增强生成)架构的核心环节,但各向量数据库的API差异显著。Spring AI通过四层抽象设计屏蔽底层差异,本文将深入其接口定义、查询翻译机制、性能优化策略,并剖析Pinecone与PostgreSQL/PGVector的实现差异。• PostgreSQL/PGVector:转换为SQL WHERE子句。解析表达式树:将过滤条件转换为AST(抽象语法树)二、查询翻译引擎:SQL-like过滤语法的实现。四、PGVector适配器:开源方案的实现差异。• Pinecone:转换为。

2025-04-20 16:22:37 372

原创 Spring AI深度解析(2/50):Prompt模板引擎如何实现上下文注入

http | https://config-server/ai/prompts | 集中式配置管理 || file | file:/etc/ai-templates/legal.stg | 生产环境外部配置 || ai.prompt.render.count | 模板渲染次数 || ai.prompt.cache.hit.rate | 模板缓存命中率 |

2025-04-20 16:16:06 676

原创 Spring AI深度解析(1/50):ChatClient抽象层如何实现跨模型兼容

二、实现剖析:DeepSeekChatClient源码实现。三、通义千问的特殊处理:阿里云签名机制。一、接口抽象:统一国内模型的调用范式。• 部分厂商要求数据出境审查(需配置。• 通义千问需要处理阿里云V3签名。四、动态切换配置示例。五、扩展开发注意事项。

2025-04-20 15:59:46 393

原创 Spring AI 的现状与局限性分析

PyTorch 社区贡献者数量是 Spring AI 的 8 倍(数据来源:GitHub 2024 Q1 报告)• 某头部电商平台使用 Spring AI 集成 DeepSeek,支撑日均 5000+ 并发咨询。主流开源模型(如 Llama3、Falcon)的适配滞后 Python 生态 3-6 个月。• 某银行通过 Spring AI 将风控模型嵌入核心交易系统,响应速度提升 40%JVM 堆内存需求通常是 Python 的 2-3 倍(需加载 AI 模型和依赖库)Spring AI 适合。

2025-04-12 19:07:10 706

原创 【一】Spring AI 入门指南 | 基于DeepSeek 集成实践

在AI技术快速发展的背景下,Spring AI与DeepSeek的深度集成为企业级Java应用提供了高效AI接入方案。本文主要介绍DeepSeek模型完成环境搭建、核心功能开发及生产级优化,助Java技术栈的同学快速构建智能应用。

2025-04-12 18:50:09 408

原创 【微服务】整体知识体系

微服务架构知识体系

2022-10-06 16:33:21 290

原创 【数据库】GaussDB

GaussDB学习

2022-07-14 17:02:27 3597

原创 【Spring Cloud】Hystrix

目录一、什么是服务雪崩二、Hystrix的作用三、服务降级四、服务熔断五、资源隔离六、命令模式一、什么是服务雪崩多个服务之间调用的时候,假设服务A调用服务B和服务C,服务B和服务C又调用其他的服务,这就是所谓的“扇出”。如果“扇出”的链路上某个服务调用响应时间过长或者不可用,对服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的 “ 雪崩效应 ”。为了解决级联故障,就需要服务降级、服务熔断。二、Hystrix的作用Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避

2022-05-12 23:53:09 283

原创 【Spring Cloud】Eureka 服务治理

在服务剔除时,Eureka服务端并不会直接剔除所有已过期的服务,而是通过随机数的方式进行剔除,避免自我保护开启之前将所有的服务(包括正常的服务)给剔除。1、Eureka客户端在启动后,首先会创建一个心跳的定时任务,定时向服务端发送心跳信息,服务端会对客户端心跳做出响应。自我保护,是eureka重AP的重要体现,其主要目标是保证高可用,短时间的服务列表不可靠(一致性),是可以接受的。当有85%的服务不可用时,会认为是网络异常,服务端将不再进行服务剔除,从而确保正常的服务不被误剔除。

2022-05-12 21:45:23 530

原创 【数据库】Mysql基础

目录一、Mysql的体系架构二、事务事务的ACID事务的并发问题事务隔离级别三、Mysql 存储引擎索引原理MVCC机制锁机制四、InnoDB存储引擎五、Mysql集群六、分库分表七、读写分离一、Mysql的体系架构二、事务事务的ACID原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做。一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏隔离性(Isolation):同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰

2022-05-08 22:45:19 611

原创 【消息中间件】RocketMQ

目录一、RocketMQ的构成二、消息的类型三、生产者的工作流程1、消息发送过程:2、消息发送方式:四、Broker的工作流程1、消息存储方式2、持久化/刷盘3、文件清理策略五、消费者的工作流程1、消费模式2、消费者类型3、消费方式:4、负载均衡与rebalance5、消费端重试与死信队列六、高可用设计七、应用实践中的几个常见问题1、重复消费问题2、如何进行顺序消费3、如何保证数据0丢失4、消息积压处理八、与Kafka的比较一、RocketMQ的构成RocketMQ的几个角色:Nameserver:

2022-05-04 00:46:46 1654

原创 【Java基础】IO流

文章目录一、IO是什么二、IO流的分类三、字节流和字符流的区别:四、BIO,NIO,AIO 有什么区别五、什么是IO多路复用六、NIO监听socket数量有没有限制七、select/poll/epoll之间的区别八、epoll 水平触发(LT)与 边缘触发(ET)的区别一、IO是什么Linux 系统中一切皆文件,而文件指的就是一些二进制的流,我们在做进程间通信时,都是对这些流进行操作,简称 IO 操作。在操作系统的层面,这些操作都是通过文件描述符来进行操作的。通常用户进程的一个完整 IO 分为两个阶

2022-05-01 00:25:01 797

原创 【Java基础】Java基础

目录一、java中的编译器和解释器二、多态的实现三、Overload和Override的区别四、什么是值传递和引用传递五、引用拷贝、浅拷贝与深拷贝六、a==b与a.equals(b)有什么区别七、为什么要有 hashCode八、Java集合类九、HashTable 和concurrentHashMap 区别十、 什么是CAS一、java中的编译器和解释器编译器:将java源程序编译成字节码,字节码由虚拟机解释执行。解释器:解释器将字节码翻译成特定机器上的机器码,然后在特定的机器上运行。Java源代

2022-04-30 22:06:42 565

原创 【Spring】Spring基础

目录一、Spring Bean的作用域二、Spring Bean 的生命周期三、Spring是怎么解决循环依赖的四、Spring 常见注解五、Spring AOP六、Spring的事务管理机制七、Spring 事务失效检查异常八、Spring控制反转 IOC九、SpringBoot启动流程一、Spring Bean的作用域Spring框架支持以下五种bean的作用域:singleton : 单例模式。prototype:多例模式。request:每一次 HTTP 请求都会产生一个新的 be

2022-04-30 20:30:07 853

原创 GC回收机制

判断对象存活的算法:引用计数算法 当一个对象被引用一次,计数器就加1,当引用被释放,就减1,当计数器为0时,说明对象未被引用,则可以回收 缺陷:当两个对象互相引用时,则双方的计数器都是1,这两个对象就一直无法正常回收。可达性分析算法 通过一个GC Roots和对象之间建立一个引用路径,当对象和GC Roots 之间存在可达路径,说明对象是被引用的,当路径不可达时,则可回收。垃圾收集算

2016-12-20 00:11:53 452

原创 常见OOM异常

java Heap溢出当报错信息java.lang.OutOfMemoryError后面带有java heap space时,说明是java堆异常。由于java Heap是用来存放实例的,heap溢出,也就说明实例对象过多,而且和这些对象和GC roots之间的一直存在可达路径,内存泄露:一般出现这种情形,需要判断是否是内存泄露,即一些无用对象一直被引用,导致GC无法有效回收它,这时可以通过一些

2016-12-18 23:26:56 5816

翻译 《深入理解Java虚拟机》学习笔记-- Java内存区域

Java运行时的内存区域主要有5个区域, 线程共享的数据区 : 方法区、Heap 线程私有的区域 : 虚拟机栈(VM Stack)、本地方法栈(Native method stack)、程序计数器 。在理解JVM内存区域时,最好结合多线程的场景去理解,才能更好地明白为什么上述区域有些是线程私有的,有些是线程共享的。程序计数器 存放每个线程当前执行的字节码行号的指示器,可以理解

2016-12-18 21:52:54 321

原创 Java架构中的常见设计模式

设计模式

2016-05-09 00:49:01 874

空空如也

空空如也

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

TA关注的人

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