自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一切都会好的

一切都会好的,我一直相信 —— 24.3.3

2024-03-03 21:59:29 502 1

原创 【NLP 79、强化学习串讲】

如果你想入门理解原理:死磕Q-Learning,只要把那几行代码搞懂,后面都是通的。如果你想做个打游戏 AI:直接上PPO,它是目前最好用的“万金油”。如果你关注DeepSeek 和大模型前沿:去研究GRPO,这是当下的版本答案。如果你想训练自己的 ChatGPT:你必须走RLHF的全流程。

2025-12-03 22:49:17 848

原创 【测试理论和实践 5.测试分类】

• 白盒测试主要应用于单元测试阶段• 先执行静态设计用例的方法,再执行动态设计测试用例的方法• 设计用例一般使用路径测试,重点模块追加使用逻辑覆盖方法。

2025-10-30 21:10:19 1099

原创 【测试理论和实践 4.测试用例】

总用例数: 45执行用例: 45通过用例: 43失败用例: 2阻塞用例: 0通过率: 95.6%

2025-10-28 22:53:50 1194

原创 【测试理论和实践 3.BUG篇】

一个计算机bug指在计算机程序中存在的一个错误(error)、缺陷(flaw)、疏忽(mistake)或者故障(fault),这些bug使程序无法正确的运行。Bug产生于程序的源代码或者程序设计阶段的疏忽或者错误。准确的来说:1. 当且仅当规格说明(需求文档)是存在的并且正确,程序与规格说明之间的不匹配才是错误。2. 当需求规格说明书没有提到的功能,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能要求时,就是软件错误。① 评估程序员的开发能力② 修复BUG的优先级排序。

2025-10-28 14:57:59 1055

原创 【测试理论和实践 2.测试概念】

瀑布模型是软件开发中最经典、最线性的生命周期模型。它将项目划分为一系列按顺序执行的阶段,每个阶段的输出作为下一个阶段的输入,如同瀑布一般自上而下流动。特点优点缺点工作方式1. 简单易用,易于理解和管理• 阶段划分清晰,流程简单明了,对技术和管理经验要求较低。2. 阶段性强,纪律严明• 要求每个阶段都必须有明确的交付物,并且需要经过严格的评审。这保证了开发过程的规范性和可追溯性。3. 便于计划和管理• 在项目初期就设定了明确的时间表和里程碑,便于项目经理进行进度跟踪和资源分配。

2025-10-27 22:03:46 778

原创 【大模型应用开发 6.LangChain多任务应用开发】

把不同的模型,统一封装成一个接口,方便更换模型而不用重构代码。langchain:一个开源的大语言模型(LLM)应用开发框架,旨在简化基于大语言模型的复杂应用构建(如智能问答、RAG、AI 智能体、工具调用等)。langchain.chat_models: 框架下的子模块,专门用于处理 “聊天型大语言模型” 的交互逻辑。model:LangChain 聊天模型实例,封装了与 OpenAI 服务交互的逻辑(如 API 调用、参数配置等),是后续调用 模型的 “入口对象”。response:LangChain

2025-10-26 22:24:47 739

原创 【大模型应用开发 LangChain模型输出属性速查表】

