自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

点滴记忆,分享成长之路

点滴记忆,培养兴趣,积累经验,成长自我,分享快乐!

  • 博客(132)
  • 资源 (4)
  • 收藏
  • 关注

原创 多 Agent 入门:为什么一个智能体不够用?

文章摘要: 多Agent系统通过任务分解和协作编排解决单Agent臃肿问题。核心思路是将复杂任务拆分为专业Agent,采用两种协作模式:ToolCalling(主管调度)和Handoffs(接力交接)。系统包含三个基础组件:ReactAgent(专业单元)、FlowAgent(编排控制)和OverAllState(全局状态)。编排模式包括并行(ParallelAgent)、串行(SequentialAgent)和路由(RoutingAgent),其中并行模式可显著提升效率,如三个3秒任务并行仅需3秒而非串行

2026-05-11 07:51:38 270

原创 Java MCP 实战:一文跑通 Server、Client 与第三方 MCP 接入

这篇文章,我用一个 Spring Boot 多模块 Demo,把 ReactAgent 对接 MCP 的完整流程实操跑通了一遍。从自建 MCP 看,我用 `@McpTool` 把普通 Java 方法注册成 MCP 工具,比如计算器。从第三方 MCP 看,我通过 `amap-mcp-server` 把高德官方 MCP 包装成 HTTP MCP,让客户端也能像连接普通 HTTP MCP Server 一样使用它。

2026-04-30 07:43:30 384

原创 一篇跑通 Spring AI Alibaba RAG:文档上传、向量检索、知识库问答全实战(附源码)

本文介绍了如何利用SpringAIAlibaba和Milvus搭建一套可落地的RAG知识库系统。核心思路是通过三步走:检索文档、增强上下文、生成答案。文章详细讲解了从文件上传到向量存储的完整流程,包括Milvus配置、文档切分、向量化入库等关键环节,并提供了Java/SpringBoot开发者的实战方案。特别强调了工程落地中的注意事项,如Embedding维度对齐、文档切分策略、相似度阈值调整等常见问题。整套方案既可作为知识库雏形,也能进一步扩展为企业级应用。

2026-04-27 09:15:42 382

原创 Spring AI Alibaba工具调用实战:Tool、ReAct Agent与Memory详解(附源码)

摘要:本文深入探讨如何让AI模型从简单问答升级为具备实际业务能力的智能代理。首先介绍了工具调用(Tool Calling)的实现方式,通过@Tool注解定义外部工具并自动调用。然后讲解了ReActAgent的多步推理执行机制,使AI能自主规划任务流程。接着说明Memory模块实现上下文记忆功能,区分会话隔离。最后介绍Hook机制控制上下文长度,防止信息膨胀。文章完整呈现了SpringAIAlibaba的进阶使用链路:Message->Prompt->ChatModel->ChatClien

2026-04-22 20:25:30 411

原创 AI应用开发入门原来这么简单(附可直接运行源码)

本文介绍如何快速上手SpringAIAlibaba,通过最小化示例讲解核心调用链路。首先给出一个可直接运行的Chat接口代码示例,包含Message、Prompt和ChatModel三个核心概念:Message定义对话角色和内容,Prompt组织消息请求,ChatModel负责与AI模型交互。文章逐步拆解这三个层次,并推荐使用更高层的ChatClient封装来简化开发。最后指出下一步将探讨Tool、Agent等进阶功能,提供完整项目源码供读者快速实践。全文聚焦"先跑通再理解"的学习路径,

2026-04-20 19:28:55 368

原创 Spring AI Alibaba 与 AgentScope对比:Java该怎么选?

同样做AI智能体,`Spring AI Alibaba` 和 `AgentScope-Java` 到底有什么区别?Java开发者该优先学哪个?一篇讲清楚,不踩坑。

2026-04-14 09:26:47 452

原创 Cursor基础使用

