自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 问答 (2)
  • 收藏
  • 关注

原创 【LangChain4j学习笔记】 LangChain4j MCP 模型上下文协议

本文介绍了LangChain4j中的MCP(模型上下文协议),这是一种标准化协议,用于连接AI模型与外部数据源和工具。主要内容包括: MCP解决了传统Function Call需要为每个外部能力编写代码的问题,提供了统一协议 MCP架构包含Server、Transport、Client和ToolProvider四个核心组件 通过实战示例演示了如何集成百度地图MCP服务 详细说明了MCP的工作流程和安全注意事项 介绍了MCP生态资源和常见服务器类型 提供了最佳实践建议,包括复用Client、生产配置和错误处理

2026-04-18 21:21:27 349 2

原创 【LangChain4j学习笔记】LangChain4j RAG 检索增强生成

本文介绍了LangChain4j框架中的RAG(检索增强生成)技术实现。主要内容包括: RAG技术原理:通过结合信息检索和文本生成,解决传统LLM的知识时效性、幻觉问题和私有数据访问等问题。 核心实现步骤: 文本向量化:使用Embedding模型将文本转换为高维向量 向量存储与检索:建立向量数据库并进行相似度搜索 ELP流程:文档提取、加载和处理(分割、向量化、存储) 实际应用: 支持多种文档格式解析 提供三种文本分割策略 集成Spring Boot实现应用启动时加载RAG数据 优势:相比传统LLM,RAG

2026-04-18 21:14:47 351

原创 【LangChain4j学习笔记】LangChain4j Function Call 工具调用

本文介绍了LangChain4j的Function Call功能,这是一种让AI模型调用外部工具的技术。主要内容包括:1)Function Call的核心价值是突破知识限制、执行实际任务和获取精确信息;2)通过@Tool和@P注解定义工具函数,如订单取消、天气查询等;3)将工具注册到AI服务的配置方法;4)实际应用场景示例,如订单取消流程的完整对话交互。该技术能自动判断何时调用工具、提取参数,并在Java层面确保安全可控,显著扩展了AI的应用能力。文章还提供了相关技术文档链接供进一步学习。

2026-04-16 20:17:41 213

原创 【LangChain4j学习笔记】LangChain4j 对话记忆与多用户隔离

本文介绍了LangChain4j中对话记忆的实现与多用户隔离方案。主要内容包括:1) 对话记忆的必要性,通过ChatMemory实现上下文记忆;2) 多用户隔离方案,使用@MemoryId和ChatMemoryProvider为不同用户创建独立对话空间;3) 记忆持久化方案,通过实现ChatMemoryStore接口支持Redis、数据库等存储;4) 最佳实践建议,如memoryId设计、定期清理等。文章对比了不同记忆类型和存储方式的适用场景,为构建具有上下文记忆能力的AI对话系统提供了完整解决方案。

2026-04-16 20:04:51 217

原创 【LangChain4j学习笔记】LangChain4j 声明式 AI 服务开发

本文介绍了LangChain4j的AiServices声明式AI服务开发方法。通过定义Java接口并使用注解(如@SystemMessage、@UserMessage)来声明AI服务,开发者可以构建类型安全、带对话记忆功能的AI应用。文章详细讲解了如何配置系统预设词、模板变量,以及添加对话记忆功能,并提供了完整的Spring Boot集成示例。AiServices方式相比直接使用ChatModel,提供了更简洁、类型安全的开发体验,同时支持流式对话和上下文记忆管理,适用于构建更复杂的AI交互场景。

2026-04-15 21:33:56 158

原创 【LangChain4j学习笔记】LangChain4j 入门指南:环境搭建与基础概念

LangChain4j 是 Java 生态的 AI 应用开发框架提供同步和流式两种对话方式Spring Boot 集成简单,配置方便。

2026-04-15 21:18:38 252

原创 Ubuntu内存优化实战:告别卡死,让Linux内存管理更智能

本文针对Ubuntu系统在高负载下出现的内存爆满卡死问题,提出了一套完整的优化方案。通过分析内核日志和systemd-oomd日志,定位内存问题的根源。核心解决方案是引入Zram内存压缩技术,详细介绍了配置参数(压缩算法、内存占比、优先级等)的最佳实践。同时调整swappiness参数优化内存换出策略,并建议保留磁盘Swap作为后备。这套方案使系统能够充分利用内存压缩特性,在高负载时保持流畅运行,避免因内存耗尽导致的卡死问题。适用于Ubuntu 24.04及类似Linux系统的开发和服务器场景。

2026-03-23 00:08:32 476

原创 Keyd:Linux高性能键盘重映射指南

摘要:keyd是一款专为Linux系统设计的高性能键盘重映射工具,支持Wayland和X11环境。核心功能包括按键重映射、多层键位切换、组合键设置等,通过evdev直接在内核层面工作。安装方式支持APT包管理或源码编译,配置简单只需编辑/etc/keyd/default.conf文件。文章详细介绍了安装步骤、配置示例及调试方法,特别适合需要高度自定义键盘布局的用户。通过"overload"功能可实现类似修饰键的分层映射,提升操作效率。

2026-03-01 16:48:53 285

原创 Ubuntu 桌面进阶指南:高效、美观、实用的 GNOME 扩展推荐

