自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(155)
  • 收藏
  • 关注

原创 Bag of Tricks for Image Classification with Convolutional Neural Networks(图像分类神经网络训练技巧)

该篇文章其实就是各个网络中训练技巧的一个集合。由于之前在图像分类中取得的大部分的进展其实都是由训练过程的改进得到的,比如数据增强和优化方法的改进得到的。但是在提出方法的文章中,我们只能在实验细节或者开源代码中见到,所以该篇文章就将这些训练技巧进行了汇总,并进行实验进行验证评估。实验证明,将这些改进结合起来能够将ResNet-50的准确率由75.3%提升到79.29%,实验还验证了,图像分类精度的提高也能应用在其他领域,带来更好的迁移学习的性能。

2022-11-18 17:29:39 1727 2

原创 BN层详解(含有公式推导过程)

如果以上的你懂看明白的话,BN你就理解的差不多了。BN层就是用在激活函数前,用来使上一层的输出,分布在均值为0,方差为1的情况下,也就是对下一层的输入做归一化的操作,这样就能够使它经过激活函数时能够有一定的梯度,从而避免值太大而进入饱和区,梯度就非常小了,不利于梯度下降。并且除了均值和方差,BN层还有自己的学习参数γ和β,网络通过学习来得到想要的数据分布,参数γ和β在训练中通过反向传播中的γ与β求得梯度,从而不断改变每个通道的γ和β参数。

2022-09-19 15:46:54 23520 7

原创 RepVGG论文详解(结合代码)

主要创新点为结构重参数化。在训练时,网络的结构是多分支进行的,而在推理时则将分支的参数进行重参数化,合为一个分支来进行的,所以推理的速度要比多分支网络快很多,并且精度也比单分支的网络更高。

2022-09-16 21:27:22 9346 7

原创 理解ConvNeXt网络(结合代码)

ConvNeXt网络本身没有什么亮点,全是应用的现有的方法来进行网络的调整,特别是大量细节的设计都是参考了swin transformer的网络结构的。并且ConvNeXt是以ResNet50网络为backbone来进行调整的,所以ConvNeXt的网络结构非常简单,一目了然,理解起来也是非常容易的。并且不仅精度比swin Transformer高,推理速度还快。综合来说,ConvNeXt是一个非常好的文章。这里放上我看到的一个网友对ConvNeXt网络的评价。“感觉这篇论文的思路是照着swin-

2022-09-13 11:14:08 25127 8

原创 目标检测算法中,COCO评价指标的解析

AR(averagerecall)即平均召回率,是IoU在[0.5,1.0]上所有recall的平均,对于不同的iou取。与图像分类的评价指标有所不同,图像分类是在所有的图像中分类正确和错误的概率。AP为IOU从0.5开始,每次增加0.05直到0.95,一共有十个IOU值,求出每一个IOU的AP,然后求平均得到。OB(IOU=0.5)表示当目标框与GTbox的IOU大于0.5时就为Ture,小于0.5就为False。FPIoU...

2022-07-20 19:58:05 3625 1

原创 关于目标检测中正负样本的理解

一开始学习时我没有太关注正负样本的问题,我以为正样本就是标注好的GT box,然而学到后面发现有很多的区别正负样本的方法,我才知道自己理解错了。正例是用来使预测结果更靠近真实值的,负例是用来使预测结果更远离除了真实值之外的值的。看了好几篇博文之后我大概有了一些基础的理解,在分类问题中,对于狗这一类来说,所有标签为狗的图片都是狗类的正样本,其他的图片都是负样本,正负样本也就是所有图片都进入损失函数进行梯度下降。而在目标检测中的位置回归的问题中就不适用了,因为不能将所有的预测框都进入损失函数进行计算,这样的话就

2022-07-07 14:32:58 5476

原创 Pi Agent Gateway 使用指南:给 Pi 配上可视化、可扩展的 Agent 工作台