返回)分类,涵盖核心属性的作用、示例值及使用场景,适配主流模型(DeepSeek、OpenAI、通义千问等)。返回)和 “流式片段对象”(如。按 “完整回答对象”(如。

2025-10-26 21:14:54 367

原创 【测试理论和实践 1.认识测试】

测试在生活中处处可见软件测试就是验证软件产品特性是否满足用户的需求。

2025-10-25 21:38:53 838

原创 【大模型应用开发 8.LangGraph从入门到实战·下】

os: 是 Python 标准库的内置模块,无需额外安装,导入即可使用(代码中 就是导入该模块)。它封装了不同操作系统(Windows、Linux、macOS 等)的底层接口,让开发者可以用统一的代码实现跨平台的系统操作,无需针对不同系统编写不同逻辑。typing:Python 标准库模块,提供类型提示工具,用于指定变量、函数参数 / 返回值的类型,支持静态类型检查(如 IDE 提示、mypy 校验),增强代码可读性和健壮性。TypedDict:typing模块中的类型工具,用于定义结构化字典类型,明确指

2025-10-23 23:02:04 551

原创 【大模型应用开发 7.LangGraph从入门到实战·上】

LangGraph 是由 LangChain 团队开发的一个开源框架,旨在帮助开发者构建基于大型语言模型(LLM)的复杂、有状态、多主体的应用。它通过将工作流表示为图结构(graph),提供了更高的灵活性和控制能力,特别适合需要循环逻辑、状态管理以及多主体协作的场景,比如智能代理(agent)和多代理工作流。LangGraph 是为智能体和工作流设计一套底层编排框架。

2025-10-19 22:16:07 781

原创 【大模型应用开发 5.LlamaIndex-Workflow】

工作流顾名思义是对一系列工作步骤的抽象。LlamaIndex 的工作流是事件(event工作流由step组成每个step处理特定的事件step也会产生新的事件(交由后继的step进行处理)直到产生StopEvent整个工作流结束文本查询→检索相关表→生成 SQL→执行 SQL→生成回答# TextToSQLWorkflow1 工作流流程├─ 1. 依赖导入。

2025-09-10 20:23:40 490

原创 【大模型应用开发 4.LlamaIndex知识管理与信息检索】

LlamaIndex 是一个为开发「知识增强」的大语言模型应用的框架(也就是 SDK)。知识增强:泛指任何在私有或特定领域数据基础上应用大语言模型的情况。例如Question-Answering Chatbots (也就是 RAG)Document Understanding and Extraction (文档理解与信息抽取)Autonomous Agents that can perform research and take actions (智能体应用)

2025-09-08 21:27:19 960

原创 【大模型应用开发 3.RAG高级技术与实践】

Qwen-Agent是一个开发框架。充分利用基于通义千问模型(Qwen)的指令遵循、工具使用、规划、记忆能力。Qwen-AgentDashScope服务提供的Qwen模型服务支持通过OpenAI API方式接入开源的Qwen模型服务RagasRagas (Retrieval-Augmented Generation Assessment) 它是一个框架,它可以帮助我们来快速评估RAG系统的性能用户输入的问题。从 RAG 系统生成的答案(由LLM给出)。

2025-08-23 13:02:39 1028

原创 【大模型应用开发 2.RAG技术应用与Faiss向量数据库】

Qwen-Agent是一个开发框架。充分利用基于通义千问模型(Qwen)的指令遵循、工具使用、规划、记忆能力。Qwen-Agent支持的模型形式:DashScope服务提供的Qwen模型服务支持通过OpenAI API方式接入开源的Qwen模型服务。

2025-08-16 18:50:37 364

原创 【大模型应用开发 1.嵌入模型与向量数据库 Chroma】

向量是一种有大小和方向的数学对象。它可以表示为从一个点到另一个点的有向线段。例如,二维空间中的向量可以表示为(x,y),表示从原点(0,0)到点(x,y)的有向线段。以此类推,我可以用一组坐标(x_0, x_1, x_2, …, x_n)表示一个N维空间中的向量,N 叫向量的维度。嵌入(Embedding)是指非结构化数据转换为向量的过程,通过神经网络模型或相关大模型,将真实世界的离散数据投影到高维数据空间上,根据数据在空间中的不同距离,反映数据在物理世界的相似度。

2025-08-16 18:50:25 1419

原创 【Python 算法零基础 6.贪心算法】

给定一个长度为 n 的整数数列 A,A 中第 i 个元素为 Ai​(1≤i≤n),整数 res 初始为 0,如果一个数 a 存在于 A 且 a+1,a+2 均存在于 A 中,则 res 加 1,请输出最后 res 的值。例如:字符串 abe,可分为 (ab)(e),与(a)(be),前者括号内的字母数组成的数组为 2,1,后者为 1,2,所以答案为 (ab)(e)。现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?

2025-06-11 22:14:36 1278

原创 【Python 算法零基础 4.排序 ⑪ 十大排序算法总结】

当左索引小于右索引时,结束递归。

2025-06-06 21:59:22 1833

原创 【Python 算法零基础 4.排序 ⑩ 希尔排序】

当左索引小于右索引时,结束递归。

2025-06-05 16:59:26 1012

原创 【Python 算法零基础 4.排序 ⑨ 堆排序】

当左索引小于右索引时,结束递归。

2025-06-05 16:44:01 1136

原创 【Python 算法零基础 4.排序 ⑧ 基数排序】

从索引0到n-1n为数组长度)。假设当前索引i为最小值索引min_index。从i+1到n-1遍历,若找到更小元素,则更新min_index。若,则交换arr[i]与。设数组长度为n。遍历i从0到n-1(共n轮)。对于每轮i,遍历j从0到n-i-2。若,则交换两者。重复步骤 2-4,直到所有轮次完成。从索引1到n-1。将arr[i]存入current。从已排序部分的末尾(索引j = i-1)向前扫描,将比current大的元素后移。直到找到第一个不大于current的位置或扫描完所有元素。将current。

2025-06-03 09:48:54 986

原创 【Python 算法零基础 4.排序 ⑦ 桶排序】

当左索引小于右索引时,结束递归。

2025-06-02 17:34:55 1012

原创 【Python 算法零基础 4.排序 ⑥ 快速排序】

当左索引小于右索引时,结束递归。

2025-06-02 16:11:43 1825

原创 【NLP 78、手搓Transformer模型结构】

① 初始化 ——> ② 掩蔽自注意力计算 ——> ③ 残差链接与层归一化 ——> ④ 跨注意力计算 ——> ⑤ 残差链接与层归一化 ——> ⑥ 前馈网络计算 ——> ⑦ 残差链接与层归一化。它会对输入(目标序列特征、编码器输出、源序列掩码、目标序列掩码等)进行处理,通过内部的多头注意力机制和前馈网络等组件,对目标序列的特征进行更新和转换。[batch_size, seq_len, d_model]实现位置编码的具体类,通过特定的算法(如基于三角函数的方法)生成位置编码向量,并添加到词嵌入向量上。

2025-05-31 16:54:59 1564

原创 【LangChain大模型应用与多智能体开发 ② 接入智谱AI】

本文摘要: 文章详细介绍了智谱AI的GLM-4大模型及其在LangChain中的集成方法。GLM-4作为新一代基座模型,在性能、长文本处理和多模态能力上显著提升,支持复杂任务自动规划和工具调用。主要内容包括:1) GLM-4的基础能力、指令跟随、对齐能力和多模态表现;2) 通过Python SDK调用智谱API的完整流程;3) 在LangChain中封装自定义ZhipuAIGLM4类的实现细节,涵盖类定义、核心方法封装(invoke/stream)及与LangChain的兼容适配;4) 提供完整的调用示例代