GNOME 扩展是提升 Ubuntu 桌面体验的强大工具。通过合理选择和配置,你可以将默认的 GNOME 桌面打造成高效、美观且个性化的生产力平台。本文推荐的几款扩展覆盖了界面精简、剪贴板增强、显示器控制和视觉美化等常见需求,希望对你有所帮助!

2026-02-12 21:24:01 602

原创 GRUB命令行界面引导Linux系统启动

摘要:本文介绍了在GRUB命令行界面手动引导Linux系统的方法,包括识别系统所在磁盘、设置root分区、加载内核和initrd镜像等步骤。同时提供了判断系统盘位置的方法,以及系统修复流程,涉及EFI分区挂载、GRUB重新安装和更新等操作。这些指令适用于Linux系统启动故障时的应急处理。

2026-01-17 14:48:42 105

原创 配置jupyter lab环境

Linux下jupyter lab的配置方法。

2023-10-02 16:01:12 1437 1

原创 Ubantu安装MySQL服务并配置远程Navicat连接

Ubantu系统联网安装MySQL服务,并配置远程登录连接。

2023-02-27 17:17:12 431

原创 在Linux系统中安装GDAL并绑定Python库

在Linux系统中配置GDAL的python开发环境

2023-02-25 00:02:36 3013 2

原创 shell脚本检查pm2指定进程状态并重启

根据pm2进程状态判断使用start命令或者restart命令的shell脚本

2023-02-08 15:49:16 1654

原创 VMware虚拟机deepin与win11文件共享

VMware虚拟机中deepin系统与win11系统共享文件夹配置。

2022-11-12 20:55:47 852

原创 声明子类对象时静态代码块及构造器执行顺序

父类与子类同时拥有静态代码块,声明子类对象时,静态代码块及构造器执行顺序。

2022-04-28 21:23:07 788

原创 Java注解简介

Java注解简介

2022-03-29 21:30:58 393

原创 Java反射简介

Java反射简介。

2022-03-28 15:28:46 405

原创 TreeMap、TreeSet简介

TreeMap源码解读

2022-03-27 14:55:11 1477

原创 SynchronousQueue简介

概述SynchronousQueue是一个特别的队列,在它的内部没有容器。其中每个插入操作必须等待另一个线程相应的删除操作,反之亦然。一个添加线程当它调用添加(put())方法时,如果没有其他线程尝试删除元素,此插入线程必须阻塞,等待删除线程调用删除操作,删除操作将会唤醒插入线程,同时删除线程会获取插入线程的数据。验证代码如下:public class SynchronousQueueDemo { public static void main(String[] args) throws In

2022-03-18 12:19:16 620

原创 反射中Class.forName和Classloader的区别

Java中的Class.forName()和ClassLoader的loadClass()方法的区别。

2022-03-15 12:04:31 1958

原创 AC-baidu-重定向脚本造成百度首页皮肤失效的解决方法

AC-baidu-重定向脚本造成百度首页皮肤失效的解决方法前言一、原因分析二、解决方法三、搜索结果页设置自定义背景前言AC-baidu-重定向优化百度搜狗谷歌必应搜索_favicon_双列是一个十分实用且强大脚本,相信有许多小伙伴使用该脚本。但不知道有没有小伙伴遇到以下困扰:在百度首页设置了心怡的皮肤,但加载皮肤在数秒后变成了白色背景。如果你也遇到这个问题那一起来看看如何解决吧。一、原因分析首先,要明确一点导致皮肤失效是由于开启了该脚本的“百度-护眼模式”,如果你并没有开启护眼模式就不会出现前言

2021-08-01 17:54:00 5169 2

原创 Java实现二叉排序树

Java实现二叉排序树前言完整代码前言二叉排序树,又称二叉查找树、二叉搜索树。具有如下性质:当其不为空时,任何一个非叶子结点,左子结点的值比当前结点的值小,右子结点的值比当前结点的值大。本文仅记录二叉排序树的Java实现,话不多说直接上代码。完整代码/** * @author ZHE * @date 2021/5/11 */public class BinarySortTree { /** * 根节点 */ private Node root;

2021-05-13 16:37:25 375

原创 Git安装与IDEA集成

Win10系统Git安装与IDEA集成前言Git安装IDEA集成Git配置Git忽略文件定位Git程序初始化本地库前言相信阅读本文的读者对于什么是Git已经十分清楚,故不赘述。本文写作的目的仅作学习笔记,供笔者日后查看。Git安装在Git官网中下载系统对应的安装包,本文以最新版2.31.1为例,打开安装向导。阅读GNU协议,点击“Next”。选择Git安装位置,要求非中文且没有空格目录,点击“Next”。配置Git选项,可根据需求自定义,点击“Next”。选择开始菜单文件目录

2021-04-29 12:22:30 587

原创 排序算法总结-Java实现

排序算法总结-Java实现前言冒泡排序选择排序(简单选择排序)插入排序(简单插入排序)希尔排序(缩小增量排序)快速排序归并排序基数排序堆排序前言突然想水篇文章,刚好最近在学习数据结构,便总结一下排序算法,算是自己的学习笔记了。我是看尚硅谷韩顺平老师视频自学的,文中的思路和截图基本来源于韩老师视频。在正文开始前,给大家推荐一个数据结构可视化网站,这个网站可能要比我的文章更加实用。希望能给各位伙伴些许帮助。冒泡排序基本思想:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发

2020-12-23 22:52:09 194

空空如也

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

TA关注的人

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