Pi Agent Gateway 是基于 Pi Coding Agent 的可视化、可扩展本地 AI 编程工作台,通过 Web 控制台实现对话管理、执行过程可视化与权限控制。支持 Plan/Build 分阶段任务流程,集中配置模型、技能与插件,适配开发者、学习者及定制化应用需求。项目采用前后端分离架构,源码开放(MIT),便于二次开发。适合用于代码理解、方案设计、文档整理与角色定制,提供从本地使用到构建专属 Agent 应用的完整起点。

2026-10-25 01:20:39 331

原创 Agent学习

本文系统介绍了OpenCode中Agent的三类角色:主代理(Primary Agent)、子代理(Subagent)与长期协作型Grok Bot。主代理负责核心任务,可自定义提示词、工具与权限;子代理作为独立上下文执行专项任务,支持串行、并行与嵌套协作,通过权限隔离保障安全;Grok Bot则具备长期身份与记忆,支持异步消息与群组协作,实现类似“同事”的持续工作模式。文中详细解析了配置方式、权限管理及文件结构,强调通过合理分工与权限控制提升Agent系统的效率与安全性。

2026-10-23 01:05:29 152

原创 从零学习pi sdk

本文介绍从零学习 pi SDK 的入门流程:通过初始化项目并引入 @earendil-works/pi-coding-agent,创建 AgentSession 实例后,使用 session.prompt() 发起对话。会话记录完整消息流(system/user/assistant),支持文件读写、命令执行等工具调用,并可配置模型、推理层级与工具权限。关键点包括系统提示规则、工具 schema 与计费元数据,强调需在结束时调用 session.dispose() 释放资源。

2026-10-07 01:50:18 248

原创 nano-pi源码解析

nano-pi 的 cli.ts 作为核心入口,整合 LLM、Agent、TUI 与工具链。通过加载会话、绑定内置工具(如读写文件、执行命令),并利用 AbortController 实现 Ctrl+C 中断。用户输入后,启动 TUI 循环,调用 runAgent 进行异步流式交互:逐字输出模型回复、预告工具调用、即时展示执行结果,并在轮次结束时处理截断或错误。每个事件(assistant_text、tool_call 等)触发 TUI 渲染,实现响应式、可中断的交互体验。

2026-10-03 18:40:51 239

原创 langgraph快速入门

本文系统介绍了LangGraph核心概念:通过TypedDict、Union等类型注解保障代码安全;以State、Node、Graph、Edge构建可执行工作流,支持条件边实现动态流程控制;结合ToolNode与Runnable组件调用工具和大模型,实现Agent循环推理;最终通过RAG增强生成能力,支持流式输出,形成完整AI应用开发框架。

2026-09-28 22:15:03 78

原创 Pi Agent vs LangGraph:从人机交互、企业 RAG 到持久化工作流的完整选型指南

<think>我们根据用户提供的内容生成摘要,必须≤150字。内容是关于Pi Agent和LangGraph的对比,以及Pi用于企业RAG的架构。摘要应概括主要结论。用中文。注意字数。</think>Pi Agent 与 LangGraph 非竞品:Pi 是可嵌入的模型驱动 Agent Harness,LangGraph 以显式状态和持久化执行为核心。Pi 通过注册工具可调用 RAG 服务实现企业知识库问答,其 RPC 模式解耦界面,但跨进程持久化能力弱于 LangGraph。

2026-09-08 01:06:04 195

原创 从 Docker 到 Doris:建立后端基础设施全景图

本文总结了快速理解Spring Boot/Cloud项目的学习路径,提出三个核心标准:理解组件作用、定位代码入口、具备沟通判断能力。作者将7个关键技术划分为三大类:Docker/Compose/K8s解决应用运行一致性问题,Kafka/RabbitMQ处理异步协作,MySQL/OceanBase/Doris管理数据存储与分析。重点阐述了各组件的本质差异和应用场景,如Kafka适合事件重放而RabbitMQ侧重任务路由,并通过订单链路示例展示技术组合。最后提出项目分析的"接缝"策略,建议通过配置文件、注解等关

