- 博客(108)
- 收藏
- 关注
原创 程序员转行学习 AI 大模型:模型评估| 附清晰概念分类
本文是程序员转行学习AI大模型的第19个核心知识点笔记,附完整可运行代码。当前阶段:还在学习知识点,由点及面,从 0 到 1 搭建 AI 大模型知识体系中。
2026-03-29 17:00:00
397
原创 程序员转行学习 AI 大模型:大模型安全与对齐| 附清晰概念分类
本文是程序员转行学习AI大模型的第18个核心知识点笔记,附完整可运行代码。当前阶段:还在学习知识点,由点及面,从 0 到 1 搭建 AI 大模型知识体系中。
2026-03-29 15:00:00
290
原创 程序员转行学习 AI 大模型:模型微调快速入门实践| 附完整可运行代码
本文是 程序员 转行学习AI大模型的第17个核心知识点笔记,附完整可运行代码。当前阶段:还在学习知识点,由点及面,从 0 到 1 搭建 AI 大模型知识体系中。
2026-03-29 09:45:00
91
原创 程序员转行学习 AI 大模型: 踩坑记录:服务器内存不够,程序被killed
本文是程序员转行学习AI大模型的踩坑记录分享。当前阶段:还在学习知识点,由点及面,从 0 到 1 搭建 AI 大模型知识体系中。
2026-03-28 21:11:33
259
原创 程序员转行学习 AI 大模型: 踩坑记录,HuggingFace镜像设置未生效
本文是程序员转行学习AI大模型的踩坑记录分享。当前阶段:还在学习知识点,由点及面,从 0 到 1 搭建 AI 大模型知识体系中。
2026-03-28 21:09:49
215
原创 程序员转行学习 AI 大模型: 模型微调| 附清晰概念分类
本文系统梳理了AI大模型微调的核心概念与技术路线。首先区分了预训练(通用知识学习)与微调(领域知识训练)两个阶段,将微调方法按数据类型分为监督微调(SFT)和偏好优化(PO),按参数量分为全量微调与PEFT(含LoRA、Prefix Tuning等方法)。重点对比了DPO与PPO两种偏好优化算法的优缺点,并给出问答系统、对话助手等场景的微调方案建议。文章为开发者提供了从理论到实践的完整微调知识框架,特别强调资源效率与效果平衡的技术选型策略。
2026-03-28 21:06:47
416
原创 程序员转行学习 AI 大模型: Agent(智能体)| 附完整可运行代码
本文介绍了程序员转行学习AI大模型的核心知识点——智能体(Agent)的概念与实现。Agent作为能感知环境、决策执行的智能系统,包含LLM(大脑)、工具调用、记忆存储和任务规划四个核心组件。文章通过查询天气并发送提醒的示例,详细说明了Agent的内部运行流程,并提供了一个简单的Python实现代码,演示了如何构建具有天气查询和计算功能的对话式Agent。文中还推荐了相关学习资源,帮助读者从零开始构建AI智能体。
2026-03-27 19:50:50
401
原创 程序员转行学习 AI 大模型: RAG(检索增强生成)| 附清晰业务流程示例
本文介绍了RAG(检索增强生成)技术,这是程序员转行学习AI大模型的第14个核心知识点。RAG通过结合LLM和检索技术,利用外部知识库增强大模型生成能力。文章详细阐述了RAG的6个核心流程步骤:问题向量化、向量检索、文档排序、上下文构建、Prompt构建和LLM生成,并提供了Python代码示例。RAG的优势包括减少幻觉、提高准确性、可解释性强、易于更新知识库和成本可控。每个步骤都配有清晰的代码实现和输出示例,帮助读者理解如何从0到1构建AI大模型知识体系。
2026-03-27 19:47:36
278
原创 程序员转行学习 AI 大模型: Function Calling | 附清晰业务流程示例
本文介绍了AI大模型中的Function Calling功能,通过外部工具增强模型能力。文章以获取天气信息为例,展示了完整的实现流程:1)定义函数JSON Schema;2)开发者实现具体函数;3)LLM分析是否需要调用函数;4)开发者手动执行函数;5)将结果返回LLM生成最终回答。重点强调LLM仅负责分析需求和生成请求,不执行具体函数或调用API。文中提供了详细的Python代码示例,帮助理解Function Calling的实现机制。
2026-03-26 20:00:29
203
原创 程序员转行学习 AI 大模型: 提示词工程 | 附精选学习资料
本文介绍了程序员转行学习AI大模型的关键知识点——提示词工程。主要内容包括:模型参数设置(Temperature和Top_p)、提示词四要素(指令、上下文、输入数据、输出指示),以及提示词工程技术(少样本提示、链式思考CoT和自我一致性)。文章强调通过逐步引导和示例训练,可以提升模型处理复杂任务的能力,并推荐了相关学习资源。适合AI初学者构建大模型知识体系。
2026-03-26 19:59:01
75
原创 程序员转行学习 AI 大模型: 第一次如何调用大模型API | 附完整可运行代码
本文是程序员转行学习AI大模型的第11篇笔记,主要介绍了首次调用AI大模型的完整流程。内容包括:获取API密钥和基础URL、配置环境变量、选择模型名称等关键步骤,并提供了可直接运行的Python代码示例。文章详细说明了OpenAI客户端的使用方法、必需参数和常用可选参数(如temperature)的设置技巧,帮助开发者快速上手AI大模型调用。适合正在从零开始构建AI知识体系的开发者参考学习。
2026-03-26 19:56:41
467
原创 程序员转行学习AI大模型:Transformer完整实现
本文介绍了Transformer模型的整体结构及其实现细节。模型采用Encoder-Decoder架构,包含词嵌入层(wte)、位置编码层(wpe)、Dropout层、编码器(Encoder)和解码器(Decoder)等核心组件。特别讨论了LayerNorm的位置问题,指出实际实现中多采用"Pre-Norm"结构(归一化在Attention层前)而非论文中的"Post-Norm",因为前者能使训练更稳定。代码展示了完整的Transformer类实现,包括参数初始化、前
2026-03-25 19:55:51
348
原创 程序员转行学习AI大模型:位置编码
本文介绍了Transformer模型中的位置编码机制。位置编码通过为每个词添加包含位置信息的向量,解决了模型无法识别词序的问题。文章详细解释了正弦位置编码的实现原理,包括其数学公式和参数设置,并展示了位置编码与词向量相加的具体过程。此外,还对比了三种位置编码类型:正弦位置编码(固定公式、无需参数)、可学习位置编码(可优化但需参数)和旋转位置编码(适合长序列)。正弦位置编码因其简单性和可外推性被应用于原始Transformer模型,而BERT、GPT等模型则采用可学习的位置编码。
2026-03-25 19:54:35
763
原创 从0开始学AI:Embedding,原来是这回事!
本文介绍了自然语言处理中的分词器(Tokenizer)和词嵌入(Embedding)技术。Tokenizer将文本切分为tokens并转换为索引,常见方法包括词级别、子词级别和字符级别。文章展示了一个简单Tokenizer的实现,并介绍了HuggingFace预训练Tokenizer的使用。Embedding层则将索引转换为固定维度的向量表示,其核心是一个可训练的权重矩阵。通过Python代码示例,文章演示了如何实现和使用这些关键技术组件,为文本进入神经网络处理做好准备。
2026-03-25 19:52:12
68
原创 从0开始学AI:编码器-解码器,原来是这回事!
本文介绍了Transformer编码器模块的实现细节,主要包括四个核心子模块: 多头自注意力模块(MultiHeadAttention):通过线性变换生成Q/K/V矩阵,拆分为多个头计算注意力分数,最后合并输出并应用残差连接和dropout。 前馈神经网络(MLP):包含两个线性变换层和ReLU激活函数,用于特征非线性变换。 层归一化(LayerNorm):对每个样本的特征维度进行归一化处理。 残差连接:将模块输出与原始输入相加,缓解梯度消失问题。 编码器由多个EncoderLayer堆叠而成,每个层包含自
2026-03-24 20:13:29
270
原创 从0开始学AI:残差连接,原来是这回事!
残差连接通过在神经网络中将输入直接与输出相加(y=F(x)+x),有效缓解了梯度消失问题。对比实验显示,无残差连接时梯度从1衰减到0.5,而有残差连接时梯度增强到1.5。这种设计保留了原始信息,使深层网络更易训练。代码实现展示了残差块的结构:输入经过线性变换和激活后,与原始输入相加输出。关键优势在于梯度可直接通过恒等路径传播,即使网络层数很深也能保持稳定的训练效果。
2026-03-24 20:12:01
728
原创 从0开始学AI:层归一化,原来是这回事!
本文介绍了深度学习中两种主要的归一化方法:层归一化(Layer Norm)和批归一化(Batch Norm)。层归一化对每个样本的所有特征进行归一化,适用于变长序列和小批量场景,常用于Transformer和RNN;批归一化则对每个特征的所有样本进行归一化,适合固定长度和大批量数据,多用于CNN。文章详细演示了层归一化的计算步骤:计算均值μ和方差σ²,归一化处理,以及可学习参数γ和β的应用。通过Python代码示例,展示了单样本和批量数据的层归一化实现过程,验证了归一化后数据均值为0、标准差为1的特性。
2026-03-24 19:55:46
381
原创 从0开始学AI:前馈神经网络,原来是这回事!
前馈神经网络(FNN)是一种全连接的神经网络结构,由输入层、隐藏层和输出层组成。本文通过图示和代码实现展示了一个典型的Transformer前馈神经网络,包含512维输入、2048维隐藏层和512维输出。实现过程包括:线性变换1(d_model→d_ff)、ReLU激活函数、Dropout层和线性变换2(d_ff→d_model)。演示代码详细展示了各层的输入输出形状变化和数据转换过程,特别是ReLU函数将负数置零的特性。该结构是Transformer模型的核心组件之一。
2026-03-23 19:14:41
417
原创 Seq2Seq
Seq2Seq模型是一种序列到序列的深度学习架构,常用于翻译、摘要生成等任务。该模型采用编码器-解码器结构:编码器通过双向注意力机制理解输入序列,生成上下文向量;解码器基于上下文向量逐步生成输出序列。编码器适用于文本分类等理解任务,解码器擅长文本生成。本文详细介绍了Seq2Seq的工作原理,并提供了完整的PyTorch实现代码,展示了从输入处理到输出生成的全过程。模型通过Embedding层、Transformer编码器/解码器和线性投影层实现序列转换功能。
2026-03-21 17:23:56
293
原创 注意力机制拓展-大模型知识点(程序员转行AI大模型学习)
本文介绍了注意力机制的三个重要扩展版本。自注意力机制(self-attention)中Q、K、V来自同一序列,通过计算序列内部元素的相关性来捕捉特征。掩码注意力通过添加下三角掩码矩阵,实现只能关注已生成内容的功能,适用于序列生成任务。多头注意力则从多个角度并行计算注意力,将不同视角的特征拼接起来,增强模型的表达能力。文中通过搜索引擎查询的类比解释了这些机制的原理,并提供了对应的实现代码示例,展示了如何通过矩阵运算实现这些注意力变体。
2026-03-20 21:54:32
413
原创 注意力机制
并且这种数值无法解释相关性权重分配,如查询词 “python 教程”和网页标题【python 教程、python 项目、java 教程】,计算出来的相关性权重为【1,0,0】,另一组查询词“吃饭”和网页标题【吃饭、睡觉、写代码】,计算出来的相关性权重为【100,0,0】,这两种情况,我们都应该是关注第 1 个标题的内容,但数值差异 100 倍,不合逻辑。在注意力机制中,有三个词:q,k,v;我们会根据查询词和标题的相关性,分配不同的注意力分数,两者相关性越高,分配的注意力分数越高,q。
2026-03-19 21:34:43
448
原创 大模型RAG项目实战-知识库问答助手v1版
注意:在 Windows 下安装 Ollama 后,强烈建议通过配置环境变量来修改模型存储位置,不然就会默认存储在 C 盘目录下,而大模型文件一般都比较大。功能:将文本向量化后,存储到向量数据库中,这里用 Chroma 向量数据库,支持通过语义相似度进行搜索。功能:将分块后的文本,通过调用文本向量模型,进行向量化。功能:读取知识库文本文件,并将内容分割成多个段落块。功能:调用 AI 大模型,实现文本生成功能。根据官网指导,安装对应版本即可。
2025-04-07 23:11:57
511
原创 计算机基础之数字文本处理技术和文本输入方法
文本是人们通信的主要方式。在计算机中,文字是人与计算机之间信息交换的主要媒体,文字用二进制编码表示,也就是使用不同的编码来代表不同的文字。文本是各种文字的集合,是使用最多的一种符号媒体形式,是人与计算机交互作用的主要形式。文本是计算机文字处理程序的基础,也是多媒体应用程序的基础。常用的文本文件格式有TXT、RTF、DOC以及DOT等。
2024-02-29 22:02:38
1184
原创 计算机病毒详解
传统单机病毒主要以破坏计算机的软、硬件资源为目的,具有破坏性、传染性、隐蔽性和可触发性等特点。随着反病毒技术的不断发展,查毒和杀毒技术日益成熟,这些传统单机病毒已经比较少见了。网络病毒则主要通过计算机网络来传播,病毒程序一般利用操作系统中存在的漏洞,通过电子邮件附件和恶意网页浏览等方式来进行传播,其破坏性和危害性都非常大
2024-02-28 23:40:35
3510
原创 计算机之入侵检测系统和防火墙
入侵检测系统(Intrusion Detection System,IDS)指的是一种硬件或者软件系统,该系统对系统资源的非授权使用能够及时做出判断、记录和报警。
2024-02-27 22:01:06
1079
原创 万维网(WWW)服务:网页、URL与浏览器/服务器交互机制
万维网(World Wide Web,WWW),简称3W,也称为Web或环球信息网,是Internet上应用最广泛的一种服务。WWW由欧洲核物理研究中心(CERN)研制,其目的是为全球范围的科学家利用Internet进行通信、信息交流和信息查询。WWW是建立在客户机/服务器模型之上的。通过WWW,任何一个人都可以立即访问世界上每一个网页,进行查找、检索、浏览或发布信息。
2024-02-26 20:31:45
11878
原创 域名系统与IP地址分配
由于数字形式的IP地址难以记忆和理解,为此人们采用英文符号来表示IP地址,这就产生了域名,域名长度不超过255各字符,每一层域名长度不超过63个字符,由字符、数字或下划线组成,以字母开头,以字母或数字结尾。另外,域名中的英文字母不区分大小写
2024-02-25 22:17:54
1420
原创 认识IP地址:互联网通信的关键
在Internet上为每台计算机指定的唯一的地址称为IP地址(Internet Protocol Address),也称网际地址在IPv4中,IP地址由32位二进制数组成,分为4段,其中每8位构成一段。为了便于识别和表达,IP地址采用点分十进制形式表示,每8位为一组用一个十进制数表示,段与段之间用.隔开,这样,每段所能表示的十进制数的范围最大不超过255。
2024-02-24 22:13:03
1068
原创 无线局域网(WLAN)简单概述
无限局域网(Wireless Local Area Network,WLAN)是一种短距离无线通信组网技术,它是以无线信道为传输媒质构成的计算机网络,通过无线电传播技术来实现在空间传输数据。
2024-02-23 22:29:54
3911
原创 简单介绍有线局域网
有线局域网使用了各种不同的传输技术。它们大多使用铜线作为传输介质,但也有一些使用光纤。通常情况下,有线局域网的运行速度很快,延迟很低(微秒或纳秒级),而且很少发生错误。最新的局域网工作速率可达10Gbps。和无线局域网相比,有线局域网在性能的所有方面超过了它们。因为通过电线或通过光纤发送信号比通过空气发送信号更容易。
2024-02-22 23:12:06
1131
原创 计算机网络基础之计算机网络组成与分类
计算机网络是计算机技术与通信技术发展相结合的产物,并在用户需求的促进下得到进一步的发展。通信技术为计算机之间的数据传输和交换提供了必需的手段,而计算机技术又渗透到了通信领域,提高了通信网络的性能。
2024-02-21 21:49:48
1803
原创 面向对象分析和设计
软件工程学家Coad和Yourdon给出了一个定义:面向对象(Object-Oriented)=对象(Object)+继承(Inheritance)+通信(Communication)。如果一个软件系统是使用这样四个概念设计和实现的,则可以认为这个软件系统是面向对象的。一个面向对象的程序每一成分应是对象,计算是通过新对象的建立和对象之间的通信来完成。
2024-02-20 21:29:47
1030
原创 数据结构之线性表插入与删除运算
线性表,或称表,是一种非常灵便的结构,可以根据需要改变表的长度,也可以在表中任何位置对元素进行访问、插入或删除等操作。另外,还可以将多个表连接成一个表,或把一个表拆分成多个表。例如,26个英文字母的字母表:(A,B,C,......,Z)就是一个线性表,表中的数据元素是单个字母。在稍复杂的线性表中,一个数据元素可以包含若干个数据项。例如在学生基本信息表中,每个学生为一个数据元素,包括学号、姓名、性别、籍贯、专业等数据项。
2024-02-19 22:18:35
2190
原创 简单介绍数据结构的基本概念
数据(Data)是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。例如:整数、字符串、图形、图像、声音和动画等
2024-02-18 21:04:34
849
原创 程序的控制结构详解
在计算机刚出现的早期,它的价格昂贵、内存很小、速度慢。程序员为了在很小的内存中解决大量的科学计算问题,并为了节省昂贵的CPU机时费,不得不使用巧妙的手段和技术,手工编写各种高效的程度。其中显著的特点是程序中大量使用GOTO语句,使得程序结构混乱、可读性差、可维护性差、通用性更差。这些为结构化程序设计的技术奠定了理论基础结构化编程主要包括以下两个方面:在软件设计和实现过程中,提倡采用的模块化程序设计原则。
2024-02-17 22:24:56
675
原创 简单介绍源程序执行方式
程序设计语言能够把算法翻译成机器能够理解的可执行程序。这里将计算机不能直接执行的非机器语言源程序翻译成能直接执行的机器语言的语言翻译程序称为语言处理程序:用各种程序设计语言编写的程序称为源程序,计算机不能直接识别和执行:源程序必须由相应的汇编程序或编译程序翻译成机器能够识别的机器指令代码,计算机才能执行,这正是语言处理程序所要完成的任务。翻译后的机器语言程序称为目标程序:将汇编语言源程序翻译成机器语言程序的翻译程序称为汇编程序。
2024-02-13 22:16:20
674
原创 简单介绍算法的基本概念
计算机所进行的一切操作都是由程序决定的,程序是由人们事先编好并输入计算机的。一个程序包括以下两方面的内容:对的描述:在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式,即对的描述:对数据进行操作的方法和步骤的描述,也就是算法,算法用于解决“做什么”和“怎么做”的问题。数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。算法是程序的核心。
2024-02-11 22:06:14
704
原创 程序设计语言的组成
数据是程序操作的对象,具有存储类别、类型、名称、作用域和生存期等属性从不同角度可将数据进行不同的划分。数据类型的分类如下:按程序运行过程中数据的值能否改变,可分为常量(整型常量、实型常量、字符常量、符号常量)和变量。按数据的作用域范围可分为全局量和局部量。按数据组织形式的不同可分为基本类型、用户自定义类型、构造类型及其他类型。
2024-02-10 21:11:11
605
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