- 博客(37)
- 收藏
- 关注
原创 大模型微调与LoRA/QLoRA方法解析
大模型在垂直领域应用时需进行微调以提升专业性,但全量微调成本过高。参数高效微调通过冻结大部分参数、仅训练少量新增参数实现轻量适配,其中LoRA是最流行的方法,它通过低秩矩阵分解更新权重,显著降低训练参数。针对更大模型,QLoRA结合4/8-bit量化进一步降低显存占用,使单卡微调百亿级模型成为可能,精度损失可控。
2025-09-01 16:53:30
967
原创 除了Rerank, RAG还有哪些高效召回方法?
本文探讨了提升RAG系统检索质量的优化策略。关键点包括:数据准备阶段的质量清洗和合理分块;查询扩展技术,通过语义改写和意图识别提升查询准确性;索引扩展方法,结合离散和连续索引实现多路召回;以及Small-to-Big策略,先用小粒度内容快速定位,再获取完整上下文。这些方法共同作用可显著提高检索召回质量,为后续生成阶段奠定良好基础。
2025-08-25 14:47:22
880
原创 RAG智能问答为什么需要进行Rerank?
本文介绍了RAG架构中的关键环节——重排序(Rerank)。Rerank通过对向量检索的候选文档进行精细排序,筛选出最相关的片段供LLM生成答案,进一步提升RAG召回的质量。文章重点分析了两种主流Rerank模型:开源的BGE-Rerank(适合本地部署)和商业化的CohereRerank(API调用),从特性、语言优势、成本等方面进行对比,为不同场景下的选择提供参考。
2025-08-24 23:19:13
861
原创 基于Langchain框架的DeepSeek-v3+Faiss实现RAG知识问答系统(含完整代码)
通过以上代码,可以将自己的本地数据(pdf文件)分块向量化,并存入向量数据库中,通过deepseek-v3模型和langchain问答链,进行知识问答,搭建了一个简易的RAG系统。PDF文件 → 提取文本 → 分块 → 向量化 → FAISS存储。
2025-08-24 21:29:40
705
原创 如何在Vscode中配置MCP服务?(包含实例:使用Github Copilot + 高德MCP查询旅游攻略)
本文介绍了如何配置高德地图API与Github Copilot的MCP服务。首先在高德开放平台申请API Key,然后在VSCode设置中配置MCP服务参数,包括添加API Key和服务器信息。配置完成后,需在Agent模式下使用MCP服务,可通过右下角工具图标查看服务状态。最后以郑州一日游规划为例,测试了MCP服务的调用和返回结果。整个流程包含了API申请、服务配置和功能验证三个主要步骤。
2025-08-22 14:17:08
1132
原创 如何提升RAG的质量?
本文针对RAG技术在实际落地过程中的优化问题,从数据准备、知识检索和答案生成三个阶段提出解决方案。在数据准备阶段,通过数据清洗、脱敏处理和IDP技术构建高质量知识库;知识检索阶段采用查询转换、混合检索和优化向量表示提升召回率;答案生成阶段通过改进Prompt和动态防护栏机制确保输出准确性和安全性。这些方法共同提升了RAG系统的整体性能和可靠性,为实际应用提供了系统化的优化路径。
2025-08-22 13:43:13
2057
原创 Function Call与MCP:大模型能力扩展的两条路径对比
随着大模型应用场景扩展,如何安全有效地调用外部工具成为关键。目前主要解决方案包括FunctionCalling和MCP协议。FunctionCalling通过模型接口定义函数实现单一任务调用,适合简单场景;MCP则提供标准化工具调用框架,支持复杂系统集成,具有跨平台、安全性高等优势。
2025-08-21 21:59:13
974
原创 到底什么是RAG技术以及有哪些chunk切片策略?一文带你了解核心流程。
RAG(检索增强生成)是一种结合信息检索与大模型生成能力的技术,通过实时检索外部知识库增强回答的准确性和时效性。其核心流程包括数据预处理、检索相关内容和生成回答,能有效解决传统大模型的知识时效性、幻觉问题和专业领域深度不足等局限。知识切片策略包括改进固定长度、语义、LLM语义、层次和滑动窗口等多种方法,各有优缺点,适用于不同场景。
2025-08-21 14:43:19
1190
原创 一文讲通向量数据库的原理与应用
向量数据库是专门存储和查询由非结构化数据(如文本、图片、音视频)转化而来的高维向量嵌入。这些向量在多维空间中的距离代表了原始数据的语义相似度。向量数据库的核心能力是高效的相似性检索。
2025-08-20 15:09:14
966
原创 Embedding原理、方法以及Embedding大模型的选择
Embedding是大模型的核心技术,将文本等非结构化数据转换为低维稠密向量,使计算机能理解语义关联。传统方法(如TF-IDF)存在维度高、稀疏等问题,而现代方法(如Word2Vec)能捕捉语义关系。大模型Embedding通过MTEB榜单评估性能,不同模型各有优势。选择embedding模型需考虑业务场景、评估指标和测试数据,综合性能、推理速度和成本做出决策。
2025-08-20 00:08:59
1157
原创 大模型Prompt原理、编写原则与技巧以及衡量方法
大语言模型通过词向量转换和自回归生成处理Prompt,有效的Prompt能提升回答质量与沟通效率。通用模型需明确引导(如思维链提示),推理模型则更注重简洁任务定义。Prompt应包含任务、上下文、示例等要素,编写原则包括目标明确、指导具体、格式规范等。优化技巧涉及输出限制、分隔符使用、角色扮演等。评估指标涵盖准确性、完整性、一致性等维度,可通过人工评估、自动测试或用户反馈进行验证。
2025-08-18 21:00:00
989
原创 如何通过ollama, vllm框架以及python(GPU)本地私有化部署大模型
本文介绍了三种大模型部署方法:1)通过Ollama本地部署(推荐个人使用),支持命令行操作和API调用;2)采用vLLM框架部署(适合企业级应用),支持分布式推理和量化技术;3)通过Python+GPU下载魔搭社区模型到本地运行,提供了完整的代码示例。每种方法均包含具体操作步骤,从模型下载到实际调用,涵盖不同应用场景需求。
2025-08-18 13:30:00
671
原创 大模型API调用方法(阿里云百炼平台)及本地代码case实例分享(提供代码)
1.进入 https://bailian.console.aliyun.com/ 进入百炼平台,点击,跟随引导注册或登录即可。2.开通百炼后,需要在密钥管理中手动创建API Key,系统不会自动生成。,无需为不同模型(如文生文、文生图、语音合成)申请不同的API Key。,避免将API Key明文写在代码中,从而降低泄漏风险。使用AI大模型判断用户的情感是正向还是负向。模型名称,如qwen-plus。如果通过代码调用模型,建议。本地运行代码输出:负向。获取的API Key。
2025-08-17 18:00:00
2336
原创 AI大模型原理与训练过程、Token分词以及Temperature/Top P的原理与作用
Temperature越高,Top P越高,结果更具创造性。
2025-08-17 12:10:45
1192
原创 voc2007,voc2012数据集快速下载方法
voc2007数据集:1.先下载:wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tarwget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tarwget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
2021-12-14 17:28:25
17648
4
原创 voc数据集与yolo数据集格式 互相转换
1. voc转yoloimport xml.etree.ElementTree as ETimport pickleimport osfrom os import listdir, getcwdfrom os.path import joinsets = ['trainval','test']classes = [ 'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow'.
2021-12-14 17:16:33
6034
3
原创 Collaborative Fairness in Federated Learning论文阅读笔记
论文地址:https://arxiv.org/abs/2008.121611.介绍大多数现有的分布式或FL框架忽略了参与的一个重要方面:协作公平性。特别是,所有参与者都可以收到相同或类似的模型,而不管他们的贡献如何。为了解决这个问题,本文研究了FL中的协作公平性,并提出了一个新的协作公平联合学习(CFFL)框架,该框架利用声誉强制参与者收敛到不同的模型,从而在不影响预测性能的情况下实现公平性。在基准数据集上的大量实验表明,CFFL实现了高公平性,提供了与分布式框架相当的精度,并且优于标准框架。
2021-10-24 15:56:33
992
1
原创 web开发之JavaScript(3) 事件
1. JavaScript常见的事件共有以下5种(1)鼠标事件 (2)键盘事件 (3)表单事件 (4)编辑事件 (5)页面事件2.调用事件的方法:在script标签中调用(常用) , 在元素中调用obj.事件名 = function() { …… };3.鼠标事件鼠标点击 onclick鼠标移动 onmouseover和onmouseout分别用于控制鼠标“移入”和“移出”这两种状态鼠标按下onmousedown 鼠标松开onmouseup4.键盘事件(1...
2021-09-30 10:57:41
243
原创 联邦学习part1概述
1.联邦学习定义:联邦学习是利用分散在各参与方的数据集,通过隐私保护技术融合多方数据信息,协同构建全局模型的一种分布式训练方式。在模型训练过程中,模型的相关信息能够在各参与方之间交换(交换方式可以是明文或加密的),但本地训练数据不会离开本地。训练好的联邦学习模型可以在各数据参与方之间共享和部署使用。2.联邦学习的核心理念:数据不动模型动,数据可用不可见3.联邦学习的特征:(也是进行算法和理论分析时应遵守的原则和前提)有两个或以上的联邦学习参与方协作构建一个共享的机器学习..
2021-09-28 10:43:35
493
原创 web开发之---Javascript(2) 核心DOM
1.DOM简介 ——DOM操作,可以简单理解成“元素操作”全称“Document Object Model(文档对象模型)”,它是由W3C定义的一个标准。DOM采用的是“树形结构”,用“树节点”形式来表示页面中的每一个元素.我们在操作元素时,其实就是把这个元素看成一个对象,然后使用这个对象的属性和方法来进行相关操作。2.节点类型 ——DOM节点共有12种类型,不过常见的只有3种。(1)元素节点 nodeType值:1 (2)属性节点 2 (3)文本节点 3...
2021-08-12 22:32:04
207
原创 web开发之----- javascript(1)
1.var str = n + “”; 这一句代码中让n(比如数字)加上一个空字符,其实就是为了让n转换成字符串2.使用charAt()方法来获取字符串中的某一个字符.substring(start,end)截取范围为:[start,end)3.使用indexOf()方法来找出“某个指定字符串”在字符串中首次出现的下标位置,也可以使用lastIndexOf()来找出“某个指定字符串”在字符串中最后出现的下标位置4. .length获取长度, str.split(' ') 字符串以什么分隔开 ..
2021-08-11 21:16:30
127
原创 web开发之----CSS基础知识
1.选择器(1)元素选择器:选中相同的元素,然后对相同的元素定义同一个CSS样式。div{color:red;} (2)id选择器: 为元素设置一个id属性,唯一的.#id名{color:red;} (3)class选择器:对拥有同一个class的元素进行CSS样式操作.类名{color:red;} (4)后代选择器:#father1 div {color:red;} id为father1的元素”下的所有div元素红色 (5)群组选择器:#id名,.类名,span{color:red;...
2021-08-10 21:53:29
112
原创 web开发之----Html基础知识
1.简单标签title标签是head标签的内部标签,其中<title></title>标签内定义的内容是页面的标题。<p></p>是段落标签,段落标签是会自动换行的。br标签是用来给文字换行的,而p标签是用来给文字分段的。 <br / >在HTML中,一般来说,只有6个标签能放在head标签内。(1)title标签 (2)meta标签 (3)link标签 (4)style标签 (5)script标签 (6)base标签2
2021-08-09 18:18:34
219
原创 python装饰器@classmethod,staticmethod,property
1.是什么?2.如何定义和使用?a : 外围函数 b 内嵌函数 c 参数函数(就是func)一个完整的过程3.类的常用装饰器 classmethod,staticmethod,property@classmethod : 将类函数可以不经过实例化而直接被调用def func(cls,...): do注:类函数中的一个参数将从self变成cls,代表当前操作的是类。而self代表实例化的对象。@staticmethod :在普通的类函...
2021-07-10 16:19:36
327
原创 python迭代器
1.什么是迭代器,作用?按需加载,一部分内容写在内存中的同时就可以读取。读取完后内存释放(生活例子:售货员一边在摆放苹果,顾客就可以一边拿,而不是全部摆放完才能拿)2. iter() 函数iterator = iter ( iterable)iterable: 可迭代的数据类型 iterator: 迭代器对象使用: next(iterator) 返回迭代器中数据超过的话会报错3.生成迭代器的方法也是 每next()一次 才会读取一个 i 并不是把所有的 i 都...
2021-07-10 14:28:25
170
原创 python模块与包,序列化,yaml,加密,logs
1.包(__init__.py是每一个python包中必须有的文件)→ 模块(一些脚本.py文件) →函数import只能获取到当前包下__init__.py里定义的功能或当前模块(.py文件)下的功能from...(package)import...(module) as 别名 /// module.函数()或from...(package).moduleimport...(函数) as 别名__init__.py 引入 同级别的包的模块中的函数 from.mo...
2021-07-05 21:43:19
477
原创 python异常处理try,except,finally,raise,assert
1.try,except2.捕获异常通用异常 except Exception as e:具体异常 except <具体的异常类型> as e (e.g. ZeroDivisionError 就是一个python内置的具体异 except ZeroDivisionError as e)捕获多个异常时:法1:多写几个except,当except代码块有多个的时候,当捕获到第一个后,不会继续往下捕获。法2:元组类型3.python中的异常类型4...
2021-07-05 09:55:54
643
原创 python正则表达式
1.应用:判断一个字符串是否符合规则,取出符合规则的数据2. import re 正则表达式模块re.search() 匹配一次(但后面有组的概念)re.findall() 可以匹配多次,找出所有满足的具体用法和re模块的其他一些函数写在下面第8点.3.匹配字符e.g. re.findall('\W',data) 但匹配出的都是单个字符4.量词符号与组5. 一些例子"| "或的关系,只要存在就能捕获,匹配到的数据按字符串的数据返回而不是按照匹配规...
2021-07-04 14:57:47
142
原创 python面向对象---类,继承多态等等
1.类函数中有一个默认必传的函数,self,并且必须放在第一个参数位置类属性(变量)类函数(类函数中的变量常叫做类变量)在函数中调用类属性 self.类属性实例化一个类:2. self细说:3.构造函数4.对象的生命周期类中的内置函数 :左右都有两个下划线__ ... __python中一切都是对象,字典,列表,变量,。。。。。。__del__默认直接存在 不需要写5.私有函数和私有变量私有函数与私有变量的定义方法:在变量或函数前添...
2021-06-28 17:05:55
128
原创 python函数与参数
1. 必传参数,默认参数,可变参数可变参数:参数定义类型的方法 ------ 变量名 : 数据类型2.全局变量,局部变量全局变量可以在函数被读取使用,但无法进行修改,修改后只在函数局部内变了,在函数体外,全局变量仍未改变。函数外部不能使用局部变量global关键字:将全局变量可以在函数体内进行修改。(但不建议使用)但支持字符串,数字,空类型,bool。列表和字典等不需要global关键字就可以修改3.匿名函数lambda功能:定义一个轻量化的函数,...
2021-06-26 19:45:28
137
原创 python集合与数据类型转换
一.集合set 集合是一个无序的不重复元素序列,常用来对两个列表进行交并差的处理性,集合与列表一样,支持所有数据类型。set() 函数创建集合 { } 不能用{ }来定义集合,会被认为是字典类型2.一些函数 add() remove() update() clear() del()略3.difference()函数 集合的差集属于a不属于b的元素 为a与b 的差集 a.difference( b )4.intersection()函数 集合的交集a...
2021-06-25 19:12:54
923
原创 python字典常用方法
字典没有索引 dict [ 'key' ] = value修改或添加,每个key是唯一的1.update函数添加新的字典,若新字典中的key在原字典中有,则会被新的value覆盖dict.update(new_dict)2.setdefault函数获取某个key的value,若key不存在,将添加key并设置value为默认值dict.setdefault(key,value) 操作的dict3. keys函数获取当前字典中的所有键keys返回的伪列表不好...
2021-06-24 22:32:09
322
原创 python列表常用方法
1.累加与乘法 name = [ ] name + name, name * 10.元组和列表 += ,*= 都可以2.append函数将一个元素添加到当前列表中。 list.append(new_item) 只会添加到末尾,在原有列表上操作,显示了列表的可修改性(字符串往往是修改后赋给一个新的字符串)3.insert函数将一个元素添加到当前列表的指定位置中。 list.insert(index, new_item) ,如果位置不存在,则将新元素添加到列表结尾。4.cou...
2021-06-24 18:26:13
220
原创 python字符串常用函数、格式化
一.字符串的函数操作1.capitalize()函数将字符串的首字母大写,其他字母小写 newstr = string.capitalize()2.lower()函数 / casefold()将字符串全体小写3.upper()函数将字符串全体大写4.swapcase()函数将字符串中大小写字母进行转换5.zfill()函数为字符串定义长度,如果不满足,缺少的部分用0填补newstr = string.zfill(width) 在前面填补齐,如果定义长度小于当前...
2021-06-23 21:32:32
601
原创 linux最基础常用命令
1. cp# cp 是用于复制的命令 # 常用格式: cp 源文件 目标文件 cp -r Code Code2-r 表示操作目录,如果是文件则不需要加-r.2.mv使用mv命令移动index.txt到Code2目录下 mv index.txt Code2/重命名Code2为documents mv Code2 documents3.cat使用cat命令查看文件全部内容 cat 文件名4.head,tail使用head命令查看passwd头十条内容 如果要...
2021-06-21 18:52:08
125
原创 python中最基础知识
1.python 解释器,IDE(集成开发环境 pycharm),脚本2.头注释:(不是必须的)3.内置函数print4.注释三种方法 1. #2. 三引号'' '' ''多行 '' '' '' 3.单引号 ''' ....'''5.python脚本的执行入口 一般称为主函数main __name__ == '__main.py__' 双下划线6.input7.变量8.python中的关键字(分强关键字,弱关键字)关键字和变量的区别:常...
2021-06-21 18:34:27
133
原创 Daily--正则化与loss
1.代价函数,损失函数与目标函数的区分目标函数是最终需要优化的函数(最大化或者最小化),其中包括经验损失和结构损失。obj=loss+Ω,经验损失(loss)就是传说中的损失函数或者代价函数。结构损失(Ω)就是正则项之类的来控制模型复杂程度的函数。损失函数和代价函数是同一个东西,目标函数是一个与他们相关但更广的概念,对于目标函数来说在有约束条件下的最小化就是损失函数(loss function)2.过拟合与欠拟合过拟合:高方差(variance) (下图左)欠拟合:高偏差(bias.
2021-05-24 21:16:04
742
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