自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一文精通 crontab从入门到出坑

就是在有写入文件等操作的时候,要用上绝对路径,否则crontab会找不到这个路径。在此基础上再说一个点。

2025-06-12 16:06:18 67

原创 处理两种不同json文件的python代码

在处理 JSON 文件时,文件的结构决定了如何解析它。这种格式实际上不是标准的 JSON 格式,因为一个 JSON 文件通常只能包含一个 JSON 值。因此,文件中多个独立的 JSON 对象需要逐行读取和解析。这种格式是标准的 JSON 格式,其中一个 JSON 数组包含多个对象,可以直接使用json.load方法解析。

2025-06-11 16:37:29 305

原创 Build a Large Language Model (From Scratch) 第二章 Working with text data

你将学习如何为训练大型语言模型(LLMs)准备输入文本。这包括将文本拆分为单个单词和子词标记,然后将这些标记编码为适合LLM的向量表示。你还将了解高级标记化方案,如字节对编码(BPE)——这是GPT等流行LLM中使用的技术。最后,我们将实现一种采样和数据加载策略,以生成训练LLM所需的输入-输出对。

2025-06-10 00:36:00 1076

原创 Build a Large Language Model (From Scratch) 第一章 Understanding large language models

自监督学习过程简图│ 原始文本数据(没有标签) │↓构造预测任务(如遮盖词、预测下一个词)↓输入序列 → 目标词(伪标签)↓模型预测 + 损失函数↓反向传播更新参数(学习)大型语言模型(LLMs)已经彻底改变了自然语言处理领域——该领域此前主要依赖显式的基于规则的系统和较为简单的统计方法。大型语言模型的出现引入了全新的深度学习驱动方法,推动了人类语言理解、生成和翻译等领域的进步。

2025-06-07 16:07:55 924

原创 Build a Large Language Model (From Scratch) 序章

从零构建大型语言模型》旨在。全书首先聚焦于文本数据处理的基础知识和注意力机制的编码,随后指导读者逐步实现一个完整的GPT模型。书中还涵盖了预训练机制以及针对文本分类和指令遵循等特定任务的微调方法。通过阅读本书,读者将深入理解LLM的工作原理,并掌握构建自有模型的技能。尽管书中创建的模型规模小于大型基础模型,但它们使用相同的核心概念,是掌握构建尖端LLM所需核心机制和技术的有力教学工具。

2025-06-04 00:58:27 784

原创 minhash-大模型输入前的去重

本文介绍了使用MinHash和局部敏感哈希(LSH)进行文本去重的方法。首先将文档切分为n-gram单元,然后为每个n-gram生成多个哈希值以提高相似性估计的准确性。接着通过取最小值得到文档的MinHash签名,再使用LSH将签名分条带处理,将相同条带值的文档聚到同一桶中备选。这种方法能有效识别相似文档,在大批量文本处理中显著减少计算量,平衡了计算效率和相似性检测的需求。MinHash通过多哈希值提高了鲁棒性,而LSH的分条带策略则灵活控制了相似性阈值。

2025-05-27 17:26:33 960

原创 CHAPTER 17 Iterators, Generators, and Classic Coroutines

迭代是数据处理的基础:程序对数据序列进行计算,这些数据序列涵盖从像素到核苷酸等各种类型。如果数据无法全部存入内存,我们就需要按需惰性获取数据——一次获取一个数据项。这正是迭代器的作用。本章将展示迭代器设计模式是如何内置于Python语言中的,这样你就无需手动编写相关代码。Python中的每个标准集合都是可迭代的。for循环列表、字典和集合推导式解包赋值集合实例的创建Python如何使用内置的iter()函数处理可迭代对象如何在Python中实现经典的迭代器模式。

2025-05-07 14:28:03 757

原创 CHAPTER 12 Special Methods for Sequences

