RAG 学习笔记:文档切分、向量检索和回答兜底 写在前面RAG 是我补 AI 应用开发时重点学习的方向。它解决的问题很直接:大模型本身不知道我们的私有资料,所以需要先从知识库里检索相关内容,再让模型基于这些内容回答。 这篇文章不写“企业级架构”,只记录我现在对 RAG 的理解,以及做小项目时需要注意的几个点。 RAG 的基本流程一个简化版 RAG 流程可以分成四步: 12345文档整理 -> 文本切分 -> 向量化并存储 -& 2025-02-15 人工智能 #AI #学习笔记 #RAG #向量检索
AI Agent 学习笔记:工具调用、RAG 和项目落地思路 写在前面实习结束后,我开始更认真地补 AI 应用开发。原因很现实:AI 工具发展太快,单纯做传统业务开发会越来越卷,但我自己的 AI 知识又还不够系统。 Agent 是我这段时间重点学习的方向之一。刚开始我以为 Agent 很神秘,后来发现先不用把它想得太玄。对应用开发来说,可以先理解成:模型不只是回答问题,还能根据任务选择工具、调用接口、读取资料,并把结果组织起来。 这篇文章是我的学习笔记,不是 2025-01-20 人工智能 #AI #Agent #LangChain #SpringAI
MCP 学习笔记:工具协议和上下文扩展 写在前面学习 AI Agent 时,我经常看到 MCP 这个概念。我的理解是,它想解决的问题是:让模型更规范地连接外部工具和数据源。 这篇文章只是基础学习笔记,主要记录我对 MCP 的初步理解。 MCP 解决什么问题大模型本身只能根据上下文回答问题。如果它要读取文件、查询数据库、调用接口,就需要外部工具。 如果每个工具都单独设计一套接入方式,系统会越来越乱。MCP 的价值在于提供一种更统一的工具接 2025-01-10 人工智能 #AI #学习笔记 #MCP #工具调用
Spring Boot 3 学习笔记:Java 17、Jakarta 和项目迁移 写在前面Spring Boot 3 对 Java 后端来说是一个比较重要的版本。相比写“性能优化”,我更关注它带来的依赖、包名和兼容性变化。 Java 17Spring Boot 3 要求 Java 17 起步。Java 17 提供了一些新特性,比如 record: 12public record UserDTO(Long id, String name) {} 它适合简单数 2024-12-15 后端开发 #Java #学习笔记 #后端开发 #Spring Boot
MySQL InnoDB 学习笔记:索引、事务和 Buffer Pool 写在前面学习 MySQL 时,我一开始只关注 SQL 怎么写。后来做接口查询、分页筛选和 Bug 排查时,才发现如果完全不了解 InnoDB,很多问题只能停留在“好像是数据库慢”这个层面。 这篇文章是我对 InnoDB 的学习整理,重点放在面试和项目里更容易用到的几个点:索引、事务、锁和 Buffer Pool。 InnoDB 是什么InnoDB 是 MySQL 常用的存储引擎。平时我们写的建表、 2024-11-20 后端开发 #学习笔记 #MySQL #InnoDB #数据库
拼团业务学习笔记:库存、订单和状态流转 写在前面拼团业务适合用来练习状态设计、库存处理和订单流转。这篇文章只作为学习笔记,不写成真实生产项目经验。 基础流程123456用户发起拼团 -> 校验活动和商品 -> 判断库存 -> 创建拼团记录 -> 邀请参团 -> 成团或失败 关键状态包括: 待成团 已成团 已失败 已取消 库存处理简单场景可以直接用数据库扣减: 1234UPDATE produ 2024-11-15 后端开发 #学习笔记 #Redis #业务设计 #订单
MySQL 查询优化学习笔记:从慢查询到索引设计 写在前面我最开始写后端接口时,对 SQL 的理解很简单:能查出数据就行。后来在项目和实习里接触到分页查询、多条件筛选、列表展示之后,才发现 SQL 写法会直接影响接口稳定性。 这篇不是线上故障复盘,也不是夸张的优化案例,而是我整理的一次 MySQL 查询优化学习笔记。重点记录我怎么从一个慢查询场景里理解索引、分页和查询字段。 问题场景假设有一个用户业务数据表,需要支持后台列表查询: 按用户 ID 2024-10-25 后端开发 #学习笔记 #MySQL #SQL优化 #索引
Redis 分布式锁学习笔记:setIfAbsent 和 Redisson 写在前面分布式锁是我学习库存扣减、重复提交和定时任务时接触到的内容。这篇只记录基础理解。 setIfAbsentRedis 实现锁的基础思路是:只有第一个请求能写入某个 key。 12Boolean success = redisTemplate.opsForValue() .setIfAbsent("lock:order:" + orderId, requestId, 2024-10-18 后端开发 #学习笔记 #Redis #分布式锁 #Redisson
Spring Cloud Alibaba 学习笔记:Nacos、OpenFeign 和 Sentinel 写在前面微服务是一个很大的话题。站在我现在的阶段,更适合先理解组件分别解决什么问题,而不是一上来写复杂架构。 这篇文章记录我对 Nacos、OpenFeign 和 Sentinel 的基础理解。 NacosNacos 常见作用是服务注册发现和配置管理。 1234567spring: application: name: user-service cloud: nacos: 2024-09-25 后端开发 #学习笔记 #Spring Cloud #Nacos #Sentinel
Redis 缓存学习笔记:商品详情缓存和常见问题 写在前面Redis 是 Java 后端学习中绕不开的一块。刚开始我对 Redis 的理解很简单:查数据库慢,就把结果放进缓存。 后来做项目和看业务代码时,才发现缓存不是“加上 Redis 就完事”。缓存 key 怎么设计、过期时间怎么定、数据不一致怎么办、缓存穿透和击穿怎么处理,这些都需要结合具体业务判断。 这篇文章是我对商品详情缓存场景的学习整理,不包装成生产经验,只记录我目前能理解和讲清楚的部 2024-09-10 后端开发 #学习笔记 #Redis #缓存 #后端开发