自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Greta节拍器

Greta是一款简单易用的钢琴节拍器。slogan:掌握自己的人生节奏

2024-12-23 16:17:24 810

原创 【DataWhaleX科大讯飞】2024AI冬令营——动手定制你的专属大模型

每一个不曾起舞的日子,都是对生命的辜负。——尼采请允许我在这里先介绍DataWhale。Datawhale 是一个专注于数据科学与 AI 领域的开源组织,汇集了众多领域院校和知名企业的优秀学习者,聚合了一群有开源精神和探索精神的团队成员。Datawhale 以“ for the learner,和学习者一起成长”为愿景,鼓励真实地展现自我、开放包容、互信互助、敢于试错和勇于担当。

2024-12-09 15:10:19 1382

原创 【FastApi】 url参数

路径参数是直接在 URL 路径中定义的参数,它们是 URL 的一部分。FastAPI 会自动将 URL 中匹配的部分映射到对应的路径参数。查询参数是 URL 中路径后面?开始的键值对,通常用于过滤、分页等操作。FastAPI 会将查询参数作为函数参数传递,方便获取。

2024-11-11 18:45:22 904

原创 【Python】并发与并行

GIL(Global Interpreter Lock,全局解释器锁)是Python解释器为了简化内存管理和保证线程安全而引入的一种机制。GIL限制了在同一时间只能有一个线程执行Python字节码,从而防止多线程并发访问共享数据导致的不一致问题。性能开销:GIL 的存在使得在 CPython 中执行 CPU 密集型任务的多线程性能不高,因为每次线程切换都需要竞争 GIL,带来资源开销。因此,对于 CPU 密集型任务,推荐使用多进程(例如模块)以充分利用多核 CPU。I/O 密集型任务的多线程。

2024-11-06 17:28:38 1014

原创 【LLM】手搓一个LLM Eval

根据数据集任务类型,确定合适的评测指标。根据数据形式,编写模型引导prompt。根据模型初步预测结果,设计合理的抽取方式。对预测结果与标准答案进行评分。上述步骤覆盖了TinyEval仓库的所有模块。该项目支持自定义数据集的评测。如果你有自定义的SFT数据,命名为custom_zh(中文)或custom_en"instruction": "假设你是皇帝身边的女人--甄嬛","input": "你是谁?","output": "臣妾是甄嬛,家父是大理寺少卿。这样就可以支持自定义数据集的评测了。

2024-10-02 02:31:20 1012

原创 【LLM】 TinyAgent 构建指南

我们将手动实现一个 Agent 系统,并逐步深入了解其结构和运作原理。以下是基于 React 论文中的一些示例,展示了如何构建和整合模型与工具。

2024-09-28 01:38:24 748

原创 【TypeScript】异步编程

使用async和await,我们可以以一种更简洁和可读的方式编写异步代码。通过捕获错误和并行处理多个操作,我们可以确保代码的稳定性和可靠性。最后一章居然讲解了axiso的源码,我哭死。本人亦因此开启了阅读前端框架源码的习惯。通过封装axiso,可以有效地提升代码的可读性和维护性,同时利用 TypeScript 提供的强类型检查,确保数据的安全性。

2024-09-27 23:37:45 1438

原创 【TypeScript】面向对象

本次学习了接口、类、对象和泛型。其中接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应是抽象的。其次由类实现接口的抽象方法。类字段 − 字段是类里面声明的变量。字段表示对象的有关数据。构造函数 − 类实例化时调用,可以为类的对象分配内存。方法 − 方法为对象要执行的操作。对象是包含一组键值对的实例,其值可以是标量、函数、数组、对象等泛型(Generics)是一种编程语言特性,允许在定义函数、类、接口等时使用占位符来表示类型,而不是具体的类型。

2024-09-25 02:11:23 477

原创 【LLM】从零预训练一个tiny-llama

本次掌握了数据集的预处理,并对预处理后的数据进行训练。了解模型如何基于已有的上下文生成后续 token 的机制。

2024-09-24 01:31:15 451

原创 【TypeScript】 数据类型