摘要:Cursor是一款AI智能编程助手,提供多种智能模式(Agent、Plan、Debug、Ask)满足不同开发需求。其特色功能包括@引用机制(支持文件/文件夹/代码片段引用)、/summarize摘要生成、@Doc文档库集成和@Browser自动化操作。通过.cursor/rules/*.mdc文件可定义项目级开发规范,使AI生成符合团队标准的代码。典型应用场景包括跨工程管理(前后端分离项目)、复杂问题拆解和自动化测试等。使用建议:渐进式引用保持上下文连贯,结合人工验证确保代码质量,利用规则文件统一团队

2026-03-02 16:28:32 1679

原创 LangChain内置工具包和联网搜索

智能体(Agent)是一种结合大语言模型(LLM)、工具(Tools)和记忆(Memory)的AI系统,能够自主决策完成任务。它通过感知环境、分析信息、调用工具和执行动作的闭环过程运作,解决了大模型在实时数据获取、精确计算等领域的短板。在LangChain框架中,可通过@tool装饰器、StructuredTool基类或继承BaseTool三种方式创建工具,其中@tool最为常用。LangChain还提供内置工具包,支持联网搜索等场景,开发者也可自定义工具

2025-07-07 21:40:40 1394

原创 (LangChain)RAG系统链路向量检索器之Retrievers(五)

构建RAG系统:涉及的技术链路环节: 文档加载器->文档转换器->文本嵌入模型->向量存储->

2025-07-02 20:36:42 987

原创 (LangChain)RAG系统链路向量存储之Milvus(四)

构建RAG系统:涉及的技术链路环节: 文档加载器->文档转换器->文本嵌入模型->->检索器。

2025-07-01 19:28:20 1261

原创 (LangChain)RAG系统链路之嵌入模型Embedding(三)

⽂本嵌⼊(Text Embedding)是将⽂本(单词、短语、句⼦或⽂档)映射到⾼维向量空间的技术。类⽐ :假设你是⼀个Java⼯程师,现在需要将⼀段⽂字(⽐如⽤户评论)存⼊数据库。传统⽅式可能是存字符串,但计算机⽆法直接“理解”语义。Embedding 模型的主要任务是将⽂本转换为数值向量表示这些向量可以⽤于计算⽂本之间的相似度、进⾏信息检索和聚类分析⽂本嵌⼊的整体链路 原始⽂本 → Embedding模型 → 数值向量 → 存储/⽐较。

2025-06-30 20:38:57 1158

原创 (LangChain)RAG系统链路之数据加载Transformers(二)

构建RAG系统:涉及的技术链路环节: 文档加载器->->文本嵌入模型->向量存储->检索器。

2025-06-29 11:06:08 118

原创 (LangChain)RAG系统链路之数据加载Loaders(一)

构建RAG系统:涉及的技术链路环节:->文档转换器->文本嵌入模型->向量存储->检索器。

2025-06-29 11:05:33 870

原创 LLM大模型如何访问MySQL业务数据库

创建能通过自然语言与SQL数据库交互的AI智能体,自动生成/执行SQL查询并解析结果核心能力:将用户问题(如“统计每个地区的销量”)转化为 SQL 查询语句。连接数据库执行 SQL,默认只读模式防止数据误修改。将数据库返回的原始数据(如)转换为用户友好的回答(如“总销售额为 $3500”)。自动修正 SQL 语法错误或逻辑问题(如字段名拼写错误)。LangChain 中专门用于连接 SQL 数据库并集成相关操作工具的模块包#使用 SQLDatabase.from_uri 连接数据库,自动读取表结构。

2025-06-29 10:52:28 1774

原创 基于LoRA微调的AI律师模型构建实践

**文章总结**本文介绍了基于LoRA的大模型微调技术,以千问Qwen-1.8B为例,实操了法律领域模型定制过程。涵盖数据格式转换、AutoDL算力平台环境搭建、Conda依赖管理、Git LFS模型下载、LoRA参数高效训练,并通过合并适配器权重对比微调前后推理效果。技术重点包括:预训练模型加载、LoRA低秩矩阵插入、训练脚本执行与模型合并。最终验证显示,微调后模型在法律任务中回答更专业准确,展示了大模型垂直领域优化的关键流程与实用方法。

2025-06-23 09:18:24 1514

原创 使用Trae编辑器与MCP协议构建高德地图定制化服务

本文详细介绍了如何利用字节跳动推出的Trae集成开发环境与MCP协议,开发基于高德地图API的定制化服务。内容涵盖Trae的安装配置、获取MCP Server配置信息、在高德地图开放平台创建应用获取API Key、使用Python和uv工具构建MCP Server(以天气查询为例)、开发及测试MCP Client

2025-06-21 11:35:19 2319 5

原创 从零搭建Prometheus到Grafana告警推送

本文主要介绍了使用Prometheus怎么监听应用服务和中间件。当使用Grafana时,怎么优雅快速的导入仪表盘以及设置阈值触发告警-将告警信息推送到邮件或者钉钉

2024-07-02 20:12:51 2139

原创 防止跨站脚本攻击XSS之Antisamy

本文重点是介绍SpringBoot3.X和Antisamy的整合细节

2024-06-29 10:05:49 1430

原创 日志可视化监控体系ElasticStack 8.X版本全链路实战

本博文将详细阐述如何通过一系列技术栈——包括Filebeat、Logstash、Elasticsearch(ES)和Kibana——来处理、索引、存储并可视化nannanw-demo.log日志文件的整个过程。将详细介绍这些步骤,确保您能够轻松地检索、分析和洞察日志文件中的重要信息。

2024-06-28 20:33:45 1504

原创 Arthas常用命令之trace、watch、jad、mc

阿里开源的Java诊断工具,它可以在运行时对Java应用程序进行动态诊断和调试。

2023-08-04 19:32:52 8317

原创 TCP洪水攻击Ru侵和结果分析解决方案

TCP洪水攻击介绍洪水攻击是一种网络攻击,它使用伪造的TCP连接请求来淹没服务器的资源,从而使服务器无法响应正常的用户请求这种攻击通过不断地发送同步(SYN)连接请求到服务器,而服务器会尝试建立连接,当服务器回复 SYN+ACK 报文后,攻击者不会发送确认(ACK)那SYN队列里的连接则不会出队,逐步就会占满服务端的 SYN半连接队列服务器会一直等待,耗尽服务器的资源,最终就是服务器不能为正常用户提供服务(想了解特别详细的可以看看TCP三次握手的流程)

2023-05-04 21:15:40 1711

原创 生产环境消失的进程如何排查

进程占用内存很大,会导致内存消耗完,为解决该问题操作系统中运用Swap技术,拿部分硬盘空间来充当内存使用,作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用换页机制操作系统把物理内存中放不下的数据临时放到磁盘上,等到需要的时候再放回到物理内存中,提供超过物理内存容量的空间访问数据被swap换出物理内存是有限资源,运行多进程时并不是每个进程都活跃,系统会启动 内存页面置换 (操作系统的页面置换算法)将长时间未使用的物理内存页帧放到swap分区,让出资源给其他进程。

2023-03-12 18:51:30 827

原创 CPU平均负载高问题定位分析

单位时间内 系统处于【可运行状态】和【不可中断状态】的平均进程数,就是平均活跃进程数【可运行状态】正在使用 CPU 或者正在等待 CPU 的进程用 ps aux命令看到的,处于 R 状态(Running 或 Runnable)的进程【不可中断状态】正处于内核态关键流程中的进程,且流程不可打断的,比如 等待硬件设备的 I/O 响应,为了保证数据的一致性,进程向磁盘读写数据时,在得到磁盘响应前是不能被其他进程或者中断打断的。

2023-03-12 11:22:42 2430

原创 ClickHouse高可用集群分片-副本实操(四)

数据分片-允许多台机器/节点同并行执行查询,实现了分布式并行计算分片间的数据是不同的,不同的服务器存储同一张表的不同部分,作用是为了水平切分表,缓解单节点的压力。

2023-02-25 19:47:24 2781

原创 学习(mianshi)必备-ClickHouse高性能查询/写入和常见注意事项(五)

全称 Log-Structured Merge-Tree 日志结构合并树,但不是树,而是利用磁盘顺序读写能力,实现一个多层读写的存储结构是一种分层,有序,面向磁盘的数据结构,核心思想是利用了磁盘批量的顺序写要远比随机写性能高出很多大大提升了数据的写入能力,但会牺牲部分读取性能为代价HBase、LevelDB、ClickHouse这些NoSQL存储都是采用的类LSM树结构在 NoSQL 系统里非常常见,基本已经成为必选方案, 为了解决快速读写的问题去设计的可以分两个部分理解。

2023-02-25 19:46:10 2477

原创 SpringBoot2.X整合ClickHouse项目实战-从零搭建整合(三)

Springboot2.X整合ClickHouse

2023-02-19 19:54:09 3268 4

原创 Springboot整合分布式链路追踪SkyWalking之探针使用和链路采集实战(二)

本篇主要展示SkyWalking和Springboot项目的整合以及探针链路采集展示

2023-01-28 11:20:31 2096 3

原创 分布式链路追踪SkyWalking快速入门之环境安装界面指标介绍(一)

本篇简单介绍SkyWalking是什么,特点和整体架构组成,使用docker安装部署,页面指标项的介绍

2023-01-28 11:19:58 2553

原创 分布式链路追踪SkyWalking进阶实战之RPC上报和WebHook通知(三)

本篇主要介绍SkyWalking性能剖析,慢业务代码定位以及通知告警

2023-01-28 11:19:58 2253 3

原创 ClickHouse常见SQL语法和常见合并数引擎Demo(二)

分区是表的分区,把一张表的数据分成N多个区块,分区后的表还是一张表,数据处理还是由自己来完成PARTITION BY,指的是一个表按照某一列数据(比如日期)进行分区,不同分区的数据会写入不同的文件中建表时加入partition概念,可以按照对应的分区字段,允许查询在指定了分区键的条件下,尽可能的少读取数据注意:不是所有的表引擎都可以分区,合并树(MergeTree) 系列的表引擎才支持数据分区,Log系列引擎不支持。...

2022-08-12 10:51:37 3519 3

原创 ClickHouse快速安装-可视化工具连接-创建第一个ck库表(一)

OLAP是什么,以及快速安装ClickHouse(容器化部署),CK可视化工具的下载链接使用以及创建第一个CK数据库和表,然后新增数据,浏览3分钟即可快速掌握这些知识

2022-08-12 10:44:40 3906

原创 elasticsearch7.x 集群的搭建和分片设置

es7.x集群搭建,重要参数设置以及分片的更改

2022-07-06 21:58:26 3975 1

原创 elasticsearch7.x 索引别名使用和重新建索引过程步骤

es重建索引步骤

2022-07-06 21:52:59 3366

原创 你知道小伙伴们的阿里云服务为什么会被ru侵,是怎么ru侵的吗?

一、什么是DDOS攻击二、自己购买的Linux服务器是怎么被挖矿的三、你知道SSH的原理吗四、SSH免密登录远程Linux云主机流程解析五、SSH免密登录远程Linux云主机实战六、SSH免密登录远程Linux云主机实战七、阿里云ECS服务器安装Redis6-入侵环境一、什么是DDOS攻击分布式拒绝服务攻击(Distributed Denial of Service,简称DDoS)是指处于不同位置的多个攻击者同时向个或数个目标发动攻击,或者一个攻击者控制了位于不...

2022-04-19 11:14:15 4949 13

原创 分布式调度XXL-Job整合Springboot2.X实战操作

单机定时任务: 单机的容易实现,但应用于集群环境做分布式部署,就会带来重复执行 解决方案有很多比如加锁、数据库等,但是增加了很多非业务逻辑分布式调度: 把需要处理的计划任务放入到统一的平台,实现集群管理调度与分布式部署的定时任务 叫做分布式定时任务 支持集群部署、高可用、并行调度、分片处理等

2022-04-08 10:48:02 2040 11

原创 Mysql的事务、隔离级别、脏读、幻读以及数据落盘步骤

checkpoint:随着时间的积累,redo Log会变的很大很大。如果每次都从第一条记录开始恢复,恢复的过程就会很慢。为了减少恢复的时间,就引入了checkpoint机制。定期将databuffer的内容刷新到磁盘datafile内,然后清除checkpoint之前的redo log。

2022-03-30 22:17:10 1616 11

原创 Redis4+布隆过滤器+lua实现方式、google布隆过滤器实现方式

本博文介绍了布隆过滤器的使用场景,以及google布隆过滤器和redis布隆过滤器分别的使用方法。当布隆过滤器说某个值存在时,这个值可能不存在;当它说不存在时,那就肯定不存在流量攻击:故意访问不存在的数据,导致程序不断访问DB数据库的数据(缓存穿透-解决方式将空值加到缓存中,防止大量攻击到db)

2022-03-28 10:42:11 2241 9

原创 Mysql高性能索引

导读:本博文讲解了索引是什么和索引的底层原理,提到了BTREE和B+TREE hash底层实现以及mysql选错索引的原因和解决方式。同时涵盖高频面试题之InnoDB索引和MyIsam索引对比区别,唯一索引和普通索引的区别。

2022-03-21 23:06:02 1233 9

原创 Mysql千万级别数据如何做分页

一、先来看看对SQL优化的理解SQL优化可分为两个部分,一个是设计阶段,另一个是查询阶段设计阶段运用到的优化: 使用适当的数据库列类型和大小(需要保证表设计的字段长度足够使用,且最小。比如性别gender字段可以用tinyint(1)即可)。小点的话,可以节省硬盘空间和检索时间。 尽量从设计上采用单表查询解决业务问题。 在适当字段加入索引,能用唯一索引用唯一索引(性能比普通索引高)。查询阶段涉及的优化: 尽可能不用select *:让优化器无法完成索引覆盖扫...

2022-03-20 21:13:55 4926 11

原创 并发编程ReentrantLock实现原理和Synchroized区别

ReentrantLock是Lcok默认实现方式之一,它是基于AQS(AbstractQueuedSynchronizer 队列同步器)实现的,它默认是通过非公平锁实现的,在它的内部有一个state的状态字段用于表示锁是否被占用,如果是0则表示未被占用,此时线程就可以把state改成1,并成功获得了锁,而其他未获得锁的线程只能去排队等待获取资源。首先来看下ReentrantLock的两个构造函数: public ReentrantLock() { sync = new Non

2022-03-19 21:35:29 448 5

hibernate 注解所需要的jar

配置文件太过麻烦了,企业逐渐的开始使用注解方式

2013-05-29

hibernate 配置文件版本所需Jar包

配置文件所需jar包,初学者可以看看我的博客里第一篇文章

2013-05-29

sfl4j.1.5.8.zip

日志的jar包,在使用Hibernate的时候,需要加上slf-nop.jar 这个是文档里没有的

2013-05-30

java执行sql脚本需要Jar包

java执行sql脚本所需要jar包,对应的操作在我的博客中

2013-08-22

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

TA关注的人

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