<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[梧桐树的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/winerpro</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; winerpro]]></copyright><item><title><![CDATA[深入理解 LangChain 中的“链”（Chain）]]></title><link>https://blog.csdn.net/winerpro/article/details/157643320</link><guid>https://blog.csdn.net/winerpro/article/details/157643320</guid><author>winerpro</author><pubDate>Mon, 02 Feb 2026 08:17:16 +0800</pubDate><description><![CDATA[摘要：LangChain框架的核心概念&quot;链&quot;(Chain)通过模块化组件构建AI应用流水线，包含提示词模板、大语言模型和输出解析器三要素。LCEL语法用管道操作符简化开发，提供类型推断、并行处理、流式输出等7大优势，解决了传统开发中的逻辑耦合、复用困难等问题。这种标准化接口和组合式设计显著提升了AI应用开发效率和可维护性。]]></description><category></category></item><item><title><![CDATA[多Agent协作机制]]></title><link>https://blog.csdn.net/winerpro/article/details/157384796</link><guid>https://blog.csdn.net/winerpro/article/details/157384796</guid><author>winerpro</author><pubDate>Mon, 26 Jan 2026 08:37:55 +0800</pubDate><description><![CDATA[摘要： 多Agent系统（MAS）通过多个自主智能体的协同工作解决复杂任务，具备自主性、反应性和目标导向性。主流框架如AutoGen、CrewAI和LangGraph各有特点，分别适用于不同场景。通信机制采用MCP（连接资源/工具）和A2A（Agent间协作）协议，支持任务分发与多模态交互。系统需内置重试、熔断等异常处理策略保障稳定性，并通过提示词工程优化分工与工具调用效率。MAS的核心优势在于并行推理与动态任务分配能力。]]></description><category></category></item><item><title><![CDATA[security-oauth2自定义登录页面和校验规则]]></title><link>https://blog.csdn.net/winerpro/article/details/157178554</link><guid>https://blog.csdn.net/winerpro/article/details/157178554</guid><author>winerpro</author><pubDate>Tue, 20 Jan 2026 16:36:07 +0800</pubDate><description><![CDATA[本文介绍了Spring Security OAuth2授权服务器的关键配置实现。主要内容包括： 安全配置类(SecurityConfig)： 配置了OAuth2授权服务器默认安全设置 自定义了登录页面(/auth/login)和处理URL(/server-login) 添加了自定义认证过滤器和认证管理器 配置了资源服务器安全策略 授权服务器配置(AuthorizationServerConfig)： 实现了JWK(JSON Web Key)源生成 包含RSA密钥对生成方法 配置了客户端注册仓库(Regist]]></description><category></category></item><item><title><![CDATA[LlamaIndex的使用]]></title><link>https://blog.csdn.net/winerpro/article/details/156588860</link><guid>https://blog.csdn.net/winerpro/article/details/156588860</guid><author>winerpro</author><pubDate>Mon, 05 Jan 2026 08:28:59 +0800</pubDate><description><![CDATA[本文介绍了如何使用LlamaIndex构建中文文档索引并进行问答查询。首先安装llama-index库，然后准备中文文本数据并转换为Document对象。通过VectorStoreIndex创建向量索引，该索引会将文档切片并生成向量嵌入。最后演示了如何创建查询引擎，输入中文问题（如&quot;《红楼梦》的作者是谁？&quot;）并获取回答。文中提供了完整代码示例，包括设置OpenAI API密钥、构建索引和执行查询的全过程。]]></description><category></category></item><item><title><![CDATA[python输出彩色日志]]></title><link>https://blog.csdn.net/winerpro/article/details/156365215</link><guid>https://blog.csdn.net/winerpro/article/details/156365215</guid><author>winerpro</author><pubDate>Sun, 28 Dec 2025 19:42:39 +0800</pubDate><description><![CDATA[摘要：本文介绍如何使用Python的colorlog库为日志添加颜色，提升可读性和调试效率。通过YAML配置文件定义不同日志级别对应的颜色（如红色表示错误，黄色表示警告），并使用colorlog.ColoredFormatter实现彩色日志输出。文章详细说明了配置文件的编写方法，并提供了完整的代码示例，展示了如何加载配置并测试不同级别的彩色日志输出效果。这种方法特别适合开发阶段的本地调试，能帮助开发者快速识别关键日志信息。]]></description><category></category></item><item><title><![CDATA[LLMIndex的使用]]></title><link>https://blog.csdn.net/winerpro/article/details/156141896</link><guid>https://blog.csdn.net/winerpro/article/details/156141896</guid><author>winerpro</author><pubDate>Mon, 22 Dec 2025 08:48:37 +0800</pubDate><description><![CDATA[本文介绍如何使用LangChain框架构建本地RAG（检索增强生成）系统，实现基于私有知识的LLM问答。通过Python代码示例，详细展示了从加载文档、文本分块、向量化存储到配置本地Qwen模型和构建RAG链的完整流程。该系统利用FAISS向量数据库进行高效检索，结合本地部署的LLM保障数据隐私。相比LlamaIndex，LangChain更适合简单RAG场景，提供模块化的链式编程体验。文章还解释了环境配置和关键参数设置，为开发者构建私有知识问答系统提供了实用指导。]]></description><category></category></item><item><title><![CDATA[LangGraph与LangChain如何协同工作？]]></title><link>https://blog.csdn.net/winerpro/article/details/155929965</link><guid>https://blog.csdn.net/winerpro/article/details/155929965</guid><author>winerpro</author><pubDate>Mon, 15 Dec 2025 08:12:38 +0800</pubDate><description><![CDATA[LangGraph与LangChain是互补协同的关系，LangGraph在LangChain基础上扩展了复杂流程控制能力。LangChain提供基础组件（LLM封装、工具调用等），而LangGraph负责编排执行流程（循环、条件分支等）。两者结合可实现：1）用LangChain构建节点功能；2）用LangGraph设计复杂控制流；3）集成记忆机制实现多轮对话；4）快速开发高级智能体系统。典型应用包括客服流程控制、数据分析循环和多智能体协作等场景，LangChain解决&quot;做什么&quot;，Lan]]></description><category></category></item><item><title><![CDATA[简单实现一个LangChain Agent]]></title><link>https://blog.csdn.net/winerpro/article/details/155677754</link><guid>https://blog.csdn.net/winerpro/article/details/155677754</guid><author>winerpro</author><pubDate>Sun, 07 Dec 2025 20:56:50 +0800</pubDate><description><![CDATA[LangChain Agent是一种结合大语言模型与外部工具的执行系统，赋予AI自主决策和行动能力。本文演示了如何利用LangChain框架构建一个简单的加法计算Agent。通过本地部署的Qwen2.5-7B模型，配置了只支持加法的工具函数，并采用ReAct机制实现&quot;推理-行动-观察&quot;的决策循环。当用户提问&quot;123加456等于多少&quot;时，Agent会先判断需要调用计算工具，执行加法运算后返回最终结果579。这种架构突破了传统语言模型只能回答的局限，使AI具备了实际解决问]]></description><category></category></item><item><title><![CDATA[spring AI都能做什么]]></title><link>https://blog.csdn.net/winerpro/article/details/155427621</link><guid>https://blog.csdn.net/winerpro/article/details/155427621</guid><author>winerpro</author><pubDate>Sun, 30 Nov 2025 21:46:23 +0800</pubDate><description><![CDATA[Spring AI 是 Spring 官方推出的 Java AI 集成框架，简化了在 Spring Boot 应用中接入 AI 能力的过程。它支持集成主流大语言模型（如 OpenAI、Gemini 等），提供 ChatClient 和 ChatModel API 进行对话交互，支持 Prompt 模板和变量替换。框架还包含 RAG 功能，可将文本向量化存储到各类向量数据库，并支持对话记忆管理，通过 @Tool 注解实现函数调用能力。开发者可以像使用普通 Spring 组件一样，通过依赖注入等方式快速构建 A]]></description><category></category></item><item><title><![CDATA[Java一定是平台无关吗?]]></title><link>https://blog.csdn.net/winerpro/article/details/155185316</link><guid>https://blog.csdn.net/winerpro/article/details/155185316</guid><author>winerpro</author><pubDate>Mon, 24 Nov 2025 08:32:33 +0800</pubDate><description><![CDATA[摘要：Java以&quot;一次编写，到处运行&quot;的跨平台特性著称，通过JVM实现平台无关性。但随着云原生技术的发展，Java开始采用AOT编译和GraalVM NativeImage等静态编译方案，使程序变得平台相关。这种转变源于云原生环境下平台差异的弱化，容器化部署的普及，以及追求更快的启动速度、更高的资源利用率和简化部署流程的需求。这并非放弃跨平台优势，而是针对特定场景在性能和平台无关性之间做出的权衡。]]></description><category></category></item><item><title><![CDATA[什么是AI Agent？]]></title><link>https://blog.csdn.net/winerpro/article/details/154936790</link><guid>https://blog.csdn.net/winerpro/article/details/154936790</guid><author>winerpro</author><pubDate>Mon, 17 Nov 2025 08:40:07 +0800</pubDate><description><![CDATA[文章摘要： Agent（智能体）是具备工具调用能力的AI系统，如小爱同学能自动完成点餐流程。其核心能力包括：1）感知环境输入（用户指令和记忆）；2）决策规划（选择合适工具）；3）执行行动（调用API等）。实现Agent需结合大模型（LLM）、记忆模块（短期/长期记忆）和工具调用能力（Tools+Planning），形成“感知-决策-行动”闭环，从而解决传统大模型无法操作工具的问题。典型应用如语音助手自动完成复杂任务。]]></description><category></category></item><item><title><![CDATA[纯CPU运行的Kokoro-82M本地部署]]></title><link>https://blog.csdn.net/winerpro/article/details/154635296</link><guid>https://blog.csdn.net/winerpro/article/details/154635296</guid><author>winerpro</author><pubDate>Mon, 10 Nov 2025 08:39:31 +0800</pubDate><description><![CDATA[Kokoro TTS是由hexgrad团队开发的轻量级开源文本转语音模型，特别适合CPU环境部署。本文介绍了其安装配置过程：首先安装CPU版PyTorch，然后手动安装espeak-ng并配置环境变量，再安装其他依赖项。模型可通过huggingface-cli下载，测试代码展示了如何在CPU上加载模型、配置语音参数并合成语音。测试结果显示系统能高效生成语音文件并计算实时因子，最终输出保存为WAV格式。这套方案为开发者在资源受限环境下实现高质量TTS提供了实用解决方案。]]></description><category></category></item><item><title><![CDATA[读写分离遇到主从延迟怎么办？]]></title><link>https://blog.csdn.net/winerpro/article/details/154334818</link><guid>https://blog.csdn.net/winerpro/article/details/154334818</guid><author>winerpro</author><pubDate>Mon, 03 Nov 2025 08:50:11 +0800</pubDate><description><![CDATA[摘要：MySQL主从复制实现读写分离时，主从延迟会导致写后读不一致问题。解决方案包括：1）将读请求分为可延迟和不可延迟两类，后者强制读主库；2）事务上下文中的核心操作直接读主库；3）二次读取方案（先读从库，失败再读主库）；4）主备一致性方案如Sleep延迟、监控复制延迟、等主库位点或GTID方案。其中强制读主库和请求分类是较常用方案，后两种特殊方案可确保强一致性但实现复杂。]]></description><category></category></item><item><title><![CDATA[如何用Redis实现乐观锁？]]></title><link>https://blog.csdn.net/winerpro/article/details/153647838</link><guid>https://blog.csdn.net/winerpro/article/details/153647838</guid><author>winerpro</author><pubDate>Mon, 20 Oct 2025 20:44:43 +0800</pubDate><description><![CDATA[Redis通过WATCH命令实现乐观锁机制，其核心是基于CAS(Compare And Swap)原理。具体操作流程为：1)使用WATCH监视键；2)获取当前值；3)MULTI开启事务；4)执行修改操作；5)EXEC提交事务。若监视键在事务期间未被修改，则执行成功，否则事务回滚。示例代码展示了使用Jedis客户端实现原子增量操作的过程，通过事务执行结果判断是否成功。这种机制保证了数据一致性，适用于并发修改场景。]]></description><category></category></item><item><title><![CDATA[充血模型和贫血模型]]></title><link>https://blog.csdn.net/winerpro/article/details/152320117</link><guid>https://blog.csdn.net/winerpro/article/details/152320117</guid><author>winerpro</author><pubDate>Tue, 30 Sep 2025 14:19:08 +0800</pubDate><description><![CDATA[本文对比了Java开发中的贫血模型和充血模型。贫血模型将数据和业务逻辑分离，对象仅有属性和getter/setter方法，业务逻辑集中在Service层，违反了面向对象原则。充血模型则将数据和行为封装在领域对象内部，符合面向对象设计理念。文中通过用户管理示例展示了两种实现方式：贫血模型将激活、扣款等逻辑放在UserService中，而充血模型让User类自行处理这些业务逻辑。充血模型更有利于业务逻辑的封装和复用，是领域驱动设计推荐的做法。]]></description><category></category></item><item><title><![CDATA[Timer实现定时调度的原理是什么？]]></title><link>https://blog.csdn.net/winerpro/article/details/149885292</link><guid>https://blog.csdn.net/winerpro/article/details/149885292</guid><author>winerpro</author><pubDate>Sun, 03 Aug 2025 20:22:13 +0800</pubDate><description><![CDATA[摘要：Java的Timer类通过内部维护的TaskQueue和TimerThread实现定时任务调度。TaskQueue按执行时间排序存储定时任务，TimerThread则不断检查队列中最早的任务是否到达执行时间。当任务到期时，TimerThread会执行任务的run()方法，并根据是否为周期性任务决定是否重新入队。新任务通过sched方法加入队列并唤醒线程重新检查。这种机制确保了定时任务的有序执行，但要注意Timer是单线程的，长时间任务可能影响调度准确性。]]></description><category></category></item><item><title><![CDATA[多级缓存如何应用]]></title><link>https://blog.csdn.net/winerpro/article/details/149158420</link><guid>https://blog.csdn.net/winerpro/article/details/149158420</guid><author>winerpro</author><pubDate>Sun, 06 Jul 2025 21:11:46 +0800</pubDate><description><![CDATA[摘要 多级缓存在电商秒杀场景中发挥重要作用，包含五个层级：1）客户端缓存（如倒计时数据），2）CDN缓存（静态资源），3）Nginx缓存（静态资源及前置校验），4）本地缓存（低频变化数据），5）分布式缓存（如Redis处理库存扣减）。这种分层设计有效降低服务器压力，提升系统性能，其中每层缓存根据数据特性选择合适策略，确保系统高效稳定运行。]]></description><category></category></item><item><title><![CDATA[深入理解Spring的ResponseBodyAdvice接口]]></title><link>https://blog.csdn.net/winerpro/article/details/148829461</link><guid>https://blog.csdn.net/winerpro/article/details/148829461</guid><author>winerpro</author><pubDate>Sun, 22 Jun 2025 16:58:31 +0800</pubDate><description><![CDATA[摘要：ResponseBodyAdvice是Spring4.2引入的接口，用于在控制器返回响应前统一处理响应数据。它提供两个核心方法：supports判断是否生效，beforeBodyWrite进行实际处理。典型应用包括统一响应封装、数据脱敏和国际化处理。使用时需注意执行顺序、异常处理和性能影响。该接口只对带有@ResponseBody或@RestController的方法生效，是Spring MVC响应处理的重要扩展点，能有效减少重复代码，提高开发效率。]]></description><category></category></item><item><title><![CDATA[openai-java]]></title><link>https://blog.csdn.net/winerpro/article/details/148386600</link><guid>https://blog.csdn.net/winerpro/article/details/148386600</guid><author>winerpro</author><pubDate>Mon, 02 Jun 2025 21:08:02 +0800</pubDate><description><![CDATA[OpenAI-Java是一个Java开源库，用于简化与OpenAI模型的交互。文章介绍了如何通过Maven引入依赖，创建OpenAIClient实例（建议全局复用），以及使用本地部署的Qwen3-8b模型实现简单对话。示例代码展示了如何配置请求参数（包括提示词和模型设置），并解析返回的JSON响应。测试结果显示了模型生成的一段自我介绍文本，包含模型能力和服务目标说明。该库让Java开发者可以方便地集成AI对话功能到应用中。]]></description><category></category></item><item><title><![CDATA[qwen3 + qwen agent]]></title><link>https://blog.csdn.net/winerpro/article/details/148053874</link><guid>https://blog.csdn.net/winerpro/article/details/148053874</guid><author>winerpro</author><pubDate>Mon, 19 May 2025 08:34:49 +0800</pubDate><description><![CDATA[阿里最近发布了Qwen3开源模型，据称其性能超越了DeepSeek。Qwen3的8B版本性能相当于Qwen2.5的14B版本。Qwen-Agent是阿里基于Qwen大语言模型构建的智能体应用开发框架，支持指令遵循、工具调用、记忆能力和多代理协作等功能。本文介绍了如何在LM Studio上部署Qwen3模型，并通过Qwen-Agent框架实现一个简单的数学计算助手。代码示例展示了如何定义计算器工具、配置本地模型、创建Agent并测试其计算功能。文章还提到Qwen3默认开启推理模式，并展示了开启和关闭推理模式下]]></description><category></category></item></channel></rss>