- 博客(57)
- 收藏
- 关注
原创 Python中什么时候使用is和==?
``python# 定义两个学生相等的条件:学号相同print(s1 == s2) # True - 学号相同print(s1 is s2) # False - 不是同一个对象```1. **检查是否为None**:`if x is None:`2. **检查布尔值**:`if flag is True:` 或 `if flag is False:`3. **检查是否为同一个对象**:`if obj1 is obj2:`
2025-12-26 14:57:07
738
原创 RAG的一点思考
本文讨论了RAG框架中的文本切块与检索模块的异同。虽然文本切块与token化都涉及分割处理,但前者可按段落/页切分,后者则基于最小语义单元。在定位RAG效果问题时,需要同时考察检索和生成环节,建议通过可视化分块来诊断检索问题。作者还推荐了HuggingFace的教程作为学习Agent技术的优质资源。全文重点比较了两种文本处理方式的差异,并提供了RAG问题排查的实用建议。
2025-12-24 11:41:29
206
原创 hello-agents 笔记1
本文记录了作者从转Java转向专注大语言模型代码生成方向的学习历程。2025年12月10-12日,作者研读了《Hello-Agents》第一部分"智能体与语言模型基础",重点学习了智能体的发展历程:2024年"百模大战"后,2025年成为Agent元年。笔记详细分析了从反应式、规划式到混合式智能体的演进,以及PEAS模型(性能度量、环境、执行器、传感器)的应用。同时探讨了单智能体与多智能体的协作机制,并以AI编程为例说明workflow与agent的区别:任务越复杂个
2025-12-12 11:07:37
322
原创 论文复现 CodeRAG: Finding Relevant and Necessary Knowledge for Retrieval-Augmented Repository-Level Code
本文记录了复现仓库级代码补全论文CodeRAG的过程与思考。CodeRAG通过改进查询构建、多路径检索和重排序方法,在ReccEval和CCEval基准上取得显著提升。复现过程遇到环境配置、数据获取和模型替代等挑战,最终虽能跑通流程但指标与原论文差距较大(EM仅达10%)。作者反思指出,尽管失败带来挫败感,但这一过程提供了宝贵经验,包括跨平台开发注意事项、与论文作者的沟通技巧等。开源社区的支持和清晰的代码结构帮助解决了部分问题,但复现效果的差距也揭示了研究复现中难以避免的困难。
2025-11-28 10:26:46
710
原创 清华镜像源不允许安装cuda版本的pytorch了吗
切换清华镜像源之后,总是发现 fail to find cuda。如题,遇到的问题是安装torch 2.7.1时。最后发现是清华源被刺了我,他不拉取cuda版本。搞了一早上,重装了好多次。
2025-11-17 16:51:05
143
原创 leetcode 1124 表现良好的最长时间段
以一组数据为例:# 转换后s = 0first = {}ans =0if h>8:s += 1else:s -= 1if s>0:else:return ans。
2025-11-13 12:14:34
282
原创 leetcode 707 设计链表
你可以选择使用单链表或者双链表,设计并实现自己的链表。val和next。val是当前节点的值,next是指向下一个节点的指针/引用。如果是双向链表,则还需要属性prev以指示链表中的上一个节点。假设链表中的所有节点下标从开始。实现index-1valvalvalindexindexindexindex// 链表变为 1->2->3// 返回 2// 现在,链表变为 1->3// 返回 3getaddAtHeadaddAtTailaddAtIndex2000。
2025-11-10 16:06:34
336
原创 uv成功安装环境但是找不到模块
但通过普通的 pip install loguru 命令,依赖默认安装在了用户目录: C:\Users\ruyuz\AppData\Roaming\Python\Python312\site-packages。- 项目使用的是虚拟环境( .venv 目录),位于 C:\Users\ruyuz\Desktop\CodeRAG-main\.venv\Lib\site-packages。思考:conda,pip,uv使用的默认环境路径都不一致,所以默认读取路径不一致。
2025-10-29 16:43:42
329
原创 leetcode724 寻找数组的中心下标
给你一个整数数组nums,请计算数组的。数组是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为0,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有多个中心下标,应该返回的那一个。如果数组不存在中心下标,返回-1。3中心下标是 3。左侧数之和 sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11 ,
2025-10-14 23:34:24
277
原创 RAG Day06 查询重建
本文介绍了RAG(检索增强生成)中查询构建的关键作用,即将自然语言查询转换为数据库可理解的格式。通过B站视频数据的示例,展示了数据处理、向量存储和元数据配置的完整流程。核心部分使用自查询检索器将大模型与向量存储库连接,实现"时长大于600秒的视频"等条件查询。虽然模型能完成检索任务,但对"时间最短的视频"等排序查询仍有局限。代码逻辑清晰,遵循标准的数据处理-向量构建-文本对齐-结果输出流程,为理解查询构建提供了实践案例。
2025-09-30 17:39:57
422
原创 RAG Day05 混合检索
本文介绍了向量数据库检索技术,包括索引构建基础和检索方法分类。重点对比了稀疏向量(TF-IDF)和密集向量(深度学习模型)两种语义向量化方式,分析各自优缺点:稀疏向量可解释性强但忽略未登录词,密集向量语义表达更优但需大数据支持。提出混合检索方案可结合两者优势。文章还提及了Milvus实践中的技术难点,并感谢Datawhale开源的高质量教程。
2025-09-30 16:50:58
310
原创 RAGday02-数据加载和文本分块
本文对比了三种PDF解析策略(auto、hi_res、ocr_only)的差异。auto策略在结构识别和文本提取质量上表现最佳,适合结构化文档;hi_res策略能提取图像文字但分类不准确;ocr_only策略质量最差,错别字多且失去文档结构。建议优先使用auto策略,hi_res策略可作为补充。文章还介绍了文本分块方法,包括基于固定分隔符、递归算法和语义分块,并分析了不同分块策略的适用场景。
2025-09-19 16:15:07
938
原创 RAG学习day01-探索一个最小相关项目
RAG(检索增强生成)是一种结合大语言模型与外部知识库的技术流程。其核心步骤包括:文档加载分块、向量化存储、相似性检索,最后将问题及相关文本输入大模型生成答案。实验使用LangChain框架,通过调整文本分块参数(chunk_size/overlap)观察输出差异,并对比了LangChain与LlamaIndex的实现效果。项目采用BAAI/bge-small-zh中文嵌入模型和DeepSeek大模型,展示了从文档处理到答案生成的全流程,包括token消耗分析等元数据处理方法。
2025-09-16 15:01:01
865
原创 leetcode 21 合并两个有序链表
LeetCode 21题要求合并两个升序链表为一个新升序链表。解题提供递归和迭代两种方法:递归法通过比较节点值,将较小节点作为头节点并递归处理剩余部分;迭代法使用虚拟头节点逐个连接较小节点。时间复杂度均为O(m+n),空间复杂度递归法O(m+n)、迭代法O(1)。边界条件包括处理空链表情况。扩展思考涉及K个链表合并、降序排列调整及重复值处理等问题。
2025-09-14 15:45:12
356
原创 leetcode283 移动零
本文探讨了将数组中的零元素移动到末尾的两种解法。第一种使用双指针法,通过遍历数组并删除零元素后在末尾补零,时间复杂度更优;第二种采用循环方式,利用remove()和append()操作实现,但时间复杂度较高。两种方法都实现了原地修改数组的要求。文章指出Python内置函数在数据处理上的便利性,但强调算法选择应考虑效率问题。双指针法在数组修改场景中更为可靠,避免了索引失效问题。
2025-07-04 20:48:08
188
原创 leetcode128 最长连续序列
给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。4最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。93。
2025-07-03 23:20:15
351
原创 leetcode49 字母异位词分组
本文探讨了如何将字符串数组中的字母异位词分组。主要思路是利用哈希表(Python字典),将排序后的字符串作为键,原字符串作为值存储。作者尝试了两种实现方式:1)手动实现选择排序算法处理字符串排序;2)使用Python内置sorted()函数。文章详细比较了两种方法的差异,指出内置排序更简洁高效。同时总结了Python排序的关键知识点,包括sorted()与list.sort()的区别、key参数的使用、多级排序等。通过该问题,作者复习了排序算法和哈希表的应用,强调了代码健壮性的重要性。
2025-07-02 19:58:03
399
原创 leetcode hot100 两数之和
我用自己的话总结一下:哈希表本质就是一个存储空间+一个映射算法,完成了一个“每给定一个输入,就根据特定的算法将他映射入一个对应的地址中”,映射算法要保证1同一个输入每次映射到的地址是一样的,这样才可以查找2每个地址存储的数据均匀,都不是很多,这样方便高效查找。类比一下,就是收作业时,给全班同学编号,然后让大家按序号交,1-9交在一起,10-19交在一起,20-29交在一起,这样,如果你需要查询25,你就不用全都遍历,只需要查看20那一堆,是不是搜索效率一下子就上升了。如果大于目标值,那就需要增大小的那个;
2025-06-20 14:46:33
977
原创 EAGLE在linux20.04环境配置
最近要在linux服务器上配一下这个环境,因为不止一次,所以记录一下。没有wandb,安装版本有要求,见上面。
2025-03-24 15:32:23
348
原创 wandb使用遇到的一些问题
在本地(而非服务器)运行代码时,常常因为开启代理而无法使用wandb,如下图所示,必须关闭代理才能征程运行。原因还是那个经典的http和https,新版本的urllib3使用的是https,而代理仅支持http,降低代理版本即可。1.请问下如果电脑挂了代理,应该怎么办呢?提示:Networkerror(ProxyError),enteringretryloop.将wandb.init里面的entity删掉,project置为空(不知道不置空行不行)整合了一下使用wandb遇到的问题。
2025-01-17 23:12:38
2038
原创 西电保研二三事
思政问题没什么好说的,自我介绍的重点在简历上,自己的简历一定要整洁干净,重点突出。(重点:自己简历上的东西一定要掌握好)最后是学院老师和企业老师都会针对简历上感兴趣的部分进行提问,像我当时,我的企业组面试老师甚至即兴修改了我的简历上的项目为同类型问题让我阐述解决方法。保研后可以做些以前没做过的事情,这里优先推荐找对口专业实习,比勤工俭学,麦当劳这些要更加对自己有益。和大三的一位要保研的学妹认识,学妹很有礼貌,提出的很多问题也很有见解,很适合她现在状态。工硕三个志愿的报录流程有什么注意的点?
2024-09-10 21:20:49
462
原创 第无数次配环境,emo了
【前情提要】anaconda环境在pycharm里跑不动,看了无数种方法后,有个人说是版本太低,重装一个高版本就Ok,于是我装了,但是环境都得重配了。干杯,这emo的配环境工具人。这个真的很难绷,谁家安环境需要git的啊,最后找到了绕过opencv的办法。气得我都想和导师摊牌,让他知道他收了一个什么样的东西了。见https://pytorch.org。2.opencv-python安装。想起来了,是这个必须指定版本,干杯。python命令行没用。
2024-01-19 22:14:08
930
1
转载 jupyter环境切换
Jupyter notebook切换运行环境,并使用该环境_本地创建的notebook是在用本地的环境吗-CSDN博客。后面还会用到,记录一下。
2024-01-17 16:59:40
112
原创 jupyter notebook个性化
相比于pycharm,jupyter显然更适合轻量化,多输出的代码试写。定制漂亮的jupyter notebook就可以使得人心情愉悦。重装系统后迫不得已又来配置,好麻烦。希望不要再有下一次了现在是win10系统,anaconda启动jupyter。
2024-01-04 20:49:46
2541
原创 datawhale第三期
通过特征融合,我们可以将多个特征或多个数据源的信息进行融合,以获得更全面和准确的特征表示。在实际应用中,应根据具体任务的特点,选择合适的特征工程技术、融合方法和模型,以提高模型的训练效果。在这个过程中,可以引入特征融合技术,如将多个图像的特征进行融合,或者将图像特征与其他数据源的信息进行融合,以提高模型的准确率和泛化能力。特征融合的优点在于:能够利用多个特征或多个数据源的信息,提高模型的泛化能力和准确率;特征融合是指将多个特征或多个数据源的信息进行融合,以获得更全面和准确的特征表示。
2023-10-27 21:53:45
197
原创 Datawhale topline 运行日记
MAX_LENGTH = 128 # 定义最大序列长度为128在我以前的学习中,也遇到过这个问题,那个模型限制tensor是512;我认为这里的最大序列长度是限制最大文本长度,应该是模型训练一次文本,能接受文本的最大长度,不过文本不是会被向量化吗,为什么还会受长度限制?奇怪。众所周知,在NLP任务中,原始文本需要处理成数值型字符才能够被计算机处理,我们熟悉的one-hot编码就是一种转换方式。但这种方式有两个弊端:向量维度太高,且丢失了语义信息。后来人们发明了词向量。
2023-08-25 23:17:59
169
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