2026-08-25 00:48:23 201

原创 从五个 TypeScript 文件看懂 Coding Agent:一次 nano-pi 学习复盘

文章摘要:本文通过分析开源项目 PI from Scratch 的核心实现,梳理了一个 Coding Agent 的最小闭环工作流程。作者将 Agent 拆解为五个关键模块:LLM 调用层(llm.ts)、核心循环(agent.ts)、工具集(tools.ts)、界面(tui.ts)和装配入口(cli.ts),并重点探讨了 Agent 如何通过维护状态闭环(Context)实现模型与环境的交互。文章澄清了 StreamEvent 与 AgentEvent 的区别、max_tokens 与 compactio

2026-08-16 22:31:11 218

原创 从“模型会调用工具”到“系统能可靠执行”:我对 Agent Harness 的理解

这篇文章探讨了AI Agent的核心构成与实际应用中的关键考量,主要观点包括: LLM本身不等于完整Agent,它只是决策核心,需要外部系统实现工具调用的安全执行流程(生成-校验-执行-反馈)。 Harness框架不仅是约束模型行为的"护栏",更是集成工具、控制循环、保障安全的系统核心,承担状态管理、权限控制等重要功能。 权限系统需要严格区分用户确认与权限边界,不能通过交互设计绕过安全限制。 通过虚构的客户反馈分析案例,提出"确定性工作流+局部Agent循环"的混合架构方案,在关键环节保持确定性的同时,允许

2026-08-05 00:51:57 340

原创 如何让Coding Agent变得好用

《高效编程行为准则》提出了一套减少LLM编码错误的实践方法,核心原则包括:1)编码前充分思考并明确假设;2)保持代码简洁,避免过度设计;3)精准修改,不随意改动无关代码;4)以可验证的目标驱动开发;5)采用Git分支管理,保持提交原子性;6)及时文档化关键决策。这些准则强调谨慎而非速度,通过减少不必要的修改和过度复杂的设计来提高代码质量,适用于需要高质量输出的编程场景。(149字)

2026-06-28 22:51:34 62

原创 单点登录原理解析

单点登录(SSO)是一种身份验证机制,允许用户通过一次登录访问多个关联系统。其流程包括:用户访问应用时被重定向至认证中心,验证成功后生成令牌(如JWT)并返回应用进行验证,验证通过后建立会话并设置Cookie。后续访问可直接携带令牌,无需重复登录。SSO与OAuth2不同,前者是认证(身份验证),后者是授权(资源访问权限)。OIDC结合两者,在OAuth2基础上实现身份验证。JWT作为令牌标准,可携带用户信息,同时支持认证和授权功能,服务端通过验证签名确保安全性,无需频繁查询数据库。

2026-06-23 01:02:28 226

原创 从零开始搭建微信小程序(服务器版)

本文对比了微信云函数与自建服务器的区别,详细介绍了将云函数迁移到自建服务器的完整流程。云函数免服务器、免备案,但受限于运行环境;自建服务器更灵活但需自行配置。文章重点讲解了Node.js+Express后端改造、服务器部署、PM2进程守护、数据库迁移、域名备案、HTTPS配置、Nginx反向代理等关键步骤,并提供了小程序前端代码修改方案。最后给出了测试上线建议和常见问题排查方法,为开发者提供了一套完整的云函数迁移解决方案。

2026-06-21 01:16:42 544

原创 从零开始搭建微信小程序(云开发版)

本文介绍了微信小程序云开发的准备工作和基本配置流程。主要内容包括:1.开发前的准备工作,如小程序申请、开发工具安装和基础编程语言要求;2.云开发环境的创建与初始化方法;3.小程序项目目录结构的详细说明,包括根目录、云函数和小程序前端的关键文件配置;4.云函数开发示例,展示了如何创建、部署和调用一个简单的加法云函数。文章为初学者提供了微信小程序云开发的入门指南,重点介绍了项目结构和云函数的基本操作。