2025-05-24 17:50:00 2206 2

原创 【LangChain大模型应用与多智能体开发 ① 初识LangChain 】

LangChain是一个开源框架,旨在帮助开发者使用大型语言模型(LLMs)和聊天模型构建端到端的应用程序,它提供了一套工具、组件和接口,以简化创建由这些模型支持的应用程序的过程。LangChain的核心概念包括组件(Components)、链(Chains)、模型输入/输出(Model I/O),数据连接(Data Connection)、内存(Memory)和代理(Agents)等。

2025-05-23 21:48:23 1191

原创 【Python 算法零基础 4.排序 ⑤ 归并排序】

从索引0到n-1n为数组长度)。假设当前索引i为最小值索引min_index。从i+1到n-1遍历,若找到更小元素,则更新min_index。若,则交换arr[i]与。从索引1到n-1。将arr[i]存入current。从已排序部分的末尾(索引j = i-1)向前扫描,将比current大的元素后移。直到找到第一个不大于current的位置或扫描完所有元素。将current放入j+1位置。设数组长度为n。遍历i从0到n-1(共n轮)。对于每轮i,遍历j从0到n-i-2。若,则交换两者。

2025-05-23 18:01:55 1235

原创 【NLP 77、Python环境管理工具之conda】

conda是一个开源的包管理系统和环境管理系统,主要用于Python语言,但也可以用于其它语言的项目。

2025-05-22 17:01:52 1397