本次学习了TypeScript中的数据类型:数字、字符串、数组、Map对象、元组、联合类型。其中需要特别注意:1、Number 类型是基于 IEEE 754 双精度浮点数标准实现的。这意味着它不能精确表示所有的实数,特别是对于非常大或非常小的数,或者需要高精度的计算(如金融计算)时,可能会出现精度问题。2、联合类型(Union Types)是指一个变量可以具有多种不同的类型。由于联合类型可以是多个类型的集合,因此直接使用联合类型的属性和方法需要确保这些属性和方法在所有可能的类型中都是共有的。

2024-09-22 02:43:49 1262

原创 【LLM】 Qwen整体介绍

本次学习了Qwen模型的基本结构。

2024-09-19 23:44:54 238

原创 【TypeScript】 ts控制语句

在TypeScript中,函数的定义可以包含参数类型和返回类型。${本章节学习了ts的控制语句,主要分为条件语、循环和函数。看了示例,感觉TypeScrip就是前端的java语言,哈哈哈哈,方法重载和Lambda都有。switch…case语句。

2024-09-19 01:17:17 1530

原创 【TypeScript】 ts基本语法

JavaScript(也称为ECMAScript)诞生时是一种简单的浏览器脚本语言。当它被发明时,它被期望用于在网页中嵌入简短的代码片段。这些片段通常不超过几十行。因此,早期的 Web 浏览器执行此类代码的速度非常慢。但是,随着时间的推移,JS 变得越来越流行,并且 Web 开发者开始使用它来创造交互式体验。Web 浏览器开发者通过优化执行引擎(动态编译)和扩展可以完成的功能(添加API)来应对 JS 日益增加的使用量,这反过来又使 Web 开发者更多地使用 JS。

2024-09-17 01:37:14 1637

原创 【Excel】宏处理实现复制指定行数

要在 Excel 中实现批量操作,将每一行的备注数值根据其值复制成多行,可以使用 VBA 脚本来完成。

2024-08-12 16:57:32 1607

原创 【java】升级jetty-client解决Too many open files问题

既然访问conf/application.properties文件的地方都会关流,就将注意力放在采集业务逻辑上,有可能是业务采集文件时候没有关流,导致文件句柄占满,进而导致访问conf/application.properties文件报错。(1)cwd:表示current work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改。(2)txt :该类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序。

2024-08-08 02:00:59 1126

原创 【数学建模】 多模数据与智能模型

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它提供了多种工具和算法,帮助开发者进行图像处理、视频分析、机器学习等任务。1.1.2 色彩学色彩学在数字图像处理中非常重要。常见的色彩空间包括RGB、HSV和灰度图。HSV表示法是一种描述颜色的方式,其中H代表色调(Hue),S代表饱和度(Saturation),V代表明度(Value)。这种颜色空间与人类对颜色的感知方式更为接近,因此,在图像处理中,HSV空间经常用于颜色分割、

2024-08-08 01:55:10 1311

原创 【数学建模】 机器学习与统计模型

机器学习是一种通过数据训练模型来进行预测或决策的技术。数据集(Dataset):数据集是机器学习的基础,通常分为训练集、验证集和测试集。训练集用于训练模型,验证集用于调参,测试集用于评估模型性能。特征(Feature)和标签(Label):特征是用于描述数据的属性或变量,标签是数据的目标值或分类。监督学习(Supervised Learning):监督学习是通过已知的输入输出对进行训练,目的是预测未知数据的输出。常见算法有线性回归、逻辑回归、支持向量机、决策树、随机森林等。

2024-08-05 02:44:28 1406

原创 【数学建模】 时间序列与投资模型

时间序列(Time Series)是指按照时间顺序排列的一系列数据点。这些数据点通常是以等时间间隔记录的。时间序列分析是统计学和数据科学中的一个重要领域,用于分析、建模和预测随时间变化的数据。时间序列分析在许多领域都有广泛的应用,包括但不限于以下几个方面:时间序列可以通过分解模型来描述,分解模型将时间序列分解为不同的成分,以便更好地理解和分析数据。这些成分通常包括:根据不同的组合方式,分解模型可以分为加法模型和乘法模型。在加法模型中,时间序列的各个成分是相互独立的,四个成分都有相同的量纲。加法模型的形式如下

2024-07-31 01:47:19 805

原创 【数学建模】权重生成与评价模型(下)

模糊综合评价法(Fuzzy Comprehensive Evaluation Method)是一种基于模糊数学的评价方法,常用于处理复杂系统中的模糊性、不确定性和多因素综合评价问题。它通过构建模糊矩阵和隶属度函数,将主观判断转化为数学模型,从而实现对评价对象的全面、客观评价。模糊综合分析法的基本原理包括以下几个步骤:确定评价指标体系:根据评价对象的特点,选取若干个评价指标构成评价指标体系。每个指标反映评价对象的某个方面。确定权重:对各评价指标进行权重分配,权重反映了各指标在综合评价中的重要程度。权重可以通过

2024-07-27 01:09:28 696

原创 【数学建模】权重生成与评价模型(上)

层次分析法(Analytic Hierarchy Process, AHP)是一种多准则决策方法,广泛应用于复杂决策和规划问题中。它通过将决策问题分解成一个层次结构,然后通过一系列的比较对准则和备选方案进行评估,最终得到各备选方案的综合权重。层次分析法的详细说明可参考:层次分析法的基本原理包括以下几个步骤:建立层次结构:将决策问题分解成目标、准则和备选方案三个层次。顶层是决策目标,中间层是影响决策的准则,底层是具体的备选方案。构建判断矩阵:通过两两比较的方式,对准则和备选方案进行相对重要性的评估,形成判断矩

2024-07-27 01:07:55 872

原创 【数学建模】 数据处理与拟合模型

数 是数学的基本概念,表示量的大小、顺序或类别。数可以是整数、分数、小数等。数的概念广泛应用于各种科学和工程领域。数据 是数和信息的集合,用来描述和表示事物的特征、状态或变化。数据可以是定量的(如数值、测量值)或定性的(如文本、图像)。数据的特点包括:大数据 是指无法用传统的数据处理工具和方法在合理时间内获取、存储、管理和分析的数据集合。大数据的特点通常被称为“5V”:Volume(体量)、Velocity(速度)、Variety(多样性)、Veracity(真实性)和 Value(价值)。大数据的应用领域

2024-07-03 16:36:50 1134 2

原创 【数学建模】 进化计算与群体智能

遗传算法(GA)是一种用于优化和搜索问题的启发式算法。它模拟了自然选择的过程,其中个体通过遗传和变异进行繁殖,逐渐进化出更优的解。基本步骤初始化:生成初始种群。适应度评估:评估种群中每个个体的适应度。选择:根据适应度选择个体进行繁殖。交叉:选定个体对进行基因交换,生成新的后代。变异:对一些个体进行基因变异,以增加多样性。迭代:重复评估和繁殖过程,直至达到停止条件。粒子群优化算法(PSO)是一种基于群体智能的优化算法,由Kennedy和Eberhart于1995年提出。其灵感来源于鸟群觅食的行为。

2024-07-01 02:12:53 859

原创 【数学建模】 复杂网络与图论模型

NetworkX是一个Python库,用于创建、操作和研究复杂网络的结构、动态和功能。它提供了多种数据结构来表示图(无向图、有向图、多重图等),并包含了许多用于图论分析和可视化的工具和算法。旅行商问题(TSP, Traveling Salesman Problem)描述了一位旅行商需要访问一组城市,并找到一条最短的路径,使得他从起始城市出发,访问每个城市一次,最终回到起始城市。TSP的目标是最小化旅行总距离或总成本。

2024-06-29 02:16:58 2856 1

原创 【数学建模】 函数极值与规划模型

线性代数是数学的一个分支,主要研究向量、向量空间(或线性空间)、线性变换以及线性方程组。它提供了用于描述和操作线性系统的工具。以下是一些线性代数的基本概念:线性规划是一种优化技术,旨在最大化或最小化一个线性目标函数,同时满足一组线性约束条件。以下是线性规划的基本概念:在线性规划中,决策变量和约束条件通常用向量和矩阵表示。例如,目标函数 (c^T x) 和约束条件 (Ax \leq b) 都使用了线性代数中的矩阵和向量表示法。这使得线性规划问题可以形式化为矩阵运算问题,从而利用线性代数的方法来分析和求解。线性

2024-06-27 00:13:41 1146

原创 【数据建模】微分方程与动力系统

元胞自动机(Cellular Automaton,CA)是一种离散的数学模型,由具有有限状态的元胞和规则组成,用于模拟复杂系统中的局部互动和全局演化。网格:通常是二维的矩形网格,但也可以是其他形状。元胞:每个网格点代表一个元胞,具有有限的状态集。邻居:每个元胞有一个邻居集,定义了元胞之间的互动范围。常见的邻居类型包括Moore邻居(八个方向)和Von Neumann邻居(四个方向)。规则:元胞状态根据特定的局部规则进行更新,规则通常依赖于元胞当前状态及其邻居的状态。

2024-06-23 01:36:29 1767

原创 【数学建模】解析几何与方程模型

行列式(Determinant)是线性代数中的一个重要概念,它是一个方阵(即行数与列数相等的矩阵)对应的一个标量值。行列式具有许多重要的性质和应用场景。以下是行列式的定义以及一些主要的使用场景。

2024-06-19 01:09:17 1832 3

原创 【Nginx】设置nginx缓存

proxy cache属于服务端缓存,主要实现 nginx 服务器对客户端数据请求的快速响应。nginx 服务器在接收到被代理服务器的响应数据之后,一方面将数据传递给客户端,另一方面根据proxy cache的配置将这些数据缓存到本地硬盘上。当客户端再次访问相同的数据时,nginx服务器直接从硬盘检索到相应的数据返回给用户,从而减少与被代理服务器交互的时间。

2024-05-20 20:48:50 2128

原创 【LLM】动手部署个人知识库助手

本次学习了本地部署个人知识库助手,掌握使用fastapi进行接口定义,提供后端接口服务能力。掌握使用embbing接口对文本进行向量化处理,随后使用chromadb保存向量数据。在文本预处理过程中有一点是值得我学习的:使用remove_urls() 函数过滤了 readme 文本中的一些网页链接以及过滤了可能引起大模型风控一些词汇。这样做的目的可以让部署的个人知识助手更加安全。在此延伸了对数据脱敏的思路,后续数据处理流程增加了处理数据安全问题这一维度。

2024-04-29 01:56:15 740

原创 【LLM】系统的评估与优化

本节学习了大模型的常见评估方法:人工评估、简单自动评估、大模型评估和混合评估,其中人工评估耗费人力成本高,且需要确定量化评估指标、从多个维度进行评估。简单自动评估通过构建客观题让LLM进行回答,并且用代码方式实现打分策略,因此实现完全自动化,从而实现了高效的验证。对于无法构建客观题的问题,可以通过计算答案相似度方法进行评分,具体实现原理:对生成问题采用人工构造标准答案并计算回答与标准答案相似度的方法来实现自动评估。

2024-04-27 04:48:24 1098

原创 【LLM】搭建RAG

本节主要是实操内容,将前面三节所学的知识库、model api、langchain组合成一个RAG系统。简单入门了Streamlit框架,尝试发布了自己的第一个RAG应用。本次学习中发现Langchain居然有memory功能,上一节学习语义知识库时候想到了一个方案:将用户历史聊天记录处理成向量录入向量知识库中,在新的一轮对话中,用户输入新信息会先匹配向量数据库中最相似的K组对话。这个idea就是LangChain已经实现的VectorStore-backed Memory功能!!!

2024-04-25 02:16:22 539

原创 【LLM】向量知识库

在此列出一些公开的embeedding_model,Langchain原生支持加载embeedding_model,动手能力强的小伙伴可以根据文档动手实现一个embeedding api.文本嵌入模型 text-embedding-model本节了解了什么是向量、向量的生成、向量的存储和向量的应用,同时对比了向量数据库和常见非向量数据库的区别。动手设计了一个加载text2vec-large-chinese embedding model的api接口,并且将生成的向量录入到向量数据库中。

2024-04-23 04:35:06 2455

原创 【LLM】LLM API 开发

主要了解了LLM中的基础知识,包括输入提示词prompt、temperature(模型输出的温度系数,控制输出的随机程度,取值范围是 0~1.0,且不能设置为 0。温度系数越低,输出内容越一致。)以及Prompt Engineering中常用的调优技术,如:写清晰的说明、给LLM充足的思考时间…,只要prompt写得好,LLM回答才会更快返回符合用户的答案。

2024-04-21 02:25:24 1432

原创 【LLM】认识LLM

大语言模型(LLM,Large Language Model),也称大型语言模型,是一种旨在理解和生成人类语言的人工智能模型。它们在大量的文本数据上进行训练,可以执行广泛的任务,包括文本总结、翻译、情感分析等等。LLM的特点是规模庞大,包含数十亿的参数,帮助它们学习语言数据中的复杂模式。这些模型通常基于深度学习架构,如转化器,这有助于它们在各种NLP任务上取得令人印象深刻的表现。RAG(中文为检索增强生成, Retrieval-Augmented Generation) = 检索技术 + LLM 提示。

2024-04-18 02:59:47 878

原创 【java】java三大特性之继承

Java的继承机制是面向对象编程的重要概念之一,它允许一个类(子类)基于另一个类(父类)来构建,并且可以继承父类的属性和方法。继承层次:继承可以形成层次结构,即一个类可以作为另一个类的子类,而这个子类又可以作为另一个类的父类,以此类推。:继承是实现多态性的基础之一。继承机制是Java编程语言中的核心概念之一,它使得代码的组织和复用变得更加灵活和方便,同时也提供了多态性的支持,使得代码更具有扩展性和可维护性。:有时候,父类提供的方法不能完全满足子类的需求,子类可以通过继承来覆盖父类的方法,以实现特定的行为。

2024-02-18 17:10:49 984 1

原创 【es】解决es报错failed to authenticate user [elastic]

某天使用接口查询es数据时出现报错,没有返回数据。想到是测试环境的es因为没内存又挂了,于是上服务器重启服务。但是重启后等待一段时间再次查询es,还是同样报错,显示连接拒接。于是lsof -i:9200查看端口,端口没起来。查看日志,显示。

2024-02-06 11:21:12 7437 1

原创 【强化学习】day1 强化学习基础、马尔可夫决策过程、表格型方法

强化学习是一种重要的机器学习方法,它使得智能体能够在环境中做出决策以达成特定目标。在这篇博客中,我们将深入探讨强化学习的三个关键领域:基础知识、马尔可夫决策过程和表格型方法。

2023-11-16 02:06:11 672

原创 【diffusion model】扩散模型入门

写在最前,参加DataWhale 10月组队学习。参考资料:HuggingFace 开源diffusion-models-class2.2 notebook登录huggingface账号建议创建可写token,后续如果要上传模型的话有write权限https://huggingface.co/settings/tokens这两个命令用于在Jupyter Notebook中运行Shell命令,并将输出捕获(capture)起来,而不直接在Notebook中显示输出。%%capture是一个Ju

2023-10-20 23:28:59 993

原创 【leetcode】 数组双指针和滑动窗口

数组双指针(Two-Pointer)是一种常用的算法技巧,用于处理数组或链表等数据结构中的问题。它的核心思想是使用两个指针来遍历数组,从而在数组中执行某种操作,如查找、修改、反转等。双指针分为「对撞指针」、「快慢指针」、「分离双指针」。

2023-09-25 00:22:10 669

原创 【SLAM】 前端-视觉里程计之相对位姿估计

在前端视觉里程计中,相对位姿估计是指通过视觉传感器(例如相机)捕捉的图像信息,来估计相机相对于先前位置的位姿(位置和姿态)变化。:使用特征点匹配的信息,通过不同的算法(例如,本质矩阵估计、基本矩阵估计、光流法等)来估计相机的位移和旋转,即相对位姿的变化。:在估计过程中,可能存在误差累积的问题,因此需要引入环回检测和误差修正机制,以提高估计的准确性。:相对位姿估计通常与地图构建相结合,以便构建环境的地图或场景,同时估计相机的位姿。:通过积累相对位姿的估计,可以跟踪相机或机器人在整个运动过程中的轨迹。

2023-09-23 00:16:41 1016

原创 【leetcode】 数组二分查找

二分查找(Binary Search),也称为折半查找,是一种在有序数组中查找特定元素的高效算法。它的基本思想是不断将待查找区间缩小一半,直到找到目标元素或确定目标元素不在数组中为止。这种查找方法比线性查找效率高,因为它可以快速排除掉大部分不可能包含目标元素的区间,从而减少了比较次数。二分查找的工作原理如下:首先,确定查找范围的左边界left和右边界right,通常初始时left设为数组的起始索引,right设为数组的结束索引。计算中间元素的索引mid,可以使用计算。

2023-09-22 01:39:15 528

空空如也

空空如也

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

TA关注的人

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