2026-06-13 01:42:11 300

原创 什么是前缀缓存,缓存命中

摘要:DeepseekV4 API的缓存机制通过前缀缓存(KVCache)优化计算效率。当新请求与缓存中的前缀匹配时(缓存命中),直接复用已有计算结果;否则需重新计算(未命中)。该机制适用于多轮对话、批量推理等共享前缀的场景,但要求严格的前缀匹配。

2026-05-17 00:02:42 493

原创 wsl2快捷指令

本文介绍了WSL(Windows Subsystem for Linux)的基本操作指南,包括启动Ubuntu子系统、查看已安装发行版、更新WSL内核以及卸载子系统的方法。同时说明了Windows与WSL之间的文件互访方式:在WSL中通过/mnt/访问Windows磁盘,在Windows中通过\wsl$访问Linux文件。还提及了跨系统运行程序的特性,WSL2可直接执行Windows程序,而Windows也能运行Linux命令。这些功能极大提升了Windows与Linux系统间的互操作性。

2026-05-11 00:30:45 49

原创 rerank模型原理

Rerank是RAG系统中的关键技术,通过两阶段检索提升精度:先用向量模型粗筛候选文档,再用交叉编码器深度评估相关性。相比单纯依赖Embedding模型,Rerank能解决语义漂移问题,实现查询与文档的深度交互。其核心优势在于突破Bi-Encoder的局限性,通过Transformer的交叉注意力机制精确判断查询意图与文档匹配度。典型应用场景包括处理歧义查询(如"苹果的价格")和过滤低质量内容。最佳实践建议结合Embedding初筛和Rerank精排,既保证效率又提升准确性。

2026-05-06 23:32:29 446

原创 superpowers、gstack、gsd、mattpocock/skills原理解析与对比

本文介绍了三个AI编程辅助工具:Superpowers插件、gstack和gsd系统。Superpowers包含3个命令、1个代理和14个技能,支持从头脑风暴到代码审查的全流程开发;gstack是一套结构化工作流技能集,强调完整实现和用户主权;gsd系统专注于项目管理,采用计划-执行-验证的循环模式。这些工具都致力于通过标准化流程、知识沉淀和人机协作来提高开发效率和质量,其中Superpowers即将弃用命令转向技能化操作,gstack的特色是内置浏览器功能,而gsd则强调阶段化项目管理。

2026-04-27 23:41:49 1133

原创 claude code高级使用手册

本文介绍了ClaudeCode的多项实用功能:1)支持三种模式切换;2)提供bash终端功能,可执行命令和打开文件;3)包含多种快捷键操作,如换行、后台运行服务等;4)具有版本回滚和上下文管理功能;5)支持长期记忆存储和多级文件管理;6)可创建独立子代理(subagent)执行任务;7)提供插件安装功能快速扩展能力。特别强调了危险参数使用、服务管理、文件版本控制等注意事项,展示了ClaudeCode作为AI编程助手的强大功能体系。

2026-04-23 23:07:30 474

原创 learn claude code学习记录-S06

本文探讨了AI系统中上下文压缩的必要性和实现方法。随着任务复杂度增加,上下文会快速膨胀,导致注意力分散、成本上升和任务中断。作者提出三层压缩策略:1)大结果仅保留预览,2)旧结果替换为占位符,3)生成历史摘要。关键数据结构包括持久化输出标记、压缩状态记录和微压缩边界规则。有效的压缩应保留任务目标、关键动作、修改文件和下一步计划,确保工作连续性。手动触发压缩命令或工具本质上执行第三层摘要功能。

2026-04-13 23:25:40 121

原创 learn claude code学习记录-S05

摘要:Skill系统是一份可复用的任务说明书,指导Agent如何执行特定任务。系统分为两层:轻量目录(技能名称和描述)和按需正文(详细步骤)。调用过程包括:1)提出需求;2)调用skill工具并传入参数;3)获取技能详细描述;4)模型结合描述执行操作(如调用bash命令);5)返回结果并由模型生成最终回复。该系统通过渐进式披露实现高效的任务处理。