原创 【Python 算法零基础 4.排序 ④ 计数排序】

从索引0到n-1n为数组长度)。假设当前索引i为最小值索引min_index。从i+1到n-1遍历,若找到更小元素,则更新min_index。若,则交换arr[i]与。设数组长度为n。遍历i从0到n-1(共n轮)。对于每轮i,遍历j从0到n-i-2。若,则交换两者。重复步骤 2-4,直到所有轮次完成。从索引1到n-1。将arr[i]存入current。从已排序部分的末尾(索引j = i-1)向前扫描,将比current大的元素后移。直到找到第一个不大于current的位置或扫描完所有元素。将current。

2025-05-22 12:38:34 1028

原创 【Python 算法零基础 4.排序 ③ 插入排序】

从未排序序列开始,初始时整个数组都是未排序的。遍历未排序部分的所有元素,找到其中的最小值。使用变量min记录最小值的索引,初始时假设当前未排序部分的第一个元素是最小的。将找到的最小值与未排序部分的第一个元素交换位置。此时,未排序部分的第一个元素成为已排序序列的一部分。缩小未排序部分的范围(从下一个元素开始),重复寻找最小值并交换的过程,直到整个数组排序完成。①获取数组长度n。遍历i从0到n-1,共进行n轮。:每轮确定一个最大元素的位置(第i轮确定倒数第i+1大的元素)。对于每轮i,遍历j从0到n-i-1。

2025-05-20 22:08:49 1035

原创 【NLP 76、Faiss 向量数据库】