通过这一版Vector支持任意维度的向量;通过定制化的特殊方法(如__repr____str____eq__等),丰富了类的功能;提供了高效的计算方式(如基于math.hypot的模长计算)。这种设计方式非常贴合 Python 的数据类型设计哲学(例如list或tuple),同时通过模块化和类方法便捷地实现了序列化操作,值得在工程中深刻实践和学习。在面向对象编程的上下文中,协议是一种非正式接口,它通过文档定义了对象必须遵守的规则,但在代码中这种规则是非强制的(不像 Java 的接口。

2025-05-01 10:58:05 625

原创 python 执行顺序

MRO (方法解析顺序) 是 Python 用来在多继承情况下决定方法查找顺序的规则。它定义了解决方法或属性时的搜索顺序——即在类继承关系中先搜索哪个类的定义。你可以通过 或 查看类的 MRO。分析:输出:当调用 时,Python 按照 MRO 顺序查找方法:首先在类 中查找,但类 没有定义 方法。接着查找 类,发现 定义了 方法,于是执行 的 ,输出:更复杂的继承关系让我们看一个更加复杂的多继承例子。分析:当调用 时,Python 遵循 MRO:先

2025-04-21 20:42:38 989

原创 CHAPTER 11 A Pythonic Object

对于一个库或框架而言,符合Python风格意味着让Python程序员能够尽可能轻松自然地掌握如何完成一项任务。—— 马丁·法森(Martijn Faassen),Python和JavaScript框架的创造者。得益于Python数据模型,你自定义的类型可以表现得和内置类型一样自然。你只需实现让对象按预期行为表现所需的方法即可。在前面的章节中,我们研究了许多内置对象的行为。现在,**我们将构建表现得像真正Python对象的用户自定义类。

2025-04-21 16:19:32 398

原创 langchain tools源码解析以及扩展

a: intb: int# 支持字段校验 或 复杂嵌套"""加法定制"""方面自定义 ToolExecutor.register_tool装饰对象Python函数工具类(通常继承BaseModel)内部逻辑封装:函数、元信息、参数schema → Tool对象需显式传给Agent注册:类进全局map,参数结构自动提取调用入口由Agent调度由ToolExecutor.execute_tool统一入口调度注册方式没有全局注册(只生成对象实例)有全局注册(map写入)

2025-04-18 11:10:52 1035

原创 CHAPTER 8 Type Hints in Functions

Python 是一种动态类型语言,这意味着变量类型在运行时才能确定,而不是像某些静态类型语言(如 Java、C++)那样在编译时就需要定义类型。渐进式类型系统是一种用来平衡动态类型和静态类型的方式,允许我们在 Python 中逐步引入类型提示,如有必要,也可以完全不使用类型提示。渐进式类型系统是 Python 的一大特色,带来了类型安全性和开发效率之间的平衡。类型提示可选,无需重构已有代码。可以辅助静态工具发现潜在错误。类型注解不会影响 Python 的运行时行为,也不会提升性能。

2025-03-24 11:43:47 1051

原创 CHAPTER 10 Design Patterns with First-Class Functions

策略模式是一种行为设计模式,用于定义一组算法,将每个算法封装起来,使它们可以互换使用,同时使使用这些算法的客户端独立于算法的实现。定义(Design Patterns 书中定义)“定义一组算法,将每个算法封装起来,并使它们可以互换使用。策略模式允许算法独立于使用它的客户而变化。在本例中,策略模式用于在电子商务系统中计算折扣,具体折扣逻辑取决于不同的促销策略。这些数据类用于表示客户、订单项和订单的基本信息。name: str# 上下文类:管理订单数据和执行折扣运算逻辑"""计算订单总金额"""

2025-03-24 11:42:10 673

原创 CHAPTER 9 Decorators and Closures

装饰器本质上是一个可调用对象(通常是函数),它接受另一个函数作为参数,并可能会对这个函数进行处理(添加功能、修改行为等),然后返回一个新的函数或可调用对象。换句话说,装饰器可以用来包装另一个函数,从而在调用这个被包装的函数时实现新的功能。举个例子,我们定义了一个装饰器decorateprint(f'hexid')@registerdef f1():@registerdef f2():在函数定义时(导入时间)立即执行装饰器代码。常用于动态注册、函数增强或替换。

2025-03-20 11:07:23 925

原创 CHAPTER 7 Functions as First-Class Objects

开启了新一篇章,之前的章节1-6都在讲数据结构,从这一新篇章开始,讲的是函数即对象。因为本文会碰到map等用到迭代器的方法,所以在此之前我们先将这个介绍清楚。好的,我们现在进一步深入,将迭代器与 计算机系统中的内存分配和使用 联系起来,通过图解的形式描述内存是如何被迭代器利用的,并解释为什么它能保持高效。在计算机中,内存的使用分为以下几个主要部分:迭代器的特点:迭代器不一次性把所有数据加载到 堆 或 栈 中,而是动态生成数据,仅使用栈或少量堆空间来存储计算上下文(比如当前索引、已生成的位置)。代码:内存

2025-03-10 16:46:24 982

原创 CHAPTER 6 Object References, Mutability, and Recycling

共享引用的影响l1[1]和l2[1]同时指向内层列表。因此,对内层列表的修改会互相影响。等价于,直接修改了列表,使l1[1]同样变化。不可变对象的行为创建了一个新的元组并重新绑定到l2[2]。l1[2]保持原始元组(7, 8, 9),两者不再共享。浅拷贝bus2是bus1的浅拷贝,二者共享passengers列表的引用。修改bus1的passengers会影响bus2。深拷贝bus3是bus1的深拷贝,二者拥有独立的passengers列表。修改不影响。del。

2025-03-05 22:00:54 839

原创 CHAPTER 5 Data Class Builders

namedtuple特性普通元组namedtupledataclass内存效率高高较低字段访问方式按索引按名或索引按名可变性不可变不可变默认可变默认值支持不支持支持支持适合使用场景无需字段名的简易结构轻量的、不可变的数据对象结构更灵活、复杂的数据模型在 Python 中,NamedTuple是一种结合了元组的不可变特性和类的可读性的新型构造器。它允许我们定义类似类的结构体,同时支持通过名称访问字段的值。随着 Python 类型注解的引入,

2025-03-05 22:00:00 924

原创 第4章 Unicode 文本和字节序列

在计算机中,字符需要一种数字方式来表示,这就是代码点的作用。可以把代码点理解为每个字符的身份证号。在Unicode标准中,这个身份证号是一个十六进制的数字,并以“U+”开头。举几个例子:字母“A”:代码点是U+0041。这里的“0041”是一个十六进制数字,转换成十进制就是65。这意味着在Unicode中,“A”这个字符的唯一标识就是U+0041。欧元符号“€”:代码点是U+20AC。十六进制的“20AC”转换成十进制是8364。

2025-02-25 21:46:18 950

原创 网络安全前置知识-linux操作系统

虚拟机是由各种虚拟文件所构成的虚拟计算机,而这些虚拟文件都可以由文件系统进行管理。快照本身就是帮助用户记录当前虚拟机状态的方式,这个状态包含虚拟磁盘状态(相当于真实机中的硬盘)、机器内存状态、虚拟机配置信息。1、虚拟磁盘状态:数据、分区格式、文件内容等;

2024-05-02 20:00:45 1218

原创 MIT6S.081 如何切换lab分支

写第二个lab的时候发现代码对不上,后来知道是因为分枝不对。博客搜了几下,没找到想要的,就自己弄了,弄成后写下这篇博客来分享下。

2023-03-04 15:31:09 639

原创 Spring IOC概念与实现(注解方式)

1、使用 Spring 框架2、反射机制IoC 控制反转 Inverse of Control 创建对象的权限,Java 程序中需要用到的对象不再由程序员自己创建,而是交给 IoC 容器来创建。前置要求:强大的反射和注解基础,可以参考:https://blog.youkuaiyun.com/jsdoulaoula/article/details/125529609。

2022-09-04 11:30:33 461

原创 Ajax-老杜

写在前面,此文只能满足想知道ajax是如何一步步实现和框架下封装的是什么。想快速实现,直接去看VUE等框架如何实现即可。传统请求存在的问题页面全部刷新导致了用户的体验较差。传统的请求导致用户的体验有空白期。(用户的体验是不连贯的)四、XMLHttpRequest对象XMLHttpRequest对象是AJAX的核心对象,发送请求以及接收服务器数据的返回,全靠它了。XMLHttpRequest对象,现代浏览器都是支持的,都内置了该对象。直接用即可。创建XMLHttpRequest对象

2022-07-21 20:53:12 1146 2

原创 JavaScript-老杜

(1)简称JS(2)一种脚本语言,脚本语言的特点Java语言是一种非脚本语言,属于编译型语言。JavaScript语言是一种脚本语言(解释型语言),JavaScript的“目标程序”是以普通文本的形式保存。用记事本是可以直接打开的。浏览器打开就直接解释执行了。(3)JavaScript主要用来操作HTML中的节点,产生动态效果JavaScript是一门编程语言,专门用来操作HTML页面中的节点,让网页产生动态效果的。JavaScript中也有变量、数据类型、运算符、if语句、for循环、标识符、关键字

2022-07-20 11:45:49 784 3

原创 HTML+CSS

1、什么是HTML?Hyper Text Markup Language超文本标记语言2、HTML运行在哪?运行在浏览器上。3、HTML怎么开发?新建一个.html或者.htm结尾的文件。使用记事本打开就能开发,浏览器打开就能运行。不需要编译。4、什么是web?web就是网站开发。5、web程序员包括:6、HTML是哪个组织制定的标准呢?W3C.html实际上是w3c制定的一套标准,有不同的版本,例如:HTML4.0、HTML5.0(简称H5.........

2022-07-17 11:19:36 401

原创 JavaWeb(尚硅谷补充实操版)-中

在我们8中的项目里,Servlet太多,很不方便。我们想将其变成这个样子实现:首先将所有Servlet合成一个,然后通过switch来选择。前段代码的action全换成@{/fruit.do},并且加入隐藏域,name = operate, value=对应的操作(比如update)用来属地operate值,然后调用对应方法9.2 第二步改-反射在此之前先回顾一下修改内容中反射的知识:获取对象,不过在这次修改我们直接用this.getclass()即可,因为是写在自己的类里面。用反射替换掉s

2022-07-11 20:02:05 469 2

原创 JavaWeb(尚硅谷补充实操版)-上

html是什么一些功能对图片进行一些调整和提示Tomcat是一个web容器项目可以部署到里面IDEA里完成部署选javaEE里面的javaweb项目新建与WEB-INF同级的HTML完成部署前先进行配置tomcat,选tomcat-local完成部署完全可以改的方便些这里的html放在了web-inf下所以最后没结果IDEA特殊idea把项目部署到这个位置,然后在tomacat里面指明位置,所以tomcat的webapps里面看不到..

2022-07-06 21:07:30 896 4

原创 IDEA 404报错

所请求的资源不可用。  IDEA是通过先将项目打包成war包,然后创建一个Tomcat,将war进行加载的方式来启动项目所以这个请求资源不可用的问题就一定是  1)出现在打包war包的过程中  2)在Tomcat加载这个war包的时候出现的问题。对应第一个本人用的IDEA2021,会自动帮助你配置好。如果是老版本可以自行百度,从Module到Arti...

