- 博客(34)
- 收藏
- 关注
原创 互联网架构演进精读:从单机到云原生
本文基于经典互联网架构演进故事,详细拆解了技术架构从单机应用逐步发展为云原生体系的完整过程。每个阶段的变化都由业务需求推动,解决了特定的性能、可用性或维护性问题。参考视频:【互联网架构就这?1个故事讲清楚】 https://www.bilibili.com/video/BV1M15Q6eEhL/?
2026-05-29 15:02:36
1001
原创 git同时包含gitee和github的操作
最近我开始尝试把代码同步到 GitHub,结果在一开始就遇到了各种报错。折腾了一下午,从“认证失败”到“连接超时”全部踩了个遍。本文记录我的调试全过程,希望能帮到同样从 Gitee 转向 GitHub 的朋友。
2026-05-28 20:00:00
424
原创 A Comprehensive Survey on Large Language Models--论文精读(下)
截至2025年底,超过500篇文献: 以Transformer架构为基石,沿着“基座模型训练 → 能力激发 → 自主智能体”的技术栈,系统梳理LLM生态系统的全生命周期。
2026-05-27 17:11:13
463
原创 A Comprehensive Survey on Large Language Models--论文精度(上)
大型语言模型技术演进综述 本文系统梳理了大型语言模型(LLMs)的技术发展脉络,围绕Transformer架构展开分析。模型架构方面,Decoder-only范式凭借通用性和高效性成为主流,其核心组件如GQA注意力、RoPE位置编码等持续优化;同时探讨了SSM和MoE等新兴架构的潜力与局限。预训练阶段,因果语言建模(CLM)被证实为最有效目标,数据质量与配比、缩放定律的应用是关键成功因素。基础模型生态呈现闭源巨头、开源社区和新兴势力三足鼎立格局。在微调领域,LoRA等参数高效方法解决了全量微调的资源瓶颈问题
2026-05-13 18:07:06
322
原创 LLM-Based Human-Agent Collaboration and Interaction Systems: A Survey 精读笔记
本文系统综述了LLM驱动的人机协作系统(LLM-HAS),提出了五维分析框架,包括环境与画像、人类反馈、交互类型、编排范式和通信模式。研究指出全自主Agent存在可靠性、复杂任务处理和安全伦理三大缺陷,强调人机协作的必要性。文章梳理了不同应用场景的协作模式特点,揭示了当前研究的核心矛盾:人类介入程度难以平衡、模拟与真实用户的差距、任务策略的效率与灵活性对立。最后提出了四个未来研究方向:建立包含人力成本的评估体系、开发主动辅助人类的Agent、解决交互安全隐私问题、弥合模拟与真实用户的鸿沟。该研究为人机协作系
2026-05-13 09:00:00
355
原创 A survey on large language model based autonomous agents —— 论文精读
自主智能体(Autonomous Agent)长期以来被视为实现通用人工智能(AGI)的一条有希望的道路。传统方法通常依赖强化学习在受限环境中训练智能体,但这与人类的开放域学习过程相去甚远。近年来,大型语言模型(LLMs)通过大规模网络语料的训练,展现出了人类级智能的潜力。以 LLM 为核心控制器来构建自主智能体,使其能够进行自主规划和行动。与传统强化学习智能体相比,LLM 智能体拥有更全面的世界知识,并提供了更灵活、可解释的自然语言交互界面。
2026-05-12 16:49:27
488
原创 python安装对应的环境
我们都知道在开源项目中需要安装对应的环境,一般会保存在项目的requirements.txt文件中,但是可能会有的人像主播一样不知道如何安装,或者记不起来,对于conda环境(正常的python环境也是一样的,少了激活环境这一个步骤),接下来有两种方法。然后直接使用:pip install -r requirements.txt。然后激活对应的conda环境:conda activate 对应环境。打开终端,到对应目录中,会直接显示你当前所在的文件夹下面,例如。这就是安装文件的两种方法,仅供参考。
2026-04-26 14:35:33
36
原创 梯度下降理解
梯度下降往往伴随着反向传播,目的是使得损失函数的指达到最小。对于神经网络类的问题,首先是前向传播拿到预测值,然后再算出损失函数,之后反向传播,这个过程中朝着梯度的反方向对参数进行修正。使用到了链式求导法则,求偏导。梯度告诉我们函数增大最快的方向,学习率控制想着增大方向迈的步子。用经典的爬山和山谷的例子来近似。
2026-04-14 15:14:34
30
原创 anaconda安装包特别慢
最后直接在anaconda界面使用pip install package进行安装,最后加上一个镜像源直接就安装好了。本人在许久没用过anaconda后想要重新创建环境然后安装新的包,结果发现使用conda install package特别慢,而且等很久也不成功。首先清华的镜像源是成功配置了的,然后缓存也清除了,后序在pycharm里面也直接使用包进行安装了,也是非常的慢。最后留下一个疑问,就是为什么我在anaconda上可以看到我安装了jupyter包,如下图。
2026-02-05 11:48:26
251
1
原创 支付宝sdk导入错误
无法解析 文件 'D:\code\last_work\school_mini_program\sky-take-out\other\alipay-sdk-java-4.23.26.ALL.jar'一开始想将支付宝支付导入java,结果导入sdk一直显示报错,找不到依赖项,也就是报错,红色的。一个破bug搞了两天,真的有点崩溃了,写一篇blog记录一下,以免有人和我一样陷入错误。然后发现本文件下是有多个工程的,在子工程中,再次导入。就可以下载了,也不知道是什么原因,真的很莫名其妙。
2026-01-27 11:23:18
140
1
原创 Deepseek的api调用报错乱码问题
错误信息中有一部分乱码,看起来像是中文系统下的错误提示,可能是“powershell 不是内部或外部命令,也不是可运行的程序或批处理文件”。这通常意味着系统找不到PowerShell的执行路径。最近的deepseek也是很火,但是在调用api的过程中也会出现一些大大小小的问题,所以这里也给出一种问题和他的解决方案,报错的类型如下图所示。如果无输出,说明系统未正确识别PowerShell路径。最后重启vscode再调用api进行问答就可以使用了。重启VSCode,再次尝试执行命令。,搜索“环境变量”,选择。
2025-01-28 13:14:13
4096
原创 27.移除元素
主要是对边界的考虑,当左侧指针刚好等于右侧指针的时候,此时判断是否还等于val,如果等于val就不需要再对做操作,右指针向左移动,左指针不动,左指针之前的元素都是不等于val的元素(不包含左指针指向的元素)。进入循环,当左指针指向的元素不等于val那么就对左指针进行++操作向后移动,表明这些元素都是需要保存的,当等于val的时候就需要和右边的进行交换,此时右边的可能也为val,所以交换之后只对右指针进行--操作,对左指针再进行一次判断,看其是否等于val,如果等于val,再继续进行判断操作。
2024-12-16 20:47:00
465
原创 pta 7-4制作评分器
制作评分器只用到了一个类,反正过了就行7-4 制作评分器分数 50全屏浏览切换布局作者 jolie单位 佳木斯大学本题目要编写一个评分器。创建考试后,当输入做题总数和错题数时自动求出分数代码中包含两个类,分别是:1、父类Grade负责将成绩分成级别,如,A:100-90;B:89-80;C:79-70;D:69-60;F:低于60分私有成员:字符变量letter---- 表示成绩的级别,如‘A’、‘B’等单精度浮点变量score---表示真实分数。
2024-04-03 11:12:35
1699
1
原创 PTA6-4 计算两点之间距离(友元函数)
输出两个点p1和p2之间的距离,要求输出结果必须保留两位小数。其中p1和p2都是用户传入的参数。函数须计算p1和p2的距离并输出,要求输出结果必须保留两位小数。
2024-03-27 10:43:45
2672
原创 关于C++this指针
那么肯定会好奇,this作为一个指针,他到底的指向是什么呢,哈哈,其实大家应该都知道,指向的肯定是当前类的空间,不然怎么去访问类内的成员呢。总所周知,指针类型在C++/C中占据的内存是四个字节,那么this作为一个指针,是否也是占用四个字节呢,此时定义一个类对象有一个int类型的值,如果this指针也占据类内的空间,那么sizeof(class)就是8,但是如果去写的话就会发现,此时类的size是4,所以this指针是不占据类对象的内存的。如果此时需要传入指针的话,那么传入的是什么指针呢?
2024-03-16 22:25:58
563
1
原创 关于TortoiseGit删除分支的操作
进去之后是这样的界面,但是此时该分支没有同步到仓库上去,同步到仓库上去的话就直接在分支栏选中你新建的那个分支,然后切换至该分支下(此时需要做的操作就是再点进去,然后push,将该仓库推送到你的仓库中去),以下就默认你将没用的分支推送到仓库中去了,然后需要删除。然后就可以点击删除了,接下来就是确认删除的操作,但是需要看清楚分支的结构,此时删除的只是你目前仓库的本地分支(意思差不多),如果此时点进去你自己的仓库还是保留有该分支的,所以需要点击该页面的remote,删除你保存在仓库中的远程分支。
2024-03-16 10:54:38
1839
1
原创 Leetcode 34.在排序数组中查找元素的第一个和最后一个位置
对于我之前在做二分查找类题目的时候,改变条件的时候老是将左/右指针直接变化为mid的位置上,事实上,如果当mid位置上的元素不等于target的时候,mid位置上的元素就属于一个已知状态,可以直接舍去这个位置的值,直接将left/right = mid-1/+1,这样子循环结束的条件就可以不需要很麻烦的判断,且所有可能的元素都能够在这个过程中被遍历到。请你找出给定目标值在数组中的开始位置和结束位置。你必须设计并实现时间复杂度为。
2024-03-02 21:15:00
454
1
原创 Leetcode 524.通过删除字母匹配到字典里最长的单词
对于刚看到题目其实我一开始的想法是先解决字符串匹配的问题,想到用双指针sp(表示指向sp的指针)和dp(表示对应dic的指针),分别对s串和dic串中的某个元素进行判断,当相等的时候就两个指针都++,不相等的时候就只加s串的指针,表示删除s串中的元素,然后继续进行匹配,当成功匹配的时候,即dp指针的大小和当前dic串的长度一样的时候,表示匹配成功,否则表示匹配失败。输入:s = "abpcplea", dictionary = ["ale","apple","monkey","plea"]
2024-03-01 21:30:00
436
原创 Leetcode 69.X的平方根
题目要求用二分法,但是此时m的平方不一定会刚好等于目标数字,所以需要进行双层判断,即如果当前的m平方小于x且(m+1)的平方大于x,则表示此时x的开根号取整部分刚好为m,此时返回m就行,但是此时有个问题就是m一开始为x/2,当x很大的时候他的平方根肯定很大,所以此时将他们都设置为long类型以防止符号溢出,然后看了Leetcode的官方解题有的是用double双精度浮点小数类型来解题的,也能够算出,而且运行时间还更少,搞不太清楚是为什么,如果有知道的欢迎指正交流,谢谢大家。以上代码思路仅限个人思路,如
2024-03-01 19:45:00
409
原创 Leetcode 680.验证回文串
但是此时会陷入局部最优解,比如如果此时字符串是abquuauuquba,对于这个字符串,从左向右判断,也就是在else条件中先判断left+1是否等于right的话,是等于的情况,所以会将左边的q删除,但是实际情况是应该删除右边的u才能得到最好的解,所以需要将else里面的条件改为right-1是否等于left再来判断一次,才能够避免陷入局部最优解。请你判断 s 是否能成为回文字符串:如果能,返回 true;输入:s = "abca"输入:s = "aba"输入:s = "abc"
2024-02-29 21:45:00
487
原创 Leetcode 142.环形链表
当两者相遇的时候,则表示他们之间必定有环,设整个链表长度为a(既是结点数也是链条数)环的长度为b(环的长度也包括走到最后结点重新指向进入环结点那条线),不在环的长度为c,当两者相遇的时候,因为q的步长数q的两倍,所以此时q走的步数qstep = 2*pstep,且此时q一定走过了至少一个环,假设此时是走过一个环的情况,那么就有,qstep = b + pstep。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。输出:返回索引为 1 的链表节点。
2024-02-29 20:15:00
430
原创 Leetcode 88.合并两个有序数组
所以我有另一种想法就是将第一个数组指针上的元素和第二个数组指针对应的元素比较,如果第一指针1指向的元素小那么就指针1++,如果第二个指针指向的元素小,那么就将指针2指向的元素和指针1的元素互换,然后继续执行循环,left再++,但是像这样的话又考虑不了交换的nums1原来的元素和nums2后面的元素大小,放置的位置又有问题,且right指针在这个过程中一直不变,导致有很多细节上的问题出现。输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。
2024-02-28 21:15:00
409
1
原创 Leetcode 633.平方数之和
但是如果设置一个中间变量flag初始化为false,当while循环里进入else,就将flag设置为true,然后break退出循环,再将flag给return给函数返回值,此时的时间为0ms。的思路一样,只不过将数组的元素换成了整数的平方,解题思路和想法以及为什么没有信息损耗都是一样的解释,但是唯一要注意的问题就是代码中符号溢出的问题,当输入的数数字非常大时,右指针肯动不会出现该情况,左指针也不会,就是左指针和右指针相加的时候会导致符号溢出,所以要将num和l或者r设置为long型的元素。
2024-02-27 23:15:00
372
原创 Leetcode 665.非递减数列
我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。给你一个长度为 n 的整数数组 nums ,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。解释: 你可以通过把第一个 4 变成 1 来使得它成为一个非递减数列。解释: 你不能在只改变一个元素的情况下将其变为非递减数列。输入: nums = [4,2,3]输入: nums = [4,2,1]
2024-02-26 19:45:00
421
1
原创 Leetcode 763.划分字母区间
我的想法是,创建一个字符串fs来保存当前遍历到的字母,然后再对fs里面的字母进行遍历,当fs中的所有字母都不在后续的s串中出现的时候,当前的字母组成个数可以是一个最小的字母区间,且每遍历一个字母,需要判断该字母是否在fs中是否有,如果有的话,那么就不做改变,如果没有的话就将该字母push_back进入字符串,最坏时间复杂度应该是O(n²)。像 "ababcbacadefegde", "hijhklij" 这样的划分是错误的,因为划分的片段数较少。输入:s = "eccbbbbdec"输出:[9,7,8]
2024-02-25 21:45:00
384
原创 Leetcode 167.两数之和Ⅱ-输入有序数组
因为题目已经给了数组是有序的,所以可以直接利用该条件,寻找目标值target,将right设置为数组长度-1也就是最右端的值,left设置为数组的初始值0,先对当前状态进行判断,如果当前数组下标left和right的和小于target,说明值小了,表示数组的left需要像右移,就可以增大numbers[left]+number[right]的值以来满足增大从而达到像target值靠拢的目的。又因为数组是从1开始的,所以left和right都需要++
2024-02-25 16:58:01
509
原创 Leetcode 452.用最少数量的箭引爆气球
墙面上的气球记录在整数数组 points ,其中points[i] = [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。输入:points = [[10,16],[2,8],[1,6],[7,12]]输入:points = [[1,2],[3,4],[5,6],[7,8]]输入:points = [[1,2],[2,3],[3,4],[4,5]]- 在x = 2处发射箭,击破气球[1,2]和[2,3]。-在x = 6处射出箭,击破气球[2,8]和[1,6]。
2024-02-24 21:00:00
438
1
原创 Leetcode 435.无重叠区间
说说我自己一开始的思路,先将所有数组按照第一个元素,也就是起始区间左端点的位置大小来进行排序,再用一个变量num来记录此时对应的最小区间右端点的位置是多少(因为需要考虑的是移除最少的区间,所以是求当前所有相同左端点的最小右端点,即区间长度最小值),然后通过对数组进行遍历,如果是和原来数组重叠的区间,那么就舍去(也就是变量count++),否则的话就直接跳过,然后将新的右端点重新赋值为num。输入: intervals = [[1,2],[2,3],[3,4],[1,3]]
2024-02-23 23:21:29
390
2
原创 Leetcode 135.分发糖果
其实这里我并不是很明白为什么对数组进行两次循环的判断就好了,这个代码不是我自己写的,我个人对这个代码进行分析是,刚开始当考虑只右侧的人比左侧的人多的情况,然后再从右往左考虑一遍,不明白是怎么想先到这个思路的,如果是遍历一遍数组的时候,当右边大于左边时,右侧+1,那么当右边不大于左边的话是不是左边可以进行一个+1操作,但是如果此时左边又进行了一次+1操作的话,那么左边的左边是否又需要进行变换,这样的话就牵扯到了所有前面的元素,所以先整体从左往右考虑一次,然后再从右往左遍历一次,这样子就可以避免那种连锁反应。
2024-02-23 23:00:34
475
原创 Leetcode 445.分发饼干
对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;对每个孩子和不同孩子的胃口进行考虑,可以考虑从小往大满足,首先都需要先对两个数组进行排序,也可以先用最大的饼干来满足相应胃口的孩子,如果不能满足,那么就判断能否满足下一个孩子的胃口。虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。你有两个孩子和三块小饼干,2个孩子的胃口值分别是1,2。输入: g = [1,2,3], s = [1,1]
2024-02-23 22:47:04
388
原创 Leetcode-9.回文数
2:看了Leetcode上的解题,有个方法很好,就是将sum只判断一半的数字然后再和前面一半的x进行比较,这样如果sum是int类型的话就不会有溢出的情况了,但是还需要加一个判断方式,就是如果位数是奇数的话,那么中间那一位是不需要看的,一定是对称的,所以将奇数的那一位除去也行,加上也行,也就是下面这段代码。4:用python的str转换可以更简单的实现,其中可以用我在网上查到的循环反向迭代法,也可以将str转换为列表,然后再用列表的reverse方法逆置,最后判断两个是否相等,例如下图。
2023-11-05 15:07:57
119
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