自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从零开始:用Python和Gemini 3四步搭建你自己的AI Agent

搭 Agent 一开始看着挺唬人,但理解了结构之后,会发现简单得有点无聊。往简单了说,它就是个循环。一个里面跑着聪明模型的循环。明白这点之后,你就能造出看起来"有生命"的 Agent 了。

2026-04-07 12:53:17 66

原创 从 Pandas 转向 Polars:新手常见的10 个问题与优化建议

从 Pandas 转过来的人,很容易带着旧习惯写 Polars 代码,结果性能优势全没了。上面这些点总结下来就是:惰性优先、表达式为主、最后才 collect、别用 Python 循环、列要有明确类型、多用 LazyFrame、善用投影下推和谓词下推、大数据开流式处理。养成这些习惯,Polars 的性能才能真正释放出来。

2026-04-07 12:52:17 90

原创 Anthropic 开源 Bloom:基于 LLM 的自动化行为评估框架

先决定要测什么行为,这里随便举个例子。

2026-04-07 04:51:47 167

原创 dLLM:复用自回归模型权重快速训练扩散语言模型

扩散语言模型之前一直停留在研究阶段,dLLM把它变成了能实际用起来的工程工具。现有的LLM可以直接复用,微调需要的算力也不夸张,模型之间的对比有了统一标准,想做实验也不用把整套东西重新搞一遍。

2026-04-07 04:50:53 173

原创 别只会One-Hot了!20种分类编码技巧让你的特征工程更专业

分类编码是特征工程里最容易被忽视却又最能出效果的环节。scikit-learn自带的编码器只是冰山一角,这个库才是真正的百宝箱:统计编码、贝叶斯编码、哈希编码、对比编码应有尽有,用好了模型效果能上一个台阶。

2026-04-06 23:57:00 214

原创 Anthropic 开源 Bloom:基于 LLM 的自动化行为评估框架

先决定要测什么行为,这里随便举个例子。

2026-04-06 23:54:30 110

原创 长上下文“记忆“的舒适陷阱:为什么更多记忆不等于更可靠

人们喜欢长上下文,智能体记得你的项目、你的偏好、你说话的方式,连你那些反复冒出来的琐碎任务都帮你记着,所以用起来当然顺手。但顺手归顺手,顺手不等于靠谱,把这两件事搞混后面的麻烦就来了。可靠性问题的起点恰恰是人们把长上下文当免费能力用的那一刻。你扩展了上下文就等于换了一个被测系统,测的不再是模型本身,而是模型加上一个持续膨胀的历史 Token 档案。这个档案天生就很杂乱:半成型的想法、开玩笑时随口说的话、情绪化的措辞、前后矛盾的约束、从未打算变成策略的临时指令,统统堆在一起。

2026-04-06 14:08:17 220

原创 数据库Grace Hash Join