2022-07-04 08:28:59 4625

原创 JAVA-反射+注解

java反射+注解

2022-07-01 22:47:25 5418

原创 JAVA-IO流

JAVA-IO流

2022-06-29 20:44:18 304

原创 Lucene--千锋修改+踩坑版本

搜索技术理论基础1.1. 为什么要学习Lucene原来的⽅式实现搜索功能,我们的搜索流程如下图:上图就是原始搜索引擎技术,如果⽤户⽐较少⽽且数据库的数据量⽐较⼩,那么这种⽅式实现搜索功能在企业中是⽐较常⻅的。但是数据量过多时,数据库的压⼒就会变得很⼤,查询速度会变得⾮常慢。我们需要使⽤更好的解决⽅案来分担数据库的压⼒。...

2022-05-21 20:21:50 895

原创 Maven 本地jar打包到本地仓库

一、进入cmd窗口输入以下命令(个人习惯直接从地址栏输入cmd,回车进入)二、使用如下命令:注意:需要修改里面的内容mvn install:install-file -Dfile=C:\Users\dell1\Desktop\qq_SDK\Sdk4J.jar -DgroupId=sdk -DartifactId=qq-java-sdk -Dversion=1.0.0 -Dpackaging=jar-Dfile:为本地 jar 包的位置-DgroupId:打到 Maven 仓库对应 pom 文件

