当前位置: 首页 > news >正文

llama_index微调BGE模型

微调模型是为了让模型在特殊领域表现良好,帮助其学习到专业术语等。

本文采用llama_index框架微调BGE模型,跑通整个流程,并学习模型微调的方法。
已开源:https://github.com/stay-leave/enhance_llm

一、环境准备

Linux环境,GPU L20 48G,Python3.8.10。
pip该库即可。

二、数据准备

该框架实现了读取各种类型的文件,给的示例就是pdf。
在这里插入图片描述
因此准备了一些网络舆情相关的论文pdf,选择70%作为训练数据,剩下作为验证数据。都放在data文件夹下。
在这里插入图片描述

三、微调脚本编写

1.读取数据

使用SimpleDirectoryReader类读取文件。
读取到文本后,使用SentenceSplitter将一个很长的文档切分为若干块。
每一块设置的有token数和重叠token数,在
在这里插入图片描述可以自选,默认的chunk_size大小没找到在哪,重叠的是200.
在这里插入图片描述以上是库的源码实现,我们调用是很简单的。VAL_CORPUS_FPATH 我一开始以为是在load_corpus里的某个类自动保存,结果根本没有。所以自己写了导出为json的函数,是将其text数据保存了。

# 源文件 列表
my_list = [i for i in os.listdir('project_2/data') if i.endswith('pdf')]
# 随机抽取70%的数据,作为训练集
random.shuffle(my_list) # 打乱
num_to_sample = int(len(my_list) * 0.7) # 阈值
# 构造本地文件路径
training_set = [f"project_2/data/{file}" for file in my_list[:num_to_sample]] # 训练集文件list
validation_set = [f"project_2/data/{file}" for file in my_list[num_to_sample:]] # 验证集文件list# 最终形成的训练和验证语料
TRAIN_CORPUS_FPATH = 'project_2/data/corpus/train_corpus.json'
VAL_CORPUS_FPATH = 'project_2/data/corpus/val_corpus.json'# 读取pdf数据,节点
def load_corpus(files, verbose=False):if verbose:print(f"正在加载文件 {files}")reader = SimpleDirectoryReader(input_files=files)docs = reader.load_data()if verbose:print(f"已加载 {len(docs)} 个文档")parser = SentenceSplitter()nodes = parser.get_nodes_from_documents(docs, show_progress=verbose)if verbose:print(f"已解析 

相关文章:

llama_index微调BGE模型

微调模型是为了让模型在特殊领域表现良好,帮助其学习到专业术语等。 本文采用llama_index框架微调BGE模型,跑通整个流程,并学习模型微调的方法。 已开源:https://github.com/stay-leave/enhance_llm 一、环境准备 Linux环境,GPU L20 48G,Python3.8.10。 pip该库即可。…...

什么是限流?常见的限流算法

目录 1. 什么是限流 2. 常见限流算法 3. 固定窗口算法 4. 滑动窗口算法 5. 漏桶算法 6. 令牌桶算法 7. 限流算法选择 1. 什么是限流 限流(Rate Limiting)是一种应用程序或系统资源管理的策略,用于控制对某个服务、接口或功能的访问速…...

ZL-0895小动物活动记录仪可同时检测8只动物的活动量

简单介绍: 小动物活动记录仪是一种多用途、宽范围的小动物活动记录仪器,可用于小鼠、大鼠、豚鼠和兔的实验,小动物活动记录仪​具有不需对动物使用特别盛具的特点,可在不改变动物原生活环境的情况下,进行实时监测&…...

注册测绘师的前世今生

本文梳理了 注册测绘师 的前世今生,具体情况如下表: 历史线时间事件诞生2007年1月原人事部、国家测绘局联合印发《注册测绘师制度暂行规定》,注册测绘师制度建立。同时同步发布《注册测绘师资格考试实施办法》、《注册测绘师资格考核认定办法…...

Python中的异常处理:深入探索try-except-finally结构

Python中的异常处理:深入探索try-except-finally结构 一、引言 在Python编程中,异常处理是一个非常重要的部分。当程序遇到错误时,比如尝试除以零、文件读取失败等,Python会抛出一个异常。如果我们不捕获这些异常,程…...

【R语言】边缘概率密度图

边缘概率密度图是一种在多变量数据分析中常用的图形工具,用于显示每个单独变量的概率密度估计。它通常用于散点图的边缘,以便更好地理解单个变量的分布情况,同时保留了散点图的相关性信息。 在边缘概率密度图中,每个变量的概率密度…...

中国结(科普)

中国结是一种手工编织工艺品,它身上所显示的情致与智慧正是汉族古老文明中的一个侧面。 [1]它原本是由旧石器时代的缝衣打结,后推展至汉朝的仪礼记事,再演变成今日的装饰手艺。周朝人随身的佩戴玉常以中国结为装饰,而战国时代的铜…...

使用Android Studio 搭建AOSP FrameWork 源码阅读开发环境

文章目录 概述安装Android Studio编译源码使用Android Studio打开源码制作ipr文件直接编译成功后自动打开Android Studio 修改SystemUI验证开发环境 概述 我们都知道Android的系统源码量非常之大,大致有frameworka层源码,硬件层(HAL)源码,内…...

区块链 | IPFS:CID

🦊原文:Anatomy of a CID 🦊写在前面:本文属于搬运博客,自己留存学习。 1 CID 在分布式网络中与其他节点交换数据时,我们依赖于内容寻址(而不是中心化网络的位置寻址)来安全地定位…...

PostgreSQL(十二)报错:Tried to send an out-of-range integer as a 2-byte value: 51000

目录 一、报错场景二、源码分析三、实际原因(更加复杂)四、解决思路 一、报错场景 今天写了一个历史数据处理程序,在开发环境、测试环境都可以正常执行,但是放到生产环境上就不行,报了一个这样的错误: or…...

Linux守护进程

进程组和会话在 UNIX 系统中是非常重要的概念,特别是在进行作业控制和终端会话管理时。下面是关于进程组和会话的详细解释: 进程组(Process Group) 定义与作用: 进程组是一个或多个进程的集合,这些进程通常…...

HarmonyOS 应用开发——入门

首先当然是华为的官方文档了,要认真学习: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-overview-0000001478061421-V2 不想花时间看,可以看我下面总结的干货,哈哈 第一个问题:stage架构和fa架构的区…...

开源免费的发票识别OCR应用:Invoice

Invoice:轻松识别,发票电子化扫描烦恼消- 精选真开源,释放新价值。 概览 Invoice 是github社区上一个采用开源许可协议发布的增值税发票光学字符识别(OCR)解决方案项目。该项目不仅集成了预训练的高级模型&#xff0c…...

关于Docker alpine

1.拉取alpine镜像 docker pull alpine 2.运行镜像成为容器 docker run -it --rm alpine sh (--rm标志确保容器在退出时被自动删除。) 3.容器建立后&#xff0c;运行 docker exec -it <container_id> sh 4.进入容器里的 alpine环境 ①.配置安装源 cat >/etc…...

【Elasticsearch运维系列】Elasticsearch7.12.1启动指定版本JDK:你学废了吗?

一、背景 一套生ES集群&#xff0c;版本为7.12.1&#xff0c;近期频繁告警&#xff0c;频繁出现索引分片异常&#xff0c;索引状态异常&#xff0c;导致应用无法正常写入ES&#xff0c;另外&#xff0c;也经常出现节点掉问题。通过分析相关ES日志&#xff0c;显示和当前JAVA G…...

思通数科大模型在智能数据查询系统中的深度应用:销售数据分析的革新

在企业决策支持系统中&#xff0c;销售数据分析占据着举足轻重的地位。思通数科的大模型技术&#xff0c;结合自然语言处理&#xff08;NLP&#xff09;和机器学习&#xff0c;为智能数据查询系统提供了强大的分析能力。本文将详细描述思通数科大模型在销售数据分析中的应用&am…...

上位机图像处理和嵌入式模块部署(树莓派4b和qt应用全屏占有)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 我们都知道&#xff0c;嵌入式应用一般都是为了某一个特定应用而存在的。也就是说&#xff0c;和pc不同&#xff0c;这个嵌入式板子一般都是为了解…...

QT:QT窗口(一)

文章目录 菜单栏创建菜单栏在菜单栏中添加菜单创建菜单项添加分割线 工具栏创建工具栏设置停靠位置创建工具栏的同时指定停靠位置使用QToolBar类提供的setAllowedAreas函数来设置停靠位置 设置浮动属性设置移动属性 状态栏状态栏的创建在状态栏中显示实时消息在状态栏中显示永久…...

matlab例题大全

1.第1章 MATLAB系统环境 1.1 注&#xff1a;plot函数为画图函数。例plot&#xff08;x1,y1,:,x2,y2,*&#xff09;; 1.2 注&#xff1a;root为求根函数。p为方程变量前面系数矩阵。 1.3 注&#xff1a; 2*x3y-1*z 2; 8*x2*y3*z 4; 45*x3*y9*z 23 求&#xff1a;x,y,z的…...

SwiGLU激活函数

SwiGLU激活函数已经成为LLM的标配了。它是GLU的变体&#xff0c;公式如下&#xff1a; SwiGLU ⁡ ( x , W , V , b , c , β ) Swish ⁡ β ( x W b ) ⊗ ( x V c ) \operatorname{SwiGLU}(x, W, V, b, c, \beta)\operatorname{Swish}_\beta(x Wb) \otimes(x Vc) SwiGLU(x,…...

用Python+OpenCV实现双目相机三维重建:从标定到triangulatePoints的完整流程

PythonOpenCV双目三维重建实战&#xff1a;从标定到点云生成的完整指南 当你第一次看到双目相机生成的彩色点云在屏幕上缓缓旋转时&#xff0c;那种震撼感难以言表。两个普通的USB摄像头&#xff0c;经过精确标定和算法处理&#xff0c;竟能重建出真实世界的三维结构。本文将带…...

GPT-SoVITS语音克隆技术深度解析:从原理到实战的完整指南

GPT-SoVITS语音克隆技术深度解析&#xff1a;从原理到实战的完整指南 【免费下载链接】GPT-SoVITS 项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS 你是否曾幻想过&#xff0c;只需短短几秒钟的录音&#xff0c;就能让AI完美模仿任何人的声音&#xff1…...

DataX 实战:从零部署到多场景数据同步

1. DataX入门&#xff1a;为什么选择它作为数据同步工具 第一次接触DataX是在三年前的一个紧急项目里&#xff0c;当时需要把生产环境的MySQL数据实时同步到分析库。试过几种方案后&#xff0c;最终被DataX的稳定性和灵活性打动。作为阿里开源的数据同步工具&#xff0c;它最大…...

RocketMQ Dashboard监控告警配置全攻略:集成Prometheus+Grafana+钉钉

RocketMQ企业级监控告警体系构建指南&#xff1a;从Dashboard到智能预警 1. 监控体系架构设计基础 在分布式消息中间件的运维实践中&#xff0c;一套完善的监控告警系统如同人体的神经系统&#xff0c;能够实时感知集群状态并及时响应异常。RocketMQ Dashboard作为官方提供的管…...

太阳能电池阵列监测实战:用AMC1301搞定200V共模电压下的单体电压采集

太阳能电池阵列单体电压监测&#xff1a;基于AMC1301的高压隔离采集方案设计指南 光伏电站的电池阵列通常由数十至数百块单体电池串联组成&#xff0c;系统电压可达600-1500V。在这种高压堆叠场景下&#xff0c;如何准确监测每块单体电池的电压&#xff08;通常仅0.5-0.7V&…...

ArcMap新手必看:5分钟搞定面要素的四至信息提取(附字段重命名技巧)

ArcMap新手实战&#xff1a;5分钟高效提取面要素四至信息与字段优化技巧 刚接触ArcMap的GIS实习生或规划人员&#xff0c;常常需要快速处理行政区划数据并生成规范的四至报告。面对属性表中密密麻麻的英文字段名和冗余数据&#xff0c;如何高效完成从数据加载到结果美化的全流程…...

HiveSQL实战:巧用前后函数(lag/lead)解析用户行为序列

1. 窗口函数与用户行为分析的完美结合 做数据分析的朋友们应该都遇到过这样的场景&#xff1a;老板让你分析用户从浏览商品到最终下单的平均时间间隔&#xff0c;或者找出那些在关键页面停留时间过长的流失用户。这类问题本质上都是在分析用户行为序列&#xff0c;而HiveSQL中的…...

Gemini 3.1 Pro官网架构革新解析:MoE稀疏性、多模态统一表示与技术实现

对于追求前沿AI模型底层逻辑的研究者与工程师而言&#xff0c;2026年Google发布的Gemini 3.1 Pro不仅仅是一次性能迭代&#xff0c;更是在混合专家系统稀疏性、原生多模态统一表示及动态计算分配等核心架构上的一次深度演进。 要零门槛、高自由度地探究其技术本质&#xff0c;…...

Ai人工智能知识补充

文章目录 1.5 数据与算法基础:智能系统的“燃料”与“引擎” 1.5.1 数据工程:从原始数据到模型“燃料”的全链路 1.5.2 算法模型构建:从问题定义到模型部署的“炼金术” 1.5.3 数据隐私与安全:在价值挖掘与权利保护间走钢丝 1.6 面临的主要挑战:通往真正智能之路的险阻 1.…...

Simple Comic:Mac平台的开源漫画阅读解决方案

Simple Comic&#xff1a;Mac平台的开源漫画阅读解决方案 【免费下载链接】Simple-Comic OS X comic viewer 项目地址: https://gitcode.com/gh_mirrors/si/Simple-Comic 你是否曾遇到这样的困扰&#xff1a;在Mac上尝试打开漫画文件时&#xff0c;不是格式不兼容就是阅…...