- 博客(22)
- 收藏
- 关注
原创 4.1RAG知识库基础
本文详细介绍了RAG(Retrieval-Augmented Generation)知识库的构建与使用流程。主要内容分为两大部分:建立索引和检索生成。 建立索引: 文档收集与切割:将长文档分割成适当大小的片段(chunks),推荐基于语义边界或递归分割策略 向量数据转换:使用Embedding模型将文本转换为高维向量,存储到向量数据库,便于语义相似度检索 检索生成: 文档过滤与检索:将用户问题转为向量,在数据库中查找语义相近的文档片段 查询增强与关联:将检索结果与用户问题组合成增强Prompt,交由AI生成
2026-07-29 21:09:16
164
原创 3.1构建项目--多轮历史对话大模型
本文简要介绍了构建AI对话项目的核心步骤:1.配置大模型;2.实现用户与AI的交互流程。重点解析了聊天方法的实现逻辑:通过ChatClient预装AI能力,用doChat处理单次对话,利用chatId管理对话历史,最终通过call调用模型并返回响应结果。整个过程清晰划分了系统初始化、请求构建和响应处理三个阶段,实现了从用户输入到AI输出的完整链路。
2026-07-24 15:37:22
226
原创 3.2 构建AI智能体项目扩展知识
本文介绍了SpringAI框架下自定义拦截器、结构化输出、对话持久化和提示词模板的实现方法。首先通过实现CallAroundAdvisor和StreamAroundAdvisor接口创建自定义拦截器,核心是aroundCall和aroundStream方法。其次利用record定义输出格式,通过修改提示词实现结构化输出。对话持久化提供文件和JDBC两种存储方式,文件存储通过Kryo库实现对象序列化。最后使用PromptTemplate模板管理提示词,支持动态替换占位符,提升交互规范性。这些技术可增强AI应用
2026-07-24 15:12:32
219
原创 Redis--数据类型常用指令
本文介绍了Redis的常用数据类型及其操作命令,包括String、Hash、List、Set和ZSet五种基本类型。String适用于缓存、计数器等场景;Hash适合存储对象;List支持队列和栈操作;Set提供去重和集合运算功能;ZSet通过score实现有序集合。文章详细讲解了每种类型的特性、内部编码、常用命令及典型应用场景,并对比了不同数据类型的差异。此外还介绍了Key的层级命名规范和通用命令,帮助开发者根据业务需求选择合适的数据结构。
2026-05-07 19:31:58
379
原创 Docker:项目部署
对比项手动部署部署步骤需要手动执行多个docker run命令一个搞定网络配置需要手动创建网络,并让每个容器加入自动创建网络,所有服务自动加入依赖管理需要手动控制启动顺序通过depends_on自动管理配置管理命令参数复杂,容易出错YAML 文件清晰易读,便于版本管理适用场景简单项目、学习测试生产环境、多容器项目附录:常见问题 FAQQ1:为什么修改配置文件后,需要用容器名而不是 localhost?
2026-04-30 12:45:56
678
6
原创 Docker入门
Docker容器技术核心笔记摘要 核心概念:Docker包含镜像(只读模板)、容器(运行实例)和镜像仓库三大要素,镜像命名规范为[repository]:[tag]。 常用命令: 镜像操作:pull拉取、images查看、rmi删除 容器操作:run创建、ps查看、start/stop启停、exec进入 参数说明:-d后台运行、-p端口映射、-e环境变量 关键技术: 端口映射:通过宿主机端口访问容器服务 数据卷:实现容器数据持久化和便捷编辑 自定义网络:解决容器IP变动问题,支持通过容器名通信 镜像构建:使
2026-04-29 15:51:23
451
原创 Springboot原理篇:自动配置
SpringBoot自动配置原理笔记摘要 本文详细解析了SpringBoot自动配置机制的核心原理: 自动配置流程:通过@SpringBootApplication→@EnableAutoConfiguration→AutoConfigurationImportSelector加载META-INF/spring/AutoConfiguration.imports文件中的配置类,自动注册Bean到IOC容器。 关键机制:第三方jar包预置AutoConfiguration.imports文件,SpringBo
2026-04-17 09:49:43
389
原创 SpringAOP:面向切面编程
Spring AOP(Aspect Oriented Programming,面向切面编程)是一种编程思想,核心思想是:在不修改原有业务代码的情况下,为指定的方法统一添加额外的通用功能。输出操作人实现思路:操作的时候需要登陆认证,会产生JWT令牌,之前我们定义的JWT令牌自定义了信息“id”,而这个id可以唯一标识每一个员工,因此获取到这个id就相当于知道操作人是谁了。方法名(方法参数) throws 异常?每次请求的数据都会保存在独立的一次线程中,保证了获取到的数据就是那次请求的数据。
2026-04-17 09:17:00
386
原创 Spingboot:登陆认证实现
本文摘要:基于SpringBoot实现登录认证功能,主要包含三部分:1) 登录功能采用三层架构实现用户验证;2) 使用JWT令牌进行无状态认证,包含令牌生成、解析工具类实现;3) 通过过滤器和拦截器两种方式实现登录校验,拦截未授权请求。文章详细介绍了JWT的结构原理、过滤器/拦截器的配置方法及执行流程,并对比了两种校验方式的优缺点。最终实现完整的登录认证流程:用户登录成功生成JWT令牌,后续请求需携带有效令牌才能访问受保护资源。
2026-04-11 18:12:15
408
原创 基于PageHelper的分页查询
本文详细介绍了基于PageHelper和MyBatis实现JavaWeb分页查询功能的完整方案。主要内容包括:1. 系统架构设计(四层结构:Controller、Service、Mapper和数据模型)2. 关键数据模型设计(实体类、查询参数封装类、分页结果类和统一响应类)3. 各层实现要点:Controller参数接收与响应、Service分页设置与结果封装、Mapper动态SQL构建4. PageHelper工作原理(SQL拦截与改写)5. 完整的数据流转过程。该方案实现了支持多条件查询的分页功能,具有
2026-04-04 17:07:15
391
原创 MySQL:多表查询
本文介绍了数据库多表查询的核心技术。重点讲解了内连接和外连接的区别:内连接只返回符合连接条件的交集数据,而外连接会保留某一边表的全部数据。文章通过具体示例展示了如何避免直接查询产生的笛卡尔积问题,强调区分连接条件(on)和筛选条件(where)的重要性。此外还介绍了子查询(嵌套查询)的四种形式:标量、列、行和表子查询,并提供了对应的查询示例。这些技术能有效提升多表数据查询的效率和准确性。
2026-03-10 14:56:59
379
原创 知识回顾:前后端分离+接口编写+其他优化
本文深入探讨前后端分离开发中的关键要点,重点解析后端数据交互流程。文章详细说明成功回调函数的运作机制:后端通过Result对象返回状态码和数据,前端接收JSON格式响应并进行渲染(以Vue的v-for为例)。同时介绍了三层架构中Controller层的核心注解使用,包括@RestController、@RequestMapping及各类参数接收注解(@RequestParam/@PathVariable/@RequestBody)。最后提及优化方案:通过Nginx代理服务器隐藏后端细节并实现负载均衡,以及L
2026-03-04 23:52:23
472
原创 知识总结:IOC+DI解耦与MyBatis
本文介绍了SpringBoot的IOC容器与DI依赖注入技术,以及MyBatis简化JDBC操作的方法。在SpringBoot部分,重点讲解了通过@Component注解实现IOC控制反转,以及使用@Autowired进行依赖注入,有效降低了代码耦合性。MyBatis部分详细说明了如何通过接口注解方式实现增删改查操作,包括单参数和多参数的SQL语句处理方法,并对比了简单项目使用注解与复杂项目使用XML配置文件的适用场景。文章还强调了Lombok工具在简化实体类创建过程中的重要作用。整体内容涵盖了从基础连接到
2026-02-03 22:33:59
714
1
原创 UE5 角色移动逻辑
本文概述了UE5中角色移动的实现逻辑。首先通过输入映射上下文(IMC_input)设置WASD按键规则,绑定2D输入操作(IA_Move2)作为信号接收器。在角色蓝图中,游戏启动时添加映射上下文。移动时,持续按键触发增强输入节点的Trigger事件,调用"添加移动输入"节点。通过"获取Actor方向向量"确定移动方向,并将IA_Move2接收的2D值经"拆分向量2D"处理后,分别连接到前后/左右移动的ScaleValue参数,实现角色在3D空间中的
2026-01-15 21:13:50
723
1
原创 实例回顾:JavaWeb最基本的前后端分离——外卖订单管理系统
摘要:本文讲解了前后端分离的核心思想与技术实现。前后端分离本质是一种职责划分思想:后端专注数据处理,前端负责页面交互,二者通过HTTP协议通信。项目采用Ajax异步请求、SpringBoot快速开发接口、MySQL数据库和Druid连接池等技术实现。具体开发流程包括:1)数据库配置与连接;2)定义数据模型和接口规范;3)JDBC实现增删改查操作;4)SpringBoot编写RESTful接口;5)前端通过Ajax发送请求并处理响应。项目实现了订单的增删改查功能,展示了前后端分离架构下各层协作的完整流程。
2025-11-29 21:58:59
799
1
原创 MySQL基础-------DQL语句
本文介绍了MySQL的DQL数据查询语句,包括基础查询(SELECT FROM)、条件查询(WHERE)、聚合函数、分组查询(GROUP BY)、排序查询(ORDER BY)和分页查询。重点讲解了字段选择、别名设置、去重查询、比较运算符和逻辑运算符的使用,以及WHERE与HAVING的区别(分组前后过滤条件的不同)。同时详细说明了聚合函数(COUNT, MAX, MIN, AVG, SUM)的具体用法,并通过实例展示分组查询的执行逻辑,最后介绍了排序和分页查询的基本语法。全文通过思维导图方式组织,便于理解D
2025-11-09 14:13:30
785
1
原创 MySQL基础------DML语句
MySQL DML语句操作指南: 添加数据: 指定字段:INSERT INTO 表名(字段1,字段2) VALUES(值1,值2) 批量添加:可一次插入多组值 注意:字符串/日期需加引号,值不超过字段范围 修改数据: 语法:UPDATE 表名 SET 字段=值 [WHERE 条件] 特殊:设置字段为NULL可实现"伪删除"(非DELETE操作) 删除数据: 语法:DELETE FROM 表名 [WHERE 条件] 与UPDATE区别:DELETE直接删除整行数据 (注:示例代码显示基础语
2025-11-09 12:40:38
345
1
原创 MySQL基础——基础语法数据类型和DDL语句
基于内容,以下是思维导图的整理:基于内容,分为两大板块来讲解,DDL可以1.对数据库操作 2.可以对表格操作,下面我们来学习。
2025-11-02 16:57:55
329
1
原创 华为ICT仓颉语言小游戏——心灵感应魔法
猜数字游戏运用二进制原理实现"心灵感应"效果。游戏将十进制数字转换为二进制位组合,每张卡片对应一个二进制位(如卡1对应第一位)。通过询问数字是否在卡片上,实际是在收集二进制位的状态(1/0)。最后将"是"对应的卡片权重值相加,完成二进制转十进制计算,还原目标数字。整个过程巧妙运用了二进制编码逻辑,将数学计算隐藏在互动问答中。
2025-11-01 22:54:45
824
2
原创 华为ICT仓颉语言基础——第二章:程序结构基础
摘要:本文介绍了仓颉语言中的程序结构,主要分为条件判断和自定义函数两部分。条件判断包括ifelse语句、matchcase选择分支结构(类似switchcase但需穷尽所有情况)以及条件表达式。自定义函数部分讲解了函数定义格式、命名参数与非命名参数的区别,以及math库的基本数学函数。文章通过思维导图和代码示例详细说明了各种语法规则和使用注意事项。
2025-11-01 22:36:58
702
2
原创 华为ICT-仓颉语言基础——第一章:基本数据类型
在仓颉语言中,只要涉及到运算符那就是”运算“,并且运算的数字和变量必须是同一个类型的(位数相同,数据类型相同),这与Java不同,在Java中,整型与浮点型做计算,整型会自动转换位浮点型。但是仓颉语言中,只要类型不同,就会立马报错。我们刚刚说”运算“的时候其实已经提到了,仓颉语言中对于运算的数据类型十分严格,加号也是一个运算符号,因此,即使他作为连字符,本质上还是在做一个加法运算,因此左右两边的数据类型必须相同,必须是字符串+字符串的形式,不能再向Java一样打印输出时使用”字符串+变量“的形式了。
2025-10-26 22:59:41
733
3
原创 JAVA的读取和写入——实例:文档数字读取和排序输出
大家好,我是一个编程小白,以后的编程笔记就以博客文章形式存储了(wps便签太容易吞图片画质了,之前学web前端,上传的图片笔记和实例糊的不成样子,想要复习还得开电脑自己去vscode看自己写的实例,麻烦死了,以后就在这里写好了) (所以这是个纯个人笔记,不喜勿喷哈)的缓冲区,它会先把要写的内容 “暂存到内存缓冲区”,等缓冲区满了或代码执行完,再一次性写入磁盘 / 网络(这些操作很慢),从而减少写入次数、提高效率。// split("\\s+"):按一个或多个空白字符分割字符串,得到单个数字的字符串数组。
2025-10-19 16:56:54
750
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