- 博客(569)
- 收藏
- 关注
原创 【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
原创 【测试理论和实践 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
原创 【大模型应用开发 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.排序 ⑧ 基数排序】
从索引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
原创 【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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