- 博客(74)
- 收藏
- 关注
原创 ReAct论文解读(2)—方法介绍
ReAct introduces a novel approach where large language models (LLMs) interleave reasoning traces and task-specific actions synergistically. This enables dynamic reasoning to guide actions while leveraging external information
2025-07-14 10:51:31
1141
原创 ReAct论文解读(1)—什么是ReAct?
摘要:ReAct是一种结合推理(Reasoning)与行动(Acting)的大语言模型提示方法,由Google于2022年提出。它让模型不仅能分步思考,还能主动调用工具(如API)获取外部信息,形成"思考-行动-观察-回答"的闭环流程。与传统Chain-of-Thought(CoT)单纯推理不同,ReAct强调动态交互能力,适用于需要实时数据查询、多步骤任务等场景,显著提升了模型解决复杂问题的能力。典型应用包括工具增强型问答、实时信息检索和任务规划等场景。
2025-07-13 15:25:56
792
原创 Transformer论文详细解读(3)之Attention简单理解
Transformer中的注意力机制通过查询(Query)、键(Key)和值(Value)三个向量实现信息筛选。查询向量表示当前需求,键向量衡量输入相关性,值向量包含实际信息。计算流程包括:1)用点积计算查询与键的相似度;2)通过Softmax转化为权重;3)对值向量加权求和得到输出。这种机制能动态聚焦重要信息,如在翻译任务中,模型会自动关注与当前输出词最相关的输入词。整个过程实现了对输入的选择性关注,是Transformer的核心设计。
2025-07-09 16:42:14
741
原创 Transformer论文详细解读(2)之Encoder与Decoder
本文深入解析Transformer模型中的编码器(Encoder)与解码器(Decoder)结构。编码器由6层相同模块堆叠而成,每层包含多头自注意力机制和位置式前馈网络,使用残差连接和层归一化优化训练。解码器同样采用6层结构,在编码器基础上增加第三层用于处理编码器输出,并采用掩码自注意力确保自回归生成。文章详细介绍了各组件的工作原理,包括注意力机制如何捕捉词间关系、残差连接防止梯度消失、层归一化稳定训练等关键设计,为理解Transformer的核心架构提供了清晰的技术脉络。
2025-07-04 11:26:28
1206
原创 Transformer论文详细解读(1)
本文介绍了Transformer论文的Abstract、Introduction、Background以及模型整体架构Model Architecture
2025-07-04 10:39:01
986
原创 RAG流程总结
RAG流程分为检索和生成两个阶段:首先将知识库数据切块并编码为向量存储在向量数据库中;用户查询同样被编码后,通过向量相似度检索相关文档片段。然后将检索结果与原始问题拼接,输入大语言模型生成最终回答。整个流程中,大语言模型被调用两次:第一次用于生成查询和文档的向量表示,第二次用于整合检索信息生成自然语言回答。这种架构既保证了信息检索的准确性,又确保了回答的流畅性和上下文相关性。
2025-07-02 11:03:04
652
原创 反向传播 & 梯度消失
反向传播与梯度消失问题。反向传播是神经网络训练的核心算法,通过链式法则计算梯度并反向传播误差,以更新网络参数(权重和偏置)。其过程包括:前向传播计算输出→计算损失函数误差→反向传播梯度→参数优化→迭代训练。 梯度消失是深层网络的常见问题,由于反向传播时梯度逐层缩小(尤其在使用sigmoid/tanh激活函数时),导致网络前层参数更新缓慢甚至停滞。这严重影响深层网络的训练效果,使早期层难以学习有效特征。解决该问题需要改进激活函数或采用残差连接等技术。
2025-07-01 21:28:38
864
原创 深度学习常见的激活函数
本文介绍了五种常用激活函数及其特性: Sigmoid:输出范围(0,1),适用于二分类但存在梯度消失问题; ReLU:简单高效(输出≥0),但可能导致神经元死亡; Tanh:输出(-1,1)中心对称,有助于收敛但仍会梯度消失; Linear:恒等映射,适用于回归但缺乏非线性; Softmax:将输入转化为概率分布(总和为1),多分类任务首选。文末对比表总结了各函数的输出范围、优缺点,并附函数图像直观展示其形态差异。
2025-07-01 21:21:25
838
原创 大模型提示词技巧
本文介绍了大语言模型的关键参数设置和提示词设计技巧。参数设置包括Temperature(控制输出随机性)、Top_p(核采样技术)、Max Length(控制生成长度)等,建议针对不同任务调整参数。提示词设计应包含指令、上下文等要素,遵循迭代优化原则,强调具体性和避免模糊表述。文章推荐使用正向指令并提供了结构化提示词示例。参数调整和提示词设计都需要大量实验来确定最优方案。
2025-06-30 17:03:59
950
原创 维纳滤波器
维纳滤波是一种基于最小均方误差准则的信号降噪方法。本文介绍了离散时域维纳滤波的推导过程,通过正交原理建立维纳-霍普夫方程,求解最优滤波器系数。当观测信号x[n]包含真实信号y[n]和噪声v[n]时,滤波器设计需要真实信号和噪声的自相关函数Ryy和Rvv。最终滤波器系数可通过矩阵运算h=Rxx^(-1)Rxy求解,其中Rxx=Ryy+Rvv,Rxy=Ryy。该方法适用于信号与噪声统计特性已知的场景,为语音、图像等信号处理提供了理论基础。
2025-06-25 16:29:05
941
原创 《Learning Langchain》阅读笔记11-RAG(7)索引优化:RAPTOR方法和ColBERT方法
介绍两种方法:RAPTOR:用于树状检索的递归抽象处理,ColBERT:优化嵌入,这两种方法都更适用于多个文档检索的情况,尤其是第二个ColBERT方法。
2025-04-28 12:53:18
987
原创 《Learning Langchain》阅读笔记10-RAG(6)索引优化:MultiVectorRetriever方法
介绍langchain中RAG索引优化的MultiVectorRetriever方法
2025-04-27 17:30:37
1076
原创 《Learning Langchain》阅读笔记9-RAG(5)跟踪文档的更改
首先,你需要创建一个记录管理器(record manager),用于追踪哪些文档之前已经被索引过。然后,使用 index 函数 将你的向量存储(vector store)与新的文档列表进行同步。在这个示例中,我们使用的是增量模式(incremental mode),因此任何与之前已有文档 ID 相同的新文档,都会用新版本进行替换。
2025-04-26 13:18:38
594
原创 《Learning Langchain》阅读笔记8-RAG(4)在vector store中存储embbdings
本小节我们学习了如何在vector store中存储embeddings,并且使用了PostgreSQL数据库。通过docker连接数据库,还通过插件PGVector这个为 PostgreSQL 数据库设计的向量(embedding)存储与相似度搜索插件,使得你可以在 PostgreSQL 中直接存储向量,并进行高效的相似度检索(vector similarity search)。最后还使用了免费的可视化PostgreSQL数据库的软件pgAdmin对数据库的tables中的数据进行查看。
2025-04-25 18:17:37
1349
原创 《Learning Langchain》阅读笔记7-RAG(3)生成embeddings
在前面的部分中,我们已经学习了如何将文档读取为文本以及如何将文本切分为chunks,这一节我们来讲讲如何生成文本嵌入embeddings。
2025-04-24 11:51:05
468
原创 《Learning Langchain》阅读笔记6-RAG(2)将文本分成块
上一章中,我们已经将文档转换为文本,在langchain_community.document_loaders中调用合适的loader,以加载不同类型的文件比如.txt、.pdf等。下一步,我们将要将文本分为chunks,也就是将文本分为块。
2025-04-23 11:35:15
1095
原创 《Learning Langchain》阅读笔记5-RAG(1)将文档转换为文本
在上一章中,我们学习了使用 LangChain 创建 LLM 应用程序的重要构建块。我们还构建了一个简单的 AI 聊天机器人,它由发送给模型的提示和模型生成的输出组成。但是,这个简单的聊天机器人存在一些主要限制。如果你的使用场景需要模型未曾训练过的知识怎么办?例如,假设你想使用 AI 询问有关公司的问题,但信息包含在私人 PDF 或其他类型的文档中。
2025-04-21 17:33:33
651
原创 《Learning Langchain》阅读笔记4-基于 Gemini 的 Langchain:组装 LLM 应用的多个部分
到目前为止,我们所了解的关键组件是LangChain框架的基本构建块。这就引出了一个关键问题:我们如何有效地结合它们来构建LLM应用程序?
2025-04-20 16:40:46
1089
原创 《Learning Langchain》阅读笔记3-基于 Gemini 的 Langchain如何从LLMs中获取特定格式
在某些情况下,我们需要 LLM 生成结构化输出,即以机器可读格式(如 JSON、XML 或 CSV)或甚至以编程语言(如 Python 或 JavaScript)生成的输出。当我们打算将该输出传递给其他代码时,这非常有用,使 LLM 可以在更大的应用程序中发挥作用。
2025-04-18 12:48:02
553
原创 《Learning Langchain》阅读笔记2-基于 Gemini 的 Langchain PromptTemplate 实现方式
本文将使用Gemini实现《Learning Langchain》中的PromptTemplate 实现方式,替代书中的调用openai API,白嫖太香了!
2025-04-17 12:29:28
975
原创 jupyter中切换Anaconda虚拟环境
jupyter中切换虚拟环境,查看anaconda中有哪些虚拟环境切换并且查看是否已经有ipykernel,下载langchain
2025-04-15 11:01:33
589
原创 《Learning Langchain》阅读笔记1-前置知识
《Learning Langchain》LLM基本知识,本文可能会一笔带过,着重记录那些需要理解记忆的知识。
2025-04-14 17:48:54
812
原创 A Brief History: from GPT-1 to GPT-3
This is my reading notes of 《Developing Apps with GPT-4 and ChatGPT》.In this section, we will introduce the evolution of the OpenAI GPT medels from GPT-1 to GPT-4.In mid-2018, OpenAI published a paper titled “Improving Language Understanding by Generative
2025-03-26 20:45:12
1430
原创 LeetCode hot 100 每日一题(17)——160.相交链表
这是一道难度为简单的题目,让我们来看看题目描述:给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构。104105。
2025-03-26 10:48:57
1022
原创 GPT-4 and ChatGPT Essentials
This is my reading notes of 《Developing Apps with GPT-4 and ChatGPT》.
2025-03-24 21:47:35
1406
1
原创 LeetCode hot 100 每日一题(15)——48.旋转图像
这是一道难度为中等的题目,让我们来看看题目描述:给定一个 n × n 的二维矩阵matrix表示一个图像。请你将图像顺时针旋转 90 度。你必须在旋转图像,这意味着你需要直接修改输入的二维矩阵。使用另一个矩阵来旋转图像。
2025-03-24 20:14:29
495
原创 LeetCode hot 100 每日一题(14)——54.螺旋矩阵
你可以试着将这个螺旋遍历过程拆分成四个简单的步骤,每一步只关注一个方向,并记住一个顺时针的遍历顺序:从左到右、从上到下、从右到左、从下到上。想象矩阵就像一层层的“洋葱皮”。每一层的遍历就是围绕这个“洋葱”走一圈,你只需要记住当前层的边界,然后按照顺时针方向依次执行四个步骤。你可以编一个简单的口诀,比如“左到右,上到底,右到左,下到上”。每完成一圈后,再调整边界,重复这个过程。
2025-03-24 19:46:12
578
原创 LeetCode hot 100 每日一题(13)——73. 矩阵置零
这是一道难度为中等的题目,让我们来看看题目描述:给定一个_m_ x _n_的矩阵,如果一个元素为,则将其所在行和列的所有元素都设为。请使用算法。231231。
2025-03-22 11:18:36
836
原创 LeetCode hot 100 每日一题(12)——238.除自身以外数组的乘积
这是一道难度为中等的题目,我们来看看题目描述:给你一个整数数组nums,返回 数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据数组nums之中任意元素的全部前缀元素和后缀的乘积都在整数范围内。请且在O(n)时间复杂度内完成此题。
2025-03-20 20:16:15
682
原创 LeetCode hot 100 每日一题(11)——189. 轮转数组
这是一道难度为中等的题目,让我们来看看题目描述:给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。向右轮转 1 步:向右轮转 2 步:向右轮转 3 步:向右轮转 1 步: [99,-1,-100,3]向右轮转 2 步: [3,99,-1,-100]105−231231105。
2025-03-20 19:37:54
931
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人