- 博客(117)
- 收藏
- 关注
原创 LangGraph 子图与状态传递笔记
属于某一张 Graph 自己内部使用,而不需要暴露给其他 Graph 的状态。critique只需要 ReflectionGraph 内部使用。ReflectionGraph 的私有状态reflection可以作为和主图共享的信息。
2026-10-07 11:47:47
173
原创 LangGraph State、节点与动态路由学习笔记
普通节点通常通过 Graph 当前 State 获得输入。这一次workerSend发出的 state 可以和 Graph 的核心 State 不同。这也是它适合 map-reduce 和动态任务分发的原因。Send("worker",就自己一起传进去。
2026-10-05 10:44:36
332
原创 LangGraph State 学习笔记
Graph 有一个共享状态空间,节点从中读取数据,并通过 return 对它进行局部更新;全局 State 定义主要状态结构,私有 State 用于内部节点通信,Reducer 决定字段更新时是覆盖还是合并。
2026-10-03 18:13:20
260
原创 Python pytest 测试与日志输出笔记
不过 VS Code 的 Testing 功能有自己的 pytest 启动方式,全局修改。就能在 VS Code 的 pytest 测试输出中看到。可能影响测试发现,因此当前项目不采用这种方案。pytest 同样会处理日志,而且。日志不一定默认实时显示。的内容不一定直接显示。pytest 默认会。
2026-10-02 21:29:29
272
原创 VS Code Python 自动导包失效排查笔记
本次问题中,自动导入功能本身已经开启,但普通单词候选与 Pylance 候选重名。恢复后,普通单词候选可能再次与 Pylance 候选重名。:表示这些编辑器设置只对 Python 文件生效,不影响项目中的其他语言。:出现 AI 灰色行内建议时,仍允许显示正常的 Pylance 补全列表。普通单词补全只有第一个动作,因此两种候选虽然显示的文字相同,行为却不同。:让 Pylance 在补全未导入的模块、类或函数时提供自动导入操作。:关闭普通单词补全,防止它排在同名的 Pylance 候选前面。
2026-10-02 18:50:47
296
原创 Claude命令行启动失败网络问题: Claude Code might not be available in your country
浏览器能访问外网,但命令行(pip、npm、git、curl、claude cli 等)没有代理。如果运行失败,说明当前的终端并没有配置代理环境。我们使用代理客户端软件时一般只是让。
2026-07-31 15:17:26
215
原创 Ubuntu 安装 PostgreSQL 18 并配置远程连接笔记
SQL 命令必须在 PostgreSQL 环境执行。因为 Linux Shell 不认识 SQL。这两个用户名字相同,但不是一个东西。说明进入数据库命令行。说明仍然只能本机访问。使用数据库密码认证。
2026-07-27 18:56:04
227
原创 env 加载失败问题:Jupyter Notebook 工作目录异常导致
Notebook 文件路径不等于 Python 运行路径查看真实运行目录:import os.env加载失败首先检查工作目录API Key 错误dotenv 安装错误LangChain 配置错误PyCharm + Jupyter 中要注意 Server 配置项目目录 ≠ 工作目录Jupyter Server 配置Jupyter 配置文件是否连接了旧的 Server。
2026-07-21 18:17:46
245
原创 Jupyter 添加虚拟环境 Kernel 笔记
创建虚拟环境↓安装 ipykernel↓注册 Kernel↓生成 kernel.json 配置文件↓Jupyter扫描配置↓选择对应 Kernel 执行代码核心思想:虚拟环境负责提供 Python 解释器和依赖,Kernel 负责连接 Jupyter 和这个 Python 环境。Jupyter 通过扫描 Kernel 配置文件,找到并启动对应的 Python。langchain虚拟环境。
2026-07-21 12:02:08
364
原创 Redis 分片集群与哈希槽笔记
16384 个哈希槽0 ~ 16383槽不是实际的内存块,也不会提前占用固定大小的内存。槽本质上只是一个逻辑编号,用来对 key 进行分组和路由。槽 100:可能没有 key槽 200:可能有 1 个 key槽 300:可能有 10000 个 key因此,槽的数据量并不固定。
2026-07-12 02:50:18
185
原创 Redis repl_backlog 学习笔记
复制偏移量(Replication Offset)复制流中的第几个字节。它们记录当前已经同步到了哪里。是 Master 保存最近复制流的固定大小环形缓冲区。backlog 中的数据会不断覆盖最旧的数据。Master 和 Slave 都维护自己的复制 offset。数组内容会循环覆盖,但 offset 会一直递增。Slave 重连时,会上报自己的 offset。如果缺失的数据仍在 backlog 中,则执行PSYNC(增量同步)。如果缺失的数据已被覆盖,则执行FULLRESYNC(全量同步)。
2026-07-10 19:45:16
342
原创 Redis RDB 持久化笔记
LASTSAVE返回最后一次成功生成 RDB 的 Unix 时间戳。BGSAVE客户端执行 BGSAVE↓Redis 主进程执行 fork()↓创建 RDB 子进程↓父子进程共享物理内存↓父进程继续处理客户端请求↓子进程读取旧数据生成 RDB↓父进程写数据时触发写时复制↓父进程使用新页,子进程使用旧页↓子进程先生成临时 RDB 文件↓成功后替换旧的 dump.rdb↓子进程退出↓无人使用的旧内存页被回收。
2026-07-10 11:52:31
353
原创 Java Lambda 表达式笔记
(参数) -> { 逻辑 }它本质上是:对函数式接口中唯一抽象方法的简写实现。// 无参数、无返回值() -> System.out.println("执行任务");// 一个参数、无返回值// 一个参数、有返回值// 两个参数、有返回值一句话总结:Lambda 表达式不是独立的方法,而是根据外部需要的函数式接口,自动推断参数、返回值和对应方法的一种简写写法。
2026-07-06 19:56:10
258
原创 Redis Stream 消息队列总结
生产者执行 XADD↓消息写入 Stream↓消费者组读取消息 XREADGROUP↓消息进入 Pending List↓消费者执行业务逻辑↓业务成功:XACK业务失败:不 XACK↓未确认消息后续重新处理XADD → XREADGROUP → 业务处理 → XACK。
2026-07-04 21:15:32
263
原创 Redis 消息队列笔记:List 与 Pub/Sub
消息队列的核心作用是把“生产消息”和“处理消息”分开。这样可以实现:削峰:高并发请求先进入 Redis,数据库慢慢处理。异步:用户不必等待全部业务执行完毕。解耦:生产者只负责发送任务,消费者只负责处理任务。多实例共享:多个应用可以使用同一个 Redis 队列。
2026-07-04 04:56:48
258
原创 Java 线程池、Runnable、Callable、Future 笔记
线程池:复用线程,统一管理任务执行Runnable:描述没有返回值的任务Callable:描述有返回值的任务Future:获取异步任务未来结果// 不需要返回值System.out.println("处理订单");});// 需要返回值});Runnable 是“做事”Callable 是“做事并给结果”Future 是“结果还没出来时先拿到的凭证”线程池是“安排线程去做事”
2026-07-03 16:00:34
372
原创 虚拟机无法全屏显示,同时VM-tools是灰色的无法安装
但是现在我们的ubantu还是不居中显示,最后在这里选中自适应客户机就可以居中显示了。我在安装完虚拟机后发现无法居中显示,也无法进行粘贴和复制,这很影响效率。通过和gpt聊天得到一种可行的方法,不需要在在选项卡里安装,而是在。这样一来我们的虚拟机就可以实现粘贴和复制了。开源版本 open-vm-tools。ubantu的命令行内安装。VM-tools是灰色的。
2026-07-02 09:08:56
186
原创 IDEA修改运行配置,多开服务,找不到配置怎么解决
3 由于要多开服务,那么必然要对端口进行配置,但是看这个页面好像也没有配置的地方,那么我们注意到 右边有i一个Modify options 的东西,点击就可以添加选项了,前几个版本是显式的,后面为了页面美观隐藏了起来。2 选择配置 control+D 复制配置。4 这里我们添加 VM options。1 右上角点击绿色三角,打开配置界面。
2026-06-28 22:27:21
227
原创 torch.gather 用法笔记
不只是告诉从哪里取值,它还决定了最终输出张量的形状。因为每个 patch 不是一个数,而是一个。得到的是每个样本中分数最高的。个 patch 的完整。,所以是在列方向取值。的三维结构对应起来。
2026-06-09 01:57:07
434
1
原创 PyTorch 中 unfold 的理解笔记
PyTorch 的窗口数量维度留在原来的位置;窗口内部大小维度追加到最后。也就是说,对某个维度做unfold原来的这个维度位置,用来表示切出了多少个窗口;新增的最后一维,用来表示每个窗口里面有多少个元素。原位置放“窗口个数”,最后一维放“窗口大小”。
2026-06-06 23:50:07
816
原创 Python属性的添加和删除
当然,真实实现还会处理边权重、边属性、排序和稀疏矩阵格式等细节,但核心思想就是:对象的属性可以被程序动态添加、修改和删除。如果这个属性原来不存在,这句代码就是给对象新增属性;如果这个属性原来已经存在,这句代码就是修改属性的值。在 Python 中,已经创建好的对象也可以动态添加、修改和删除属性。Python 对象的属性不是固定不变的,很多对象都可以在运行过程中动态添加、修改和删除属性;从对象属性的角度看,它大致可以理解为:根据。如果不确定对象是否有某个属性,可以先用。,然后默认删除原来的。
2026-05-18 09:30:10
70
原创 Python 参数解析与 parse_args() 作用总结
Python 中的参数解析,主要是指使用argparse模块,让程序可以从命令行中接收参数。--lr 0.001就是传给 Python 程序的参数。参数解析的作用,就是把这些命令行参数读取进 Python 程序中,让代码可以使用它们。把命令行中输入的参数解析出来,并保存到args变量中,后面可以通过args.xxx的形式在代码中使用这些参数。参数解析本身不是模型结构,也不参与训练,它只是一个配置管理工具,让程序运行更加灵活,方便修改实验参数、复现实验和管理代码。
2026-05-17 15:46:43
264
原创 GIN学习笔记
输入图:节点特征 x边结构 edge_indexbatch 信息第一层 GINConv:每个节点聚合一阶邻居信息第二层 GINConv:每个节点进一步聚合二阶范围结构信息更多层 GINConv:每个节点获得更大范围的结构信息把同一张图中的所有节点表示加起来根据图表示输出图分类结果每个节点先学习自己周围的局部结构;多层传播让节点获得更大范围结构;图级池化把所有节点结构表示汇总起来;分类器根据整个图的表示进行预测。
2026-05-14 00:58:36
441
原创 GAT(Graph Attention Network)学习笔记
权重可以理解为“占比”或者“重要程度”。B 的权重是 0.7C 的权重是 0.2D 的权重是 0.170% 参考 B20% 参考 C10% 参考 DGCN:邻居权重主要由图结构和节点度数决定GAT:邻居权重由模型根据节点特征动态学习出来对于每个节点 i:1. 找到它的邻居节点2. 对节点特征进行线性变换3. 计算当前节点和每个邻居之间的重要性分数4. 对这些分数做 softmax,得到注意力权重5. 按照注意力权重加权聚合邻居特征6. 得到节点 i 的新表示。
2026-05-13 23:04:40
694
原创 GraphSAGE 学习笔记
这里有一个很重要的问题:为什么要把自身表示和邻居表示拼接起来,而不是直接相加?从邻居中采样一部分节点,聚合这些邻居的信息,再和节点自身信息融合,得到新的节点表示。它相比 GCN 更适合大图,因为它不必每次都聚合所有邻居,而是通过邻居采样控制计算规模。GraphSAGE 中自身信息和邻居信息通常使用拼接,而不是直接相加。拼接可以保留自身信息和邻居信息的区别,然后让后面的线性层学习如何融合;而相加会提前把两类信息混在一起,降低表达能力。是 GraphSAGE 训练中非常重要的工具。
2026-05-13 00:05:21
447
原创 GNN 学习笔记:edge_index 与 W 参数矩阵
1. edge_index 和邻接矩阵 A 的关系;2. GCN 中 W 参数矩阵的作用。edge_index 是邻接矩阵的稀疏表示。数学上可以用 A @ X 理解邻居聚合,工程上 PyG 会根据 edge_index 自动完成消息传播。W 不是简单 reshape,而是可学习的线性变换。它负责把每个节点的特征从输入维度映射到输出维度,并在训练过程中学习更有用的特征组合方式。A_norm:负责根据图结构聚合邻居信息;H^(l):当前层节点特征;W:负责对节点特征做可学习的线性变换;
2026-05-12 07:56:55
379
原创 图神经网络入门
本文详细介绍了图神经网络(GNN)中节点分类任务的数据结构。主要内容包括:节点特征x表示每个节点的自身信息,边结构edge_index描述节点间的连接关系,节点标签y记录每个节点的正确类别。在训练过程中,模型会利用整张图的结构信息进行消息传播,但仅使用训练节点(train_mask标记)计算损失。与普通神经网络不同,GNN通过结合节点特征和图结构信息进行分类预测。文章还提供了典型训练代码示例,并强调了GNN节点分类任务的核心特点:整图参与传播,部分节点监督学习,最终实现对未知节点的分类预测。
2026-05-12 07:54:38
409
原创 go语言学习笔记
在 Go 语言里,结构体的方法(method)是绑定到特定类型上的函数它让你可以用面向对象的风格(对象.方法())来操作结构体的数据。
2025-08-13 16:06:41
306
原创 go学习笔记-匿名函数
语言中函数内部不能再像之前那样定义函数了,只。1️⃣ 普通匿名函数(只是定义,不执行)f() // 这里才会输出 Hello。// 定义完立刻执行,输出 Hello。函数当然还可以作为返回值,但是在。2️⃣ 立即执行匿名函数。// 此时函数还没执行。
2025-08-13 08:40:18
286
原创 go语言学习笔记-Map
scoreMap["陈翔"] = 100。scoreMap["陈佳佳"] = 11。在声明的时候直接填充元素 不使用make。是引用类型,必须初始化。1 使用map初始化。
2025-08-12 17:07:46
286
原创 go语言学习笔记-定义变量
常量必须当场给出表达式,所以也就没有类型的要求,因为可以使用自动推导。fmt.Println(n) //没有这一句,n的局部定义会报错。特别注意 在go中如果一个局部变量没有被使用,是会报错的。使用_表示,用于接受多个返回值,多用于占位符,表示忽略值。先声明一个变量,后面再对它进行赋值。使用const关键字对常量进行定义。类型可以选择省略,这就是类型推导。var 变量名 类型 =表达式。const 变量名=表达式。var 变量名=表达式。也可以不写表达式, 用。1 定义全局变量的方法。
2025-08-12 01:26:19
306
原创 Java 8 date/time type java.time.LocalDateTime not supported by default: add Module “com.fasterxml.ja
原因: 我自定义的RedisTemplate中Jackson2JsonRedisSerializer。在使用redis时需要序列化json对象,但是报错LocalDateTime序列化失败。,导致 Jackson 在反序列化 Redis 里的数据时,无法识别。解决方法:修改RedisTemplate。
2025-07-26 00:43:32
235
原创 There is no getter for property named ‘name‘ in ‘class com.sun.proxy.$Proxy99‘
你把一个 service 或 proxy 传进来了。仔细检查发现原来是我自动补全时错误的把代理对象传入了mybatis.userMapper.findUser(user)就可以了。
2025-07-19 00:43:06
152
原创 MyBatis实现分页查询-苍穹外卖笔记
首先分页查询的原理是SQL的limit关键字。子句用于限制 SQL 查询返回的记录数。它接受一个或两个整数参数,第一个参数表示偏移量,第二个参数表示返回的最大记录数。我们完全可以使用前端传给我们的page,pageSize,自己去计算limit的参数,但是这样效率很慢。所以有了分页插件pageHelper.
2025-07-12 22:29:32
286
原创 如何整合knife4j -苍穹外卖笔记
description("苍穹外卖项目接口文档").title("苍穹外卖项目接口文档")2 在WebMVC配置类中加入knife4j的相关配置。1 引入knife4j的maven坐标。3 设置静态资源映射,否者无法被访问。* 通过knife4j生成接口文档。* 设置静态资源映射。
2025-07-11 19:26:30
207
原创 JAVA 项目找不到符号
2 检查一下pom文件里写的jdk,版本和项目实际版本是不是不一样。如果不一样,统一版本即可。1 clean 然后重新package,重新启动。
2025-07-06 23:47:07
253
原创 Mybatics-plus实现简单的分页查询-瑞吉外卖笔记
首先创建page,然后设置筛选条件,最后执行查询。1 要实现分页查询,要先进行插件配置,这是前提。
2025-06-23 01:37:58
135
原创 Springboot给静态资源放行
编写一个配置类,实现WebMvcConfigurer 接口,重写 addResourceHandlers方法,在这个方法内设置放行的静态资源路径。
2025-06-22 15:35:28
220
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