2026-04-13 23:16:01 120

原创 learn claude code学习记录-S04

摘要:文章探讨了智能体系统中父子代理架构的设计原理与实现方案。核心观点是子代理通过创建独立上下文来解决主对话被局部任务噪声污染的问题。文章详细介绍了子代理的五个关键实现步骤:(1)父代理通过task工具派生子任务;(2)子代理使用独立消息列表;(3)仅配备必要基础工具;(4)仅返回摘要结果;(5)定义子代理的数据结构。此外,文章提出了从简单到复杂的四个实现版本,并讨论了上下文复制的fork机制。最后以claudecode中的Agent工具为例展示了实际应用场景。

2026-04-13 22:49:06 519

原创 learn claude code学习记录-S03

摘要:文章探讨了AI模型在多步任务中容易遗忘进度的问题,提出通过建立显式的计划状态来解决。核心方案包括:1)创建轻量级计划系统,包含待办事项、状态标记和自然语言描述;2)设计数据结构跟踪任务状态和更新频率;3)集成任务管理工具;4)设置更新提醒机制;5)将计划状态纳入主循环维护。该方法将任务管理从模型内部转移到外部可观察状态,有效解决任务漂移问题,提升多步任务的执行连贯性。

2026-04-13 00:11:20 262

原创 learn claude code学习记录-S02

本文介绍了工具调用的安全实现方案。核心包括:1)路径安全处理,通过safe_path函数验证路径合法性,防止目录穿越攻击;2)工具分发机制,使用dispatch map将工具名映射到处理函数;3)消息规范化流程,确保API调用符合协议要求,包括处理工具调用结果配对、角色交替等约束条件。系统通过严格的路径检查、工具函数映射和消息预处理,在保证功能完整性的同时实现了安全性控制,特别是防范了路径逃逸和API协议违规风险。

2026-04-12 23:01:24 359

原创 learn claude code学习记录-S01

这篇文章介绍了基于Claude Code的Agent循环实现方法。关键点包括:1)工具调用结果需写入消息历史作为下一轮输入;2)实现了一个最小Agent循环框架,处理多工具调用(通过tool_use_id区分);3)工具结果以user角色返回。作者通过read/write工具验证流程,观察到模型能发起多个工具调用(Bash/Glob),但存在路径大小写、文件类型不匹配等问题。最终模型成功完成文件读写操作,系统还实现了权限管控功能。整个过程展示了从工具调用、错误处理到最终任务完成的完整Agent工作流程。

2026-04-12 22:21:08 566

原创 抓取claude code请求体

本文介绍了使用Charles抓包工具分析Claude AI接口请求的方法。首先下载并安装Charles抓包工具,然后修改Claude配置文件settings.json,将ANTHROPIC_BASE_URL改为http协议,并设置HTTP/HTTPS代理为127.0.0.1:8888。配置完成后,在终端启动Claude并发送"你好"请求,即可在Charles中捕获到API请求数据。最后建议使用在线JSON编辑器(如json4u.cn)查看和分析抓取到的请求内容。该方法适用于开发者调试和分

2026-04-12 00:51:55 375

原创 HTTPS原理讲解(图文)

HTTPS安全通信机制解析:从HTTP明文传输的缺陷出发,通过对称加密解决数据泄露问题(使用共享密钥DKUFHNAF897123F),但面临密钥分发安全难题。引入非对称加密(公钥加密/私钥解密)实现密钥安全传输,但仍存在中间人攻击风险。最终通过CA证书体系验证身份,构建完整安全链路。整个过程通过四次密钥交换建立安全通道,实现端到端加密通信,虽然会降低访问速度,但有效解决了数据篡改、窃听和身份伪造三大安全隐患,形成当前HTTPS协议的核心安全框架。

2026-04-11 22:15:21 98

原创 openclaw部署踩坑记录

等组合使用。