2022-05-20 20:17:57 394

原创 MybatisPlus从入门到精通-三更草堂补充版

MybatisPlus从入门到精通-基础篇1.概述​ MybatisPlus是一款Mybatis增强工具,用于简化开发,提高效率。 它在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。​ 官网: https://mp.baomidou.com/2.快速入门2.0 准备工作①准备数据CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `user_name` var

2022-05-19 15:16:01 1453

原创 SpringBoot-常见场景(下)-三更补充版

接上文(准备开始前后端分离的模式)准备工作:https://www.bilibili.com/video/BV1T54y1n7PB?p=43基本测试(数据库查询–可跳过,与springMVC整合步骤基本一致)因为是前后端分离的项目,所以最终方法的返回值都会放到请求体当中—>@RestController所有文件与之前测试的相同实体类import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstr

2022-05-12 20:27:53 861

原创 SpringBoot-常见场景(上)-三更补充版

SpringBoot-常见场景1.热部署(不是特别推荐)​ SpringBoot为我们提供了一个方便我们开发测试的工具dev-tools。使用后可以实现热部署的效果。当我们运行了程序后对程序进行了修改,程序会自动重启。​ 原理是使用了两个ClassLoder,一个ClassLoader加载哪些不会改变的类(第三方jar包),另一个ClassLoader加载会更改的类.称之为Restart ClassLoader,这样在有代码更改的时候,原来的Restart Classloader被丢弃,重新创建一个

