<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[帅东's Blog]]></title><description><![CDATA[When I look back, I will not regret for wasted years, not because of mediocrity and shame]]></description><link>https://blog.youkuaiyun.com/PROGRAM_anywhere</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; PROGRAM_anywhere]]></copyright><item><title><![CDATA[Agent无反馈规划【实践】]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/152233917</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/152233917</guid><author>PROGRAM_anywhere</author><pubDate>Mon, 29 Sep 2025 00:34:08 +0800</pubDate><description><![CDATA[本文介绍了大语言模型中的规划模块技术，包括思维链(COT)和思维树(TOT)两种主要方法。COT通过提示工程让模型逐步思考，包含Zero-shot（&quot;Let's think step by step&quot;触发）、One-shot和Few-shot等技术。TOT则通过树状结构实现多路径推理，包含思维分解、生成、评估和搜索四个步骤，适用于更复杂的问题。文章通过具体案例展示了两种技术的应用效果，并提供了TOT的Python实现代码框架。这些技术能有效提升大模型解决复杂问题的能力，其中COT适合简单]]></description><category></category></item><item><title><![CDATA[Mysql为什么有时候会选错索引]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/147163644</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/147163644</guid><author>PROGRAM_anywhere</author><pubDate>Sun, 13 Apr 2025 16:17:16 +0800</pubDate><description><![CDATA[本文讨论了Mysql（InnoDB）在索引统计信息不准确或更新不及时的情况下，优化器基于统计信息进行粗估的执行计划，可能会选错索引。更新索引统计信息修改SQL语句强制走固定索引新增索引（比如上面新增一个索引a,b）删除索引（假设优化器选择了索引b，确保该索引没有其他作用的前提下，那么删掉索引b，可能就会走索引a了）]]></description><category></category></item><item><title><![CDATA[WGAN的概念和应用]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/146279232</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/146279232</guid><author>PROGRAM_anywhere</author><pubDate>Sat, 15 Mar 2025 17:19:01 +0800</pubDate><description><![CDATA[Wasserstein GAN简称WGAN，17年1月份提出，目的是为了解决GAN训练不稳定的问题。训练 WGAN 不需要在判别器和生成器的训练中保持仔细的平衡，也不需要仔细设计网络架构。]]></description><category></category></item><item><title><![CDATA[分类模型为什么使用交叉熵作为损失函数]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/145095064</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/145095064</guid><author>PROGRAM_anywhere</author><pubDate>Sun, 12 Jan 2025 23:18:48 +0800</pubDate><description><![CDATA[分类模型使用交叉熵的推导过程]]></description><category></category></item><item><title><![CDATA[Qwen大模型Lora微调-Windows]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/143992946</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/143992946</guid><author>PROGRAM_anywhere</author><pubDate>Sat, 23 Nov 2024 16:12:46 +0800</pubDate><description><![CDATA[Qwen大模型微调]]></description><category></category></item><item><title><![CDATA[【ASR技术】WhisperX安装&使用]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/143835749</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/143835749</guid><author>PROGRAM_anywhere</author><pubDate>Sun, 17 Nov 2024 18:31:04 +0800</pubDate><description><![CDATA[WhisperX 是一个开源的自动语音识别（ASR）项目，由 m-bain 开发。该项目基于 OpenAI 的 Whisper 模型，通过引入批量推理、强制音素对齐和语音活动检测等技术。提供快速自动语音识别（large-v2 为 70 倍实时），WhisperX 的核心技术包括：批量推理：利用后端，实现了高效的批量推理，大幅提升了转录速度。强制音素对齐：通过对齐模型，提供了精确的单词级时间戳。说话人识别：集成了进行说话人分割，实现了多说话人 ASR。语音活动检测（VAD）：预处理阶段使用。]]></description><category></category></item><item><title><![CDATA[Backpropagation反向传播算法【总结】]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/138513888</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/138513888</guid><author>PROGRAM_anywhere</author><pubDate>Tue, 07 May 2024 01:09:23 +0800</pubDate><description><![CDATA[一般的Gradient Descent是从上往下计算偏微分，但在一个函数里面不仅要展开当前层所有的Neuron，而且每个Neuron还要继续展开下一层所有的Neuron，直到最后一层。这样效率是不高的，主要是递归计算带来的开销。那么优化方案就是递归改递推，就好像算法中【递归】改成【动态规划】，效率会提高很多倍，不仅每次计算的结果不会丢，而且没有栈溢出的问题。]]></description><category></category></item><item><title><![CDATA[JAVA也有自己的大模型生态]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/137722205</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/137722205</guid><author>PROGRAM_anywhere</author><pubDate>Sat, 13 Apr 2024 18:52:05 +0800</pubDate><description><![CDATA[Spring AI 是 AI 工程的应用框架。其目标是将 Spring 生态系统设计原则（如可移植性和模块化设计）应用于 AI，并推广使用 POJO 作为 AI 领域应用程序的构建块。Spring AI 吸取了知名 Python 项目的精髓，比如：LangChain 和 LlamaIndex。Spring AI 是基于这样一个理念创立的：未来的 AI 大模型应用将不仅限于 Python 开发者，而且会普及到多种编程语言中。]]></description><category></category></item><item><title><![CDATA[本地搭建【文档助手】大模型版（LangChain+llama+Streamlit）]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/135184511</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/135184511</guid><author>PROGRAM_anywhere</author><pubDate>Sun, 24 Dec 2023 18:34:13 +0800</pubDate><description><![CDATA[搭建一个简单的大模型版文档助手]]></description><category></category></item><item><title><![CDATA[ES如何提高准确率之【term-centric】]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/135034840</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/135034840</guid><author>PROGRAM_anywhere</author><pubDate>Sat, 16 Dec 2023 18:30:01 +0800</pubDate><description><![CDATA[本文探讨了多字段搜索的时候，每个字段的词频和逆向文档频率不同带来的搜索准确率问题。问题的根本原因在于：搜索的时候大多数都是针对字段进行搜索，但本文中的情况是希望对词进行搜索。解决思路也是很简单，就是把多个字段的词频和逆向文档频率整合到一起，当然可以在建立索引的时候整合，也可以搜索的时候进行整合查询。]]></description><category></category></item><item><title><![CDATA[ES如何提高召回率之【词干提取】]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/134768260</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/134768260</guid><author>PROGRAM_anywhere</author><pubDate>Sun, 03 Dec 2023 19:17:12 +0800</pubDate><description><![CDATA[想要提高召回率就需要尽可能匹配相关的文档，其中一个办法就是在索引阶段对词语分析（分词器）的时候提取词干，搜索的时候也取词干。]]></description><category></category></item><item><title><![CDATA[让代码变美的第四天 - 工厂方法模式]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/134655691</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/134655691</guid><author>PROGRAM_anywhere</author><pubDate>Mon, 27 Nov 2023 23:26:16 +0800</pubDate><description><![CDATA[日常重构代码]]></description><category></category></item><item><title><![CDATA[让代码变美的第三天 - 简单工厂模式]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/134634118</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/134634118</guid><author>PROGRAM_anywhere</author><pubDate>Sun, 26 Nov 2023 22:38:00 +0800</pubDate><description><![CDATA[日常重构代码]]></description><category></category></item><item><title><![CDATA[让代码变美的第二天 - 策略模式]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/134451865</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/134451865</guid><author>PROGRAM_anywhere</author><pubDate>Thu, 16 Nov 2023 22:36:12 +0800</pubDate><description><![CDATA[思考：这个功能，这个方法改动到底是不是很频繁，新增的判断逻辑（if else）将来会不会很频繁。如果当前功能不光有不同策略处理流程，还有共同的处理流程，那么可以把不同策略处理流程抽取出来，使用策略模式进行优化，共同的部分不在本文讨论范围内。判断当前功能是不是都是由一个策略值，来决定后面整体流程，并且每个流程都不太相同，这样容易想到可以使用策略模式来进行优化。给所有策略对应的处理流抽象成一个方法，取个名字，比如买水果。定义每个策略对应处理流程，比如买苹果、买香蕉。给策略进行定义，比如水果场景。]]></description><category></category></item><item><title><![CDATA[让代码变美的第一天 - 观察者模式]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/134322606</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/134322606</guid><author>PROGRAM_anywhere</author><pubDate>Thu, 09 Nov 2023 23:26:08 +0800</pubDate><description><![CDATA[日常重构代码]]></description><category></category></item><item><title><![CDATA[如何避免安全部扫描出来的高危端口]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/131737004</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/131737004</guid><author>PROGRAM_anywhere</author><pubDate>Sat, 15 Jul 2023 12:05:22 +0800</pubDate><description><![CDATA[处理一些没有鉴权服务，直接对外提供访问链接的情况（尽管只在公司内网里面）]]></description><category></category></item><item><title><![CDATA[JSON反序列化泛型对象；泛型是变化的，如何写出通用代码？（源码分析）]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/124937029</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/124937029</guid><author>PROGRAM_anywhere</author><pubDate>Mon, 23 May 2022 23:37:17 +0800</pubDate><description><![CDATA[本文以fastjson为例，gson等其他序列化工具都类似。
json如何反序列化出带泛型的结果，这个网上应该很多教程，但本文想要实现更高难度的反序列化。比如：泛型参数在变化，怎么写出通用代码？看例2
先看使用
一共三个类，A/B/C，定义放文章最后了
例1：
如果想要序列化带泛型的对象
B&lt;C&gt; bc = JSON.parseObject(bStr, new TypeReference&lt;B&lt;C&gt;&gt;() {
        });

一行代码就搞定，但原理是什么呢？为什么]]></description><category></category></item><item><title><![CDATA[Mac的iTerm2安装lrzsz卡死问题]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/122500011</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/122500011</guid><author>PROGRAM_anywhere</author><pubDate>Fri, 14 Jan 2022 18:31:38 +0800</pubDate><description><![CDATA[参考 https://www.jianshu.com/p/86c422d73e7b 进行安装
安装之后rz一直卡死
问题是因为mac brew安装rz的目录不一样
原来的配置
iterm2-recv-zmodem.sh
#!/bin/bash
# Author: Matt Mastracci (matthew@mastracci.com)
# AppleScript from http://stackoverflow.com/questions/4309087/cancel-button-on-osascr]]></description><category></category></item><item><title><![CDATA[SpringBoot自定义缓存]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/121880009</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/121880009</guid><author>PROGRAM_anywhere</author><pubDate>Sat, 11 Dec 2021 21:46:59 +0800</pubDate><description><![CDATA[上一篇文章说了默认的缓存实际上是：ConcurrentMap，有很多功能都没有，比如：定期删除、容量上线、容量不够的策略（LRU、LFU）等等。https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/121878708
自定义缓存步骤

定义一个属于自己的Cache，需要实现org.springframework.cache.Cache

public class MyCache implements Cache {
    private MyLink]]></description><category></category></item><item><title><![CDATA[SpringBoot缓存原理]]></title><link>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/121878708</link><guid>https://blog.youkuaiyun.com/PROGRAM_anywhere/article/details/121878708</guid><author>PROGRAM_anywhere</author><pubDate>Sat, 11 Dec 2021 21:37:49 +0800</pubDate><description><![CDATA[三个注解

@Cacheable可以标记在一个方法上，也可以标记在一个类上。当标记在一个方法上时表示该方法是支持缓存的，当标记在一个类上时则表示该类所有的方法都是支持缓存的。对于一个支持缓存的方法，Spring会在其被调用后将其返回值缓存起来，以保证下次利用同样的参数来执行该方法时可以直接从缓存中获取结果，而不需要再次执行该方法。Spring在缓存方法的返回值时是以键值对进行缓存的，值就是方法的返回结果，至于键的话，Spring又支持两种策略，默认策略和自定义策略。需要注意的是当一个支持缓存的方法在对象内部]]></description><category></category></item></channel></rss>