2026-03-09 23:27:28 381

原创 MOE原理解析

摘要:混合专家模型(MoE)通过稀疏化架构有效解决了大模型计算成本问题。其核心是将Transformer的FFN层拆分为多个专家组,利用门控网络选择top-k专家激活,显著降低推理参数量。MoE技术现已成为构建万亿参数模型的主流方案,但面临专家负载均衡的关键挑战,需通过噪声注入、辅助损失和专家容量限制等策略确保训练稳定性。该架构虽在卷积网络中已有类似思想,但在大模型时代展现出独特优势。

2026-03-03 22:54:46 472

原创 如何计算KV Cache占的显存大小

KVCache是Transformer解码器推理加速的关键技术,通过缓存已生成token的Key和Value避免重复计算。其核心原理是:1)解码器使用因果掩码(CausalMask)确保只关注已生成内容;2)每次生成新token时只需计算当前Q,而K和V可复用之前缓存的结果。显存消耗主要取决于序列长度和模型维度,计算公式为:batch_size×n_layers×2×d_model×sequence_length(2对应K和V)。典型7B模型处理2048长度序列时约需2GB显存。该技术显著提升大模型推理效率

2026-02-27 22:16:24 616

原创 dify的web页面如何传入user用户信息进行对话,而不是uuid

摘要:本文探讨了在Dify应用中修改用户ID的方法。该方法解决了默认UUID显示问题,实现了自定义用户ID的功能。

2026-02-04 23:35:00 774

原创 将dify接入钉钉机器人中

本文介绍了如何将Dify接入钉钉机器人实现智能问答功能。主要步骤包括:1)在钉钉开放平台创建应用并配置企业机器人;2)安装SDK并开发消息处理代码,实现流式响应;3)通过API将Dify工作流集成到机器人中,支持多轮对话;4)扩展功能实现图片问答,通过上传图像到Dify进行处理。文章提供了详细的代码示例,包括消息接收、卡片更新和流式响应处理逻辑,以及错误处理机制。最终实现了一个支持文字和图片交互的智能机器人系统。

2025-12-15 22:14:33 874

原创 Windows/Linux离线部署IndexTTS2

本文介绍了IndexTTS2的在线和离线安装方法。在线部署推荐使用uv工具安装,需注意Windows和Linux环境下的参数差异,建议配置HF镜像源加速下载。离线安装需提前下载所有模型并修改代码中的模型路径,推荐使用conda+pip配置环境。文中详细列出了模型下载命令和代码修改要点,包括替换from_pretrained()路径、修改hf_hub_download()为os.path.join()以及调整配置文件等。完成环境配置、模型下载和文件修改后,直接运行webui.py即可启动项目。

2025-12-05 22:18:48 1874

原创 langchain1.0从零部署教程

LangChain模型调用与Agent开发实践摘要 本文介绍了LangChain框架下大模型调用与Agent开发的实践方法。主要内容包括:1) 三种模型调用方式:本地Ollama、通义千问和智谱GLM的安装配置与接口调用示例;2) 模型调用进阶功能:记忆管理(消息列表)、流式响应、批处理(含并发控制)和结构化输出(Pydantic模式);3) Agent开发基础,展示了LangChain 1.0新特性create_agent API的极简调用流程。通过一个流式多轮问答机器人的完整实现案例,演示了系统提示词设

2025-11-17 22:01:56 1490

原创 关于dify中http节点下载文件时,文件名不为原始文件名问题解决

摘要:在使用HTTP节点下载文件时遇到文件名始终为UUID的问题。即使设置了Content-Disposition请求头仍无效。经查证需修改后端代码,特别是docker部署时需要修改api/core/workflow/nodes/http_request/node.py文件,约190行处。关键修改是获取content_disposition_filename并将其作为filename参数传递给tool_file_manager.create_file_by_raw方法,这样才能正确输出原始文件名而非UUID

2025-11-04 23:11:15 744 2

空空如也

空空如也

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

TA关注的人

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