生成等间隔数值序列(类似 Pythonrange参数类型描述startintfloat起始值(默认0stopintfloat结束值(不包含)stepintfloat步长(默认1生成等间隔数值序列(类似 Pythonrange参数类型描述startintfloat起始值(默认0stopintfloat结束值(不包含)stepintfloat步长(默认1设置随机数生成器的种子,确保结果可复现。参数类型描述seedint随机种子# 1.1 定义数据和向量维度。

2025-05-20 20:44:04 2267

原创 【Python 算法零基础 4.排序 ② 冒泡排序】

从未排序序列开始,初始时整个数组都是未排序的。:遍历未排序部分的所有元素,找到其中的最小值。使用变量min_idx记录最小值的索引,初始时假设当前未排序部分的第一个元素是最小的。将找到的最小值与未排序部分的第一个元素交换位置。此时,未排序部分的第一个元素成为已排序序列的一部分。:缩小未排序部分的范围(从下一个元素开始),重复寻找最小值并交换的过程,直到整个数组排序完成。

2025-05-19 20:26:19 1540

原创 【NLP 75、如何通过API调用智谱大模型】

本文介绍了基于智谱AI大模型的多Agent文章优化系统。该系统通过调用智谱API(如ChatGLM、GLM-3-Turbo等模型),实现了从主题分析、语言优化、内容丰富到可读性评估的全流程自动化处理。系统包含多个专用Agent模块,每个模块负责特定优化任务:主题分析Agent提取文章核心思想,语言优化Agent改进语法用词,内容丰富Agent提供扩展建议,可读性Agent评估传播效果。最终由综合优化Agent整合所有建议生成优化版本。文章以游戏《黑神话:悟空》的分析文本为例,展示了完整的优化流程和代码实现,

2025-05-18 21:51:05 981

原创 【Python 算法零基础 4.排序 ① 选择排序】

即使我们的计算机速度超快,并且可以在1秒内计算 10^8 次操作,但选择排序仍需要大约一百秒才能完成。6 是最大的整数,对于数组中的其他整数,6 至少是数组中其他元素的两倍。6 的下标是 1 ,所以返回 1。进行排序,选择排序的时间复杂度为 O ((m+n)²),其中 m 和 n 分别是两个数组的长度。选择排序后的列表(数组)应遵守小(大)的在前,大(小)的在后的升(降)序顺序。对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。,存放到排序序列的起始位置,然后,再从。

2025-05-18 20:13:00 1503

原创 【Python 算法零基础 3.递推】

长度为 n(1 ≤ n < 40)的只由“A"、"C"、"M"三种字符组成的字符串,可以只有其中一种或两种字符,但绝对不能有其他字符,且禁止出现 M 相邻的情况,问这样的串有多少种?递推 —— 递推最通俗的理解就是数列,递推和数列的关系就好比 算法 和 数据结构 的关系,数列有点像数据结构中的线性表(可以是顺序表,也可以是链表,一般情况下是顺序表),而递推就是一个。T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2。

2025-05-17 17:35:10 1305

原创 【NLP 74、最强提示词工程 Prompt Engineering 从理论到实战案例】

所谓的提示词其实就是一个提供给模型的文本片段,用于指导模型生成特定的输出或回答。提示词的目的是为模型提供一个任务的上下文,以便模型能够更准确地理解用户的意图,并生成相关的回应所谓提示工程也可以被称为【指令工程】,提示工程的核心思想是:通过精心设计的提示词,可以显著提高模型的性能和输出质量。Prompt是AGI时代的【编程语言】提示工程师是AGI时代的【程序员】如果要学好提示工程,其实就是要知道如何对提示词Prompt进行调优,与大模型进行更好的交互。

2025-05-15 16:30:00 1471

原创 【Python 算法零基础 2.模拟 ⑦ 实战】

② 因为n为二进制数字,所以每次遍历n时整除2,然后因为二进制上只有0 和 1,而 sum + 0 不会改变sum的值,所以直接用 sum + n % 2,即可得到每位1的个数。① 遍历数组nums,从遍历 i 处索引分割数组, 如果索引 i 处左边元素求和 sum(:i) == 索引 i 处右边元素求和 sum(i + 1:),则返回索引 i。② 将 a - b 赋值给 b,此时 a = a+b,a - b = a,b = a。③ 将 a - b 赋值给 a,此时 a = a +b, b = a。

2025-05-15 15:55:01 832

原创 【Python 算法零基础 2.模拟 ⑥ 算法技巧】

由于 num1 < num2 ,num2 减 num1 得到 num1 = 2 ,num2 = 3 - 2 = 1。由于 num1 == num2 ,num1 减 num2 得到 num1 = 10 - 10 = 0。- 操作 3 :num1 = 1 ,num2 = 1。由于 num1 == num2 ,num1 减 num2。- 操作 2 :num1 = 2 ,num2 = 1。- 第 1 秒,内存条 2 被占用 1 位内存,内存条 2 现在有 10 位剩余可用内存。

2025-05-15 14:29:41 1001

原创 大数据开发 hadoop集群 3.Hadoop运行环境搭建

hadoop的安装包从Ubuntu自带的火狐浏览器直接下载。开启NameNode和DataNode的守护进程。直接复制粘贴在浏览器打开,勾选合适的选项进行下载。用国内的镜像下载(Ubuntu自带的火狐浏览器)执行namenode的格式化,指定磁盘容量大小(推荐大小)Hadoop伪分布式配置。

2025-05-14 22:30:01 234

原创 【Python 算法零基础 2.模拟 ④ 基于矩阵】

本文介绍了多个基于矩阵的算法问题及其解决方案。首先,2120题要求根据机器人的起始位置和指令序列,计算从每条指令开始执行时机器人能执行的指令数量。1252题涉及对矩阵进行增量操作后,统计奇数值单元格的数量。832题要求对二进制矩阵进行水平翻转和反转操作。657题通过判断机器人的移动序列是否使其返回原点。289题模拟生命游戏,根据细胞状态更新矩阵。59题生成一个螺旋排列的n×n矩阵。885题则要求在网格中按螺旋顺序访问所有位置。这些问题展示了矩阵在算法中的广泛应用,涵盖了模拟、统计、翻转和生成等多种操作。

2025-05-14 22:21:43 1835 1

【NLP 66、实践 ⑰ 基于Agent + Prompt优化进行文章优化】

【NLP 66、实践 ⑰ 基于Agent + Prompt优化进行文章优化】

2025-04-18

【NLP 58、利用trl框架训练LLM】

trl框架训练大语言模型,提供了源码

2025-04-10

【NLP 29、项目 Ⅰ:电商评论分类(好评 / 差评) 】

多个模型结构训练效果对比

2025-03-10

空空如也

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

TA关注的人

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