优点:极高的吞吐量:在处理缺乏索引的大批量数据等值连接时,性能通常碾压 Nested Loop Join(嵌套循环连接)。扫描次数少:只需要对两张表各进行一次全表扫描(在内存充足的情况下)。缺点:仅限等值连接:只能用于基于的连接操作(例如对于大于、小于()等非等值连接完全无能为力。内存消耗大:需要占用大量内存来构建哈希表。如果内存不足导致频繁读写临时磁盘文件(发生 Spill to disk),性能会大幅下降。启动延迟高。

2026-04-05 14:13:08 346

原创 Chrome DevTools MCP 让 AI 无缝接管浏览器调试会话

自动连接功能是 Chrome DevTools MCP 连接 Chrome 实例的现有方式的补充。

2026-04-05 14:12:22 330

原创 从前缀函数到KMP应用 字符串匹配 字符串周期

由于 �π 数组记录了最长 Border ,而次长的 Border 可能通过 �[�[�−1]−1]π[π[n−1]−1] 递归求得,因此我们可以不断回跳,求出所有的 Border 后,周期就是 n - Border。在 KMP 中的前缀函数的到数组 �π ,其中 �[�]π[i] 表示字符串的前缀 �[0…�−�[�−1]n−π[n−1] 可以被总长度 �n 整除时,存在完全循环。通过递推可以在 �(�)O(n) 时间内求出前缀数组 �π。在 �[�−1]>0π[n−1]>0 基础上,当它的。

2026-04-04 14:29:06 191

原创 用FastAPI的Depends实现细粒度权限控制

你需要“房间钥匙”和“工作证”。如果 “user:123” 不在允许列表里,直接 403。——比如“只能改自己创建的任务”或“状态为‘草稿’的文章才能编辑”。只要用户伪造或篡改了token里的user_id,甚至只是猜到别人的ID,数据就裸奔了。只保证了“用户有删除自己任务的权限”,但没保证“这个任务真的是他的”。——比如“管理员”能删除,“普通用户”只能看。这里咱们写一个“可配置”的权限依赖。更优雅的做法是:把“数据归属校验”也封装进依赖里。,因为这是最容易被忽略的“隐形漏洞”。,路由函数根本不会执行。

2026-04-04 14:28:03 164

原创 OpenEuler 20.03构建zabbix7.0 rpm包

即使是centos系统,7版本也过于陈旧了,从zabbix 6.0开始,centos 7已经不提供server的rpm包了,只剩下proxy和agent,到了7.0版本,连proxy都没有了。%{rhel}和%{?zabbix agent2和web_service是使用GO语言编写的,并且使用的语法对版本还有要求,OpenEuler 20.03默认repo源的版本为1.15,需要安装一个较新版本的。在OpenEuler的官方社区的软件中心,有社区成员自行构建的rpm包,可以尝试找找有无符合自己要求的版本。

2026-04-03 14:56:22 427

原创 FastAPI 实战:WebSocket 从入门到上线,使用避坑指南

它就像你直接在餐厅包了个雅间,服务员就站在你桌旁,随时听你吩咐:“加点水”、“拿头蒜”、“结账” —— 服务员一直在线,随时响应,省去了反复呼叫的过程。FastAPI 对 WebSocket 的支持非常 Pythonic,用起来很顺手,但正因为顺手,容易忽略背后那些“服务员也得休息”、“包间太多会拥挤”的现实问题。传统的 HTTP 请求,就像你去餐厅点菜:你喊一声“服务员,来份宫保鸡丁”,然后服务员跑去后厨,把菜端给你,一次交易结束。解决了,但广播又成了新问题,后来引入了 Redis pub/sub。

2026-04-03 14:55:31 300

原创 Godot UI布局指南

可以在统一在主题中设置新的Panel类型进行类样式设置,也可直接在面板中的“主题覆盖” 使用新的“StyleBoxTexture” 来设置“AtlasTexture”, 设置“AtlasTexture” 在 “Sub-Region”编辑子区域即可。Container 组件结合组件设置,控制设置的方位(上,下,左,右,居中),设置是收缩还是撑满容器。特定节点的样式,而不想影响全局,可以在该节点的“检查器 (Inspector)”面板中找到。常见用途:设置面板,弹窗底板,HUD 背景,卡片。

2026-04-02 15:30:41 369

原创 AI时代的项目管理:1+3Ownership模式和项目管理

1+3 Ownership框架提供了一个系统性的协作模式,将"不可能的超级个体"拆分为"三个可培养的专业角色",让普通团队也能实现AI原生开发。

2026-04-02 15:29:40 344

原创 DBShadow横空出世,Dapper.net的天花板盖不住了

【代码】DBShadow横空出世,Dapper.net的天花板盖不住了。

2026-04-01 15:27:50 332

原创 如何使用SpringAI来实现一个RAG应用系统

大模型没有本地私有知识,所以用户在向大模型提问的时候,大模型只能在它学习过的知识范围内进行回答,而RAG就是在用户在提问的时候 将本地与问题相关的私有知识连同问题一块发送给大模型,进而大模型从用户提供的私有知识范围内进行更精确的回答。将文本切分成多个文本块,作者使用markdown来存储文本内容,markdown格式的文本相对来说是比较容易且分的,将文本切分之后 请求向量化接口进行文本向量化,最后将向量的结果写入到原本的数据块中 存储到向量数据库将用户的问题进行向量化,然后调用向量数据库的检索分块的时

2026-04-01 15:27:12 153

原创 如何一步步将 ASP.NET MVC 升级为.NET

Microsoft 的 MVC 到核心示例攻略从设置开始,然后是控制器和视图,最后是静态内容和客户端依赖。遵循这个顺序,因为这样可以让迁移在每一步都可测试。迁移路由在 MVC 5 中,你很可能用过 RouteConfig,可能还用了属性路由。在 ASP.NET Core 中,你配置中间件流水线和端点映射中的路由。迁移控制器一次迁移一个控制器。复制一个控制器类。通过更换命名空间和替换依赖 System.Web 的代码来修复编译错误。

2026-03-31 15:54:49 507

原创 Kafka 成功消费消息的完整流程图

成功消费 = 读取消息 + 处理消息 + 提交偏移量。

2026-03-31 15:54:09 380

原创 一小时手搓轻量级可代替 Qdrant 的向量数据库

为了能兼容 Qdrant,我们的数据结构必须和它长得一样:一个点(Point)包含 ID、向量(Vector)以及元数据(Payload)。// Payload 模拟 Qdrant 的 JSON 元数据Payload Payload `json:"payload,omitempty"` // 用于条件过滤。

2026-03-30 15:38:30 371

原创 LeetCode 236 二叉树的最近公共祖先:python3 题解

想象一棵家谱树。对于两个人。

2026-03-30 15:37:57 335

原创 SmartDapper.UI -数据库反向生成实体

生成器会自动从数据库注释生成 XML 文档注释,确保数据库表和列有完善的注释。SmartDapper.UI 提供了以下 REST API 端点(基于。:日志提示"未找到 .csproj 文件"或"安装失败":不要勾选"覆盖已存在文件",避免丢失手动添加的业务逻辑。:生产环境不要启用 SmartDapper.UI。SmartDapper.UI 生成的实体类与。:浏览器显示"Unauthorized":生成实体后,及时提交到版本控制系统。:点击"加载表"后提示连接失败。:为不同模块的实体创建独立目录。

2026-03-29 21:02:41 337

原创 你以为在给 AI 下命令,其实你在改写它的概率分布

模型并不知道自己在执行什么任务。Prompt 的作用是让模型判断:写作语境问答语境分类语境推理语境这不是通过“理解任务”实现的,而是通过:👉上下文模式识别。

2026-03-29 21:01:56 400

原创 简单的干掉PPL的方法

么很显然干掉PPL这件事得在Driver层干思路很简单,就是用户空间程序向驱动程序发送进程 ID ,驱动程序找到该进程的内部内核结构(EPROCESS),然后在EPROCESS中查找字段,最后驱动程序将保护级别设置为。可以通过windbg来看其内部是怎么定义的,逆向出来就是然后拿固定的偏移量这个0x5fa是咋来的呢,当然也是windbg的需要注意的是,微软官方并未给出具体EPROCESS的定义,此偏移量取决于 Windows 版本,因此很难不保证在某次更新后其偏移量就改变了,然后清零就可以了。

2026-03-28 15:55:06 197

原创 如何用SSH访问远程服务器上的内网服务(如:MySQL、Redis、Kafka)?

例如:ssh -NT -L 3306:127.0.0.1:3306 -o ProxyCommand="ssh jump_user@jump_host -W %h:%p" target_user@target_host。例如:ssh -NT -L 3306:127.0.0.1:3306 -J jump_user@jump_host target_user@target_host。语法:ssh -J jump_user@jump_host target_user@target_host。

2026-03-28 15:53:43 159

原创 运行第一个pass

项目描述:通过解析下面代码的IR,将下面代码中的函数名打印出来。配置可以直接拿去用,我已经标注好需要修改的位置。最后出现下面提示,即为编译成功。构建LLVM Pass需要写。

2026-03-27 15:22:31 35

原创 C# 设置 Word 文档背景颜色/背景图

Free Spire.Doc 提供了。属性指定图片路径即可。设置背景图片则只需将。

2026-03-27 15:21:14 17

原创 java String为什么不可变

对于一般设计,好的模块划分应该做到模块的输出边界是寄存器的输出端,从而使每个模块除时钟端口外的所有输入端口的延时是相同的,等于寄存器的时钟引脚CLK到输出引脚Q的延时。建议关键范围的值不要超过关键路径总值的10%。当有一个路径不满足,而相邻的路径满足要求时,DC会进行路径间的逻辑迁移,以同时满足两条路径的要求,也称为adaptive retiming。关键范围:DC默认只对一个路径组内的关键路径进行时序优化,可以设置关键范围,使DC在关键路径的延时下面某个延时值之内的路径进行优化。

2026-03-26 15:31:59 152

原创 Java关键字解析之final:不可变的本质、设计哲学与并发安全

这绝对是反人类的设计。当带有 Filter 时,我们让 HNSW 引擎超额召回 (Over-fetch)(比如取 Top 100),然后在内存中进行精准的 Payload 匹配,剔除不符合条件的结果,最后再截取 Top 10 返回。我写了一个 Benchmark 脚本,在纯内存下生成了 10,000 条 128维 的向量,并生成 1,000 条查询,对比普通的暴力轮询(Flat)和我们引入的 HNSW 图索引。要在一小时内干完这件事,我们不能去造那些艰深的底层算法轮子,而是要做一位优雅的“架构整合大师”。

2026-03-26 15:21:51 306

原创 一文彻底搞懂 OpenClaw 的架构设计与运行原理(万字图文)

OpenClaw 提供了一种强大的个人 AI 基础设施的思路。简洁:单进程的网关模型强大:多 Agent 路由、工具沙箱、可扩展插件围绕网关控制的中心化架构设计,实现了跨聊天平台的统一访问。不管你从 WhatsApp、Discord 还是 飞书、钉钉 发消息,体验是一致的。强安全边界保护系统不受恶意输入影响,同时不牺牲功能性。Agent 体系(带工具执行和持久会话)提供了真正智能的助手体验,而不仅仅是给大语言模型(LLM)套了个聊天壳子。

2026-03-25 15:55:00 380

原创 Kite:两种方式实现动态表名

Kite 是一个功能强大、易于使用的 ORM 框架,它通过全自动映射和简洁的 API,大大简化了数据库操作的开发工作。无论是在 Kotlin 项目还是 Java 项目中,都能提供高效、便捷的数据库访问体验。

2026-03-25 15:54:20 25

原创 CUDA是如何调度Thread Block的?

这说明,Thread block在分配SM的时候,首先参考kernel中使用的shared memory的大小,整个SM的shared memory能装下几个kernel的shared memory就使用几个Thread block,这其实是make sense的,因为kernel占用的shared memory属于硬件要求,不满足自然无法运行。从上图能看出来,三个SM已经全部被占用了,平均下来每个SM有1.33个warp,说明多出来的那个warp,已经被分配进某个SM里面。用nvvp查看如下图所示,

2026-03-24 14:18:38 224

原创 [python] python-docx-template实用案例解析

{{ 变量名|过滤器名(参数1, 参数2, ...) }}(竖线)是过滤器的分隔符,左侧是要处理的变量,右侧是过滤器名称;括号()内是传给过滤器函数的参数(无参数时可省略括号);中,是变量,my_filterB是过滤器名,2是传递的参数。模板内容:# 创建jinja2环境对象,用于管理模板渲染的配置# 自定义过滤器函数# 将原始值和参数字符串拼接,中间加空格# 将原始值和参数数值相加# 将自定义过滤器注册到jinja2环境中,使其能在模板中被调用。

2026-03-24 14:17:56 384

原创 Spring IOC 源码学习 一文学习完整的加载流程

当前 context 的属性初始化:存储 BeanFactoryPostProcessor(BFPP) 的集合id 容器ID, displayName 容器名称, closed, active 容器关闭启动 活动的 AtomicBoolean标识符;容器锁对象, 在容器'刷新'和'销毁'时需要锁住(同步)的JVM 的 HOOK如果有父容器,则设置父容器,还会合并配置;创建支持ant风格解析的资源解析器,支持通配符的类似。

2026-03-23 21:36:59 340

原创 循环神经网络 (七)双向 RNN 与深层 RNN

概念原理比喻双向 RNN(Bidirectional RNN)在时间维度上引入正向和反向两条独立状态链路,每个时间步同时利用过去和未来上下文信息。适用于序列标注与整体理解任务。可以与 RNN/LSTM/GRU 结合,形成 Bi-RNN、Bi-LSTM、Bi-GRU。序列比作桥,两队工人从两端同时施工并交流进度,确保精准,但施工队伍翻倍,成本增加。深层 RNN(Deep RNN)在同一时间步上堆叠多层 RNN 单元,增加每个时间步内部的非线性表达能力,从而增强模型的表示能力。

2026-03-23 21:36:16 525 1

空空如也

空空如也

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

TA关注的人

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