- 博客(248)
- 资源 (2)
- 收藏
- 关注
原创 重构系统:程序员的必备技能指南
本文探讨了代码重构的重要性和实施方法。重构通过优化代码结构提升可维护性,常见时机包括出现长函数、复杂条件判断等情况。建议采用小步渐进式重构,配合测试驱动开发。文章提供了重构流程表(分析→提取→测试等)和常见陷阱解决方案。尽管重构能降低70%维护成本、提升50%开发效率,但企业常因短期产出压力而忽视。建议通过代码评审、技术氛围培养重构思维,并引入AI辅助质量检测。重构是技术债务的长期解决方案,需要平衡业务需求与代码健康。
2025-10-22 21:51:45
865
原创 日活百万?高并发ToC系统落地基石
众所周知,高用户量的ToC系统往往更关心:**高并发、高可用、低延迟、海量用户、用户体验、快速迭代**等。>当然,不包括哪些僵尸用户日活不到1w冒充高并发的ToC。>也不包括某xxOKR虚假宣传的数据量=并发量。让我们来一起看看高并发、低延迟思想下的经典代码范例。本篇涵盖并行调用、高性能计数、批处理、缓存等核心模式。
2025-10-01 19:00:00
1689
原创 Java性能测试利器:JMH性能基准测试
摘要: 本文介绍了JMH(Java Microbenchmark Harness)工具在Java微基准测试中的应用。JMH通过处理JVM优化(如JIT编译、死码消除等)确保测试准确性。文章详细解析了JMH的核心注解(如@Benchmark、@State、@Setup等)和参数配置,并提供了避免测试陷阱的实用技巧(如使用Blackhole防止死码消除)。此外,还强调了测试代码的合理范围,避免过度优化干扰结果。推荐通过官方示例和资源深入学习JMH的高级用法。
2025-09-22 20:00:00
2013
原创 AI对话接口入参解析
文章摘要 本文解析了AI对话接口的入参和响应设计,以通义千问(QW)和DeepSeek(DS)为例。核心参数包括session_id和parent_msg_id,用于标识对话链路和消息顺序。两者在参数获取流程和设计理念上存在差异:QW采用冗余设计确保数据独立性,而DS追求极简传输效率。响应方面,QW采用全量快照式结构,DS则为增量补丁式。文章还对比了Header设计的认证机制和流式传输实现,最后提出一个融合两者优点的简化设计建议,更适合一般项目开发。
2025-09-18 16:49:09
1216
原创 算法,蒜鸟蒜鸟-P5-理解“堆、图”
【摘要】本文介绍了堆和图两种重要数据结构及其应用。堆的核心功能是高效获取极值(O(1)时间),通过小顶堆解决LeetCode 215题(第K大元素)展示了其优势。图的邻接表表示和遍历方法(DFS/BFS)被详细说明,并以LeetCode 200题(岛屿数量)为例,阐述了如何通过DFS标记连通分量来统计岛屿数量,重点强调了visited集合对避免环路无限递归的关键作用。文章通过具体代码示例,直观呈现了数据结构的实现与应用逻辑。
2025-09-18 16:46:45
1079
原创 算法,蒜鸟蒜鸟-P3-理解“递归、回溯与分治”
摘要 本文深入探讨回溯算法(Backtracking)的核心思想与实现模式,通过经典例题展示其应用场景和优化技巧。主要内容包括: 回溯本质:基于DFS的试错搜索,通过“选择->递归->撤销选择”三步走结构实现,避免无效路径(剪枝)。 全排列问题(LeetCode 46):维护可选列表(used[]数组)、路径(path列表)和结束条件(路径长度等于输入数组长度),完整代码示例演示回溯框架。 组合问题(LeetCode 77):通过强制从小到大选择和动态调整循环范围(startIndex)避免重复
2025-09-16 09:00:00
1015
原创 算法,蒜鸟蒜鸟-P4-理解“动态规划-DP”
本文介绍了动态规划(DP)的基本概念及其在解决重叠子问题中的应用,并以LeetCode 70题“爬楼梯”为例详细解析了DP的五步解题法:定义dp数组含义、推导递推公式、初始化、确定遍历顺序和获取最终答案。通过优化空间复杂度,展示了如何用滚动数组将空间复杂度降至O(1)。文章还推荐了其他DP练习题供巩固学习。
2025-09-16 09:00:00
819
原创 算法,蒜鸟蒜鸟-P2-理解“树的遍历(BFS & DFS)”
本文介绍了树结构的两种基本遍历策略:深度优先搜索(DFS)和广度优先搜索(BFS)。DFS采用递归或栈实现,包括前序、中序和后序遍历三种经典方式;BFS则通过队列实现,适用于层序遍历和最短路径查找。文章通过LeetCode题目示例展示了两种算法的代码实现,并对比了它们的应用场景:DFS适合深度探索,BFS适合广度扩展。
2025-09-15 16:56:58
812
原创 算法,蒜鸟蒜鸟-P1-理解“双指针”
本文介绍了双指针算法的两种模式:左右指针和滑动窗口。左右指针适用于有序数组搜索问题,可将时间复杂度优化至O(n);快慢指针则用于解决链表环路等问题。通过示例展示了正确实现双指针算法的逻辑结构,强调状态处理与转移分离的重要性。滑动窗口模式用于解决连续子数组/子串问题,详细说明了其扩展和收缩窗口的步骤,并提供了无重复字符最长子串的代码实现。文章还推荐了相关LeetCode题目和题解资源,帮助读者深入理解双指针算法的应用。
2025-09-15 16:56:09
768
原创 Dubbo轻松入门-RPC框架的绝对主流
Dubbo 为业务应用提供了微服务开发API、RPC 协议、服务治理三大核心能力,让开发者真正的专注业务逻辑开发。本篇可以快速入门Dubbo。
2025-08-26 22:39:43
685
原创 vLLM轻松通
vLLM主要是解决大模型推理服务化问题,专于与推理、优化GPU使用、提供吞吐量,提供简单易用的API接口,支持Hugging Face模型无缝接入。本篇,让我们一起了解vLLM。
2025-08-26 22:33:11
1267
原创 MCP轻松入门
摘要: MCP(Model-Context-Protocol)是一种标准化协议,旨在解决AI应用与外部工具/数据交互时的NxM集成复杂性问题。其核心架构包括MCP Host(AI应用)、MCP Client(协议请求方)和MCP Server(协议执行方),通过中间层实现解耦与统一管理。MCP提供安全网关、降低厂商锁定风险,并支持灵活扩展。实际应用中需关注Server设计、安全授权、服务发现及性能监控。典型场景如IT支持机器人,可通过多个MCP Server分别调用本地系统与Jira API,由MCP Cl
2025-08-20 19:00:00
891
原创 提示词Token控制
本文介绍了优化大型语言模型(LLM)Prompt token的实用策略。主要内容包括:精简Prompt内容(清晰指令、限制示例、结构化输出);管理上下文窗口(截断、输入输出平衡、内容总结);高级技术(RAG检索增强、思维骨架提示、批处理);API参数微调(最大长度、停止序列等)。还提出落地应用建议:自适应RAG系统、任务分解让LLM专注自然语言处理部分,结合传统API提高效率。这些方法可在保证输出质量的同时有效控制token使用,优化模型性能和成本效益。
2025-08-19 22:23:32
991
原创 “你不干有的是AI干”,提示词中的“情感化提示”
这篇文章探讨了大型语言模型(LLM)中"情感化提示"的作用原理和应用场景。作者指出,这些看似"无厘头"的提示词之所以有效,是因为LLM通过统计学习建立了"高期望→高质量输出"的模式关联。文章将这类提示分为四类:赋予专业性身份、提高任务重要性、鼓励深度思考和施加竞争压力,并通过测试案例展示了不同提示的效果差异。最后强调,情感化提示需要与清晰的基础提示结合使用,在复杂推理、专业文本生成等场景中效果尤为显著。
2025-08-19 22:22:33
1251
原创 一文了解金融合规
金融合规与安全开发摘要 本文系统介绍了金融科技领域的安全合规要求。金融合规是法律强制的核心要求,保障系统稳定性和数据安全,涉及KYC、AML、风控等关键概念。 文中提供了金融合规术语速查表,从Java工程师视角解释了KYC认证、反洗钱监测、数据脱敏等技术的实现要点,强调加密存储、审计日志、权限校验等开发规范。 金融系统开发需具备合规思维:数据安全是首要任务,所有操作必须可追溯,业务逻辑需严格精准。开发人员需将合规要求融入技术实现,如KYC认证流程、实时交易监控等,确保系统符合金融监管标准。
2025-08-16 16:11:07
1259
原创 难以忘记,快速入门DDD
DDD(领域驱动设计)是一种解决软件复杂性的思维框架,其核心价值在于通过领域建模管理业务固有的复杂性。传统开发存在以下问题: 业务与技术语言鸿沟:通用语言可确保代码与业务术语一致,避免需求偏差。 贫血模型导致逻辑分散:业务规则分散在Service层,充血模型通过封装行为到领域对象保证一致性。 系统边界模糊:限界上下文和聚合划分明确边界,避免领域间耦合。 DDD通过领域模型、限界上下文等模式,将复杂业务逻辑转化为可维护的代码结构。
2025-08-14 23:49:44
1108
2
原创 AI Agent 为什么需要记忆?
AI Agent 为什么需要记忆?核心瓶颈在于大语言模型(LLM)的 **“固定上下文窗口” (Fixed Context Window)** 是有限的,无法在一次处理中容纳长期的、跨会-话的全部信息。且应用需要控制成本、响应速度。为了让 Agent 能够执行复杂、长期的任务,就必须构建一个超越这个有限窗口的记忆系统。基于此,我们可以构建一个清晰的认知框架,从 **“存哪里”(存储架构)** 和 **“怎么用”(管理策略)** 两个基本维度来解构 Agent 的记忆系统。
2025-08-14 23:46:28
1044
原创 LoRA微调实战:万字深度解析
本文介绍了参数高效微调(PEFT)技术及其在自然语言处理中的应用。文章首先探讨了如何选择适合的预训练模型,以文本风格润色任务为例,推荐了Qwen2.5系列模型。随后详细阐述了微调方案的选择标准,包括QLoRA、Flash Attention-2等技术组合。文章重点展示了PEFT实战过程,特别是数据准备阶段的数据增强技术,通过教师模型自动生成高质量的指令数据集,包括总结扩写、提问回答和风格迁移三种模板。
2025-08-12 20:30:43
1655
原创 微调入门:为什么微调
本文探讨了大语言模型微调的技术选择与应用场景。文章首先分析了需要微调的四种典型情况:领域差异大、低资源语言、数据敏感性和硬件限制。随后详细对比了全量微调(Full Fine-tuning)和参数高效微调(PEFT)两类方法,重点介绍了LoRA、QLoRA等技术的原理与适用场景。通过对比表格,总结了不同微调方法在显存需求、训练速度、性能上限等方面的差异,并提供了技术选型建议。最后比较了RAG与微调在垂直领域的应用差异,指出RAG侧重知识增强而微调侧重技能传授。全文为开发者提供了清晰的微调技术路线图,特别强调了
2025-08-12 20:26:32
644
原创 从零构建TransformerP2-新闻分类Demo
本文介绍了一个从零构建Transformer模型的完整流程,主要用于新闻分类任务。代码使用PyTorch实现,包含关键组件:词嵌入层(TokenEmbedding)、位置编码(PositionalEncoding)和多头注意力机制(MultiHeadAttention)。文章强调LLM应用工程师需要对Transformer有基本理解,并提供了详细的模块设计说明和代码实现。模型采用标准的Transformer架构,包括缩放点积注意力、多头机制等技术,适用于序列数据处理任务。代码由QWen3-Coder生成,可
2025-08-08 21:58:32
494
原创 从零构建TransformerP1-了解设计
本文介绍了如何基于PyTorch实现一个完整的Transformer模型。文章首先回顾了序列任务的特点和Transformer的核心优势,特别是其自注意力机制能有效建模长距离依赖和元素间关系。作者详细讲解了输入序列的处理方式(分词、词向量嵌入、位置编码)以及批量训练技巧(padding和mask)。通过对比RNN/LSTM和CNN在长距离依赖处理上的不足,凸显了Transformer的架构优势。最后,文章以文本分类任务为例,展示了Transformer如何通过自注意力机制解决语义歧义问题,建立词之间的关联
2025-08-08 21:56:38
1312
原创 PyTorch Quickstart
本文介绍了PyTorch快速入门指南,重点讲解了数据处理和模型优化两个核心环节。在数据处理部分,详细说明了Dataset和DataLoader的作用:Dataset负责样本管理和索引访问,DataLoader实现批量加载和并行处理。同时介绍了PyTorch提供的三大领域工具箱(TorchText、TorchVision、TorchAudio)及其内置功能。在模型优化部分,对比了手动更新参数和使用优化器的区别,演示了训练循环的实现流程,包括前向传播、损失计算、反向传播和参数更新步骤,并提供了测试模型性能的标准
2025-08-08 00:43:36
1085
原创 PyTorch 核心三件套:Tensor、Module、Autograd
本文介绍了PyTorch的核心组件Tensor和Module。Tensor作为多维数组,是深度学习的基础数据结构,用于表示输入数据、标签、模型参数及中间计算结果。Module是构建神经网络的基类,通过定义forward()方法实现数据流动逻辑。文章详细讲解了Tensor的五大应用场景(数据表示、标签、参数存储、中间计算、梯度计算)和常用API,并演示了Tensor的创建、运算和自动求导功能。同时介绍了使用nn.Sequential快速构建模型和自定义Module子类的方法,帮助读者从工程角度理解PyTorc
2025-08-07 21:49:38
502
原创 神经网络入门指南:从零理解 PyTorch 的核心思想
本指南适合以下读者:- 正在学习 PyTorch,已掌握基础三件套:`Tensor`、`nn.Module`、`Autograd`- 希望补全对“神经网络”整体认知的学习者- 想要建立直觉理解而非仅记忆公式的新手
2025-08-07 21:45:14
765
原创 PyTorch入门引导
为什么要学习PyTorch?微调、部署、研究都需要。- 现代AI研究的通用语言基础就是PyTorch。- 几乎所有的微调工具和库,包括Hugging Face的transformers, peft, trl,其底层都是基于PyTorch构建的。- 当你需要排查部署中的性能瓶颈、显存溢出(OOM)等问题时,理解模型在PyTorch中是如何加载和计算的,将是解决问题的关键。尝试让读者通过本篇快速认识PyTorch,开始学习PyTorch。
2025-08-06 23:37:51
1038
原创 RAG优化-二进制向量,为RAG带来32倍内存效率提升
本文探讨了在大规模RAG系统中使用二进制量化技术提升效率的方法。面对海量文档处理时标准向量检索的内存消耗问题,二进制量化通过将浮点向量转换为1位二进制码,实现32倍内存压缩和毫秒级响应。尽管牺牲了部分精度,但高维向量的整体语义模式仍保持有效,配合高效的汉明距离计算,能显著提升检索速度。文章详细介绍了技术原理、优势权衡及实践应用方案,证明该技术是处理千万级以上数据的高性价比选择,体现了"以精度换效率"的工程智慧。
2025-08-06 08:30:00
1806
原创 从Agent到CrewAI,一口气读懂
本文介绍了从Agent到CrewAI框架的演进过程。首先解释LLM应用与传统应用的区别,指出LLM应用的输入、过程和输出更具不确定性。接着阐述LLM Agent的概念,即具备感知、推理、行动能力的自动化LLM系统,并分析构建优秀Agent的六大特征。文章重点讨论Multi-Agent系统,提出任务设计应遵循8/2法则(80%精力用于任务设计,20%用于代理定义),强调动态任务驱动的重要性。最后介绍CrewAI框架的三个核心类(Agent、Task、Crew)及其协作流程,包括顺序执行和分层执行两种模式,展示
2025-08-05 22:11:07
1614
原创 RAG深入了解P1:从RAG类型出发看优化点
本文系统梳理了RAG(检索增强生成)技术的最新发展与应用。首先介绍了RAG的多种类型:基础RAG(标准检索-生成模式)、迭代RAG(引入反馈循环)、查询优化RAG(优化检索查询)、混合RAG(融合多种检索策略)以及RAG-Agent系统(结合智能代理)。接着探讨了RAG的优化方向,重点在于提升检索相关性和生成质量。文章指出,RAG技术正朝着更智能、自适应和具备多模态能力的方向发展,能够应对日益复杂的知识处理需求。通过分析不同类型RAG的特点和适用场景,为构建高效RAG系统提供了参考框架。
2025-07-17 22:00:00
991
原创 FastAPI快速入门
摘要:本文介绍了FastAPI快速入门指南,对比了Uvicorn与Tomcat NIO、Netty的网络模型差异。重点讲解了Pydantic数据验证和FastAPI的依赖注入系统,展示了如何通过BaseModel定义数据结构,以及使用Depends实现类似Spring AOP的认证功能。文章还比较了pip与Poetry/PDM的依赖管理方式,为Java开发者提供了Python Web开发的快速上手参考。
2025-07-17 08:15:00
744
原创 FastAPI-P1:Pydantic模型与参数额外信息
FastAPI中的Pydantic模型与参数校验 本文介绍了FastAPI中Pydantic模型的使用方法及其优势。Pydantic通过BaseModel实现数据验证和类型转换,可定义结构化数据模型并自动校验字段类型和格式。文章展示了如何通过Field为模型字段添加验证规则和元数据。 同时还讲解了两种参数校验方式: 使用Query为查询参数声明验证规则、默认值和描述信息 使用Annotated结合Query/Path/Body进行类型提示和元数据标注 这些功能使FastAPI能够自动处理数据验证、生成API
2025-07-14 23:41:46
793
原创 Pythonic:Python 语言习惯和哲学的代码风格
摘要: 本文介绍了Pythonic规范的核心原则与常见实践,强调遵循PEP 8指南编写符合Python语言哲学的代码。内容涵盖命名规范(snake_case变量、PascalCase类)、代码结构优化(列表推导式、上下文管理器)、迭代技巧(enumerate/zip)以及布尔简化等典型场景,通过对比非Pythonic写法突出其简洁性和可读性优势。文章指出遵循这些规范能提升代码效率、可维护性及团队协作效率,并推荐查阅官方PEP 8文档获取完整标准。全文以实用示例展示如何将Python特性转化为优雅的编码实践。
2025-07-14 23:37:00
1058
原创 咨询导览,AI发展趋势
本篇作下列两篇文章的搬运整理。https://www.turing.com/resources/top-llm-trendshttps://prajnaaiwisdom.medium.com/llm-trends-2025-a-deep-dive-into-the-future-of-large-language-models-bff23aa7cdbc总的来说,符合之前网上的四字总结:“专、小、廉、强”。
2025-07-12 23:18:52
938
原创 Python基础:并行与并发概念
总的来说,Python多线程实质上是并发,其受限于GIL的存在。但Python可以通过asyncio或Multiprocessing绕过GIL。也可以通过 C/C++(如 Cython)或 Rust 编写扩展模块。这些模块在执行时不受 GIL 限制,可以充分利用多核并行计算。许多高性能的 AI 库(如 NumPy、TensorFlow、PyTorch)底层就是用 C/C++ 优化的。
2025-07-12 08:15:00
974
原创 Transformer:从入门到放弃
没什么好说的,Transformer:从入门到放弃。推荐看资料。本文深入解析了Transformer模型的核心架构与自注意力机制。Transformer采用编码-解码结构,编码器由自注意力层和前馈神经网络组成,解码器额外引入编码器-解码器注意力层。自注意力机制通过查询(Query)、键(Key)、值(Value)向量计算词元间关联度,动态调整表示,有效解决长距离依赖问题。其并行化处理能力显著优于传统RNN模型。文章还详细阐述了自注意力的矩阵化实现流程,并推荐了相关学习资源。
2025-07-11 08:45:00
313
原创 大模型基础:词元与LLM局限性及应对方案
摘要 本文系统探讨了语言模型(LM)的核心概念、技术缺陷及解决方案。首先阐述了词元(token)作为文本基本单元的定义,分析了不同词元化方法(如BPE、WordPiece)的特点与应用场景。其次揭示了语言模型的6大类缺陷:事实性错误(如幻觉)、上下文处理局限(如注意力衰减)、逻辑推理不足、社会偏见、可控性差及高昂成本。最后指出提示工程、RAG、Agent等技术正是为应对这些缺陷而产生。文章通过技术解析与案例说明,为理解语言模型的运作机制及局限性提供了全面视角。
2025-07-11 08:15:00
684
原创 深入探索 Embedding 模型:从理论到实践
本文旨在深入探讨 Embedding 模型的核心概念、不同类型的模型优势劣势与适用场景,并着重阐述在生产环境中如何进行科学的模型选择与验证。
2025-07-10 08:30:00
964
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