2022-05-12 14:12:03 519

原创 SpringBoot-基础入门-三更草堂补充版

SpringBoot-基础入门-三更草堂1. SpringBoot简介1.1 为什么要学习SpringBoot​ 我们之前的SSM还是使用起来不够爽。还需要写很多的配置才能进行正常的使用。实现一个功能需要引入很多的依赖,尤其是要自己去维护依赖的版本,特别容易出现依赖冲突等问题。​ SpringBoot就能很好的解决上述问题。1.2 SpringBoot是什么​ Spring Boot是基于Spring开发的全新框架,相当于对Spring做了又一层封装。​ 其设计目的是用来简化Sprin

2022-05-12 09:50:21 1110

原创 SSM整合-三更补充版

SSM整合1.SSM整合1.0 步骤分析​ 我们先来分析下如何把Spring,SpringMVC,Mybatis整合到一起。1.0.1 步骤①Spring整合上Mybatis​ 通过Service层Dao层都注入Spring容器中②引入配置SpringMVC​ 把Controller层注入SpringMVC容器中③让web项目启动时自动读取Spring配置文件来创建Spring容器​ 可以使用ContextLoaderListener来实现Spring容器的创建。1.0.2 常见疑惑

2022-05-11 19:53:05 305

原创 SpringMVC-3.拦截器+功能-三更扩展版

SpringMVC-031.拦截器1.1 应用场景​ 如果我们想在多个Handler方法执行之前或者之后都进行一些处理,甚至某些情况下需要拦截掉,不让Handler方法执行。那么可以使用SpringMVC为我们提供的拦截器。(依赖AOP实现的效果)下图为2个handler方法1.2 拦截器和过滤器的区别​ 过滤器是在Servlet执行之前或者之后进行处理。而拦截器是对Handler(处理器)执行前后进行处理。如图:1.3 创建并配置拦截器①创建类实现HandlerInterceptor

2022-05-09 17:11:51 279

原创 SpringMVC-2.操作-三更扩展版

SpringMVC-021.类型转换器​ 虽然我们前面在获取参数时看起来非常轻松,但是在这个过程中是有可能出现一些问题的。​ 例如,请求参数为success=1 我们期望把这个请求参数获取出来赋值给一个Boolean类型的变量。​ 这里就会涉及到 Stirng-——>Boolean的类型转换了。实际上SpringMVC中内置了很多类型转换器来进行类型转换。也有专门进行Stirng-——>Boolean类型转换的转换器StringToBooleanConverter。​ 如果

2022-05-08 20:07:01 247

原创 SpringMVC-1.入门与请求-三更扩展版

SpringMVC-011.SpringMVC概述​ Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的MVC 框架之一。​ 一种轻量级的、基于MVC的Web层应用框架。它能让我们对请求数据的出来,响应数据的处理,页面的跳转等等常见的web操作变得更加简单方便。2.入门案例①导入相关依赖 <dependencies> <!-- servlet依赖 --> <dependency>

2022-05-08 16:43:02 355

原创 spring-AOP+整合-三更扩展版

Spring-031. AOP1.1 概念​ AOP为Aspect Oriented Programming的缩写,意为:面向切面编程。他是一种可以在不修改原来的核心代码的情况下给程序动态统一进行增强的一种技术。​ SpringAOP: 批量对Spring容器中bean的方法做增强,并且这种增强不会与原来方法中的代码耦合。1.2 快速入门1.2.1 需求​ 要求让_08_SpringAOP模块中service包下所有类的所有方法在调用前都输出:方法被调用了。1.2.2 准备工作①添加依

2022-05-07 14:50:03 561

空空如也

空空如也

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

TA关注的人

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