LLMs之:ReaderLM-v2的简介、安装和使用方法、案例应用

LLMs之:ReaderLM-v2的简介、安装和使用方法、案例应用

目录

ReaderLM-v2的简介

1、ReaderLM-v2的模型架构

2、ReaderLM-v2的性能

2.1、定量评估

2.2、定性评估

2.3、训练细节

ReaderLM-v2的安装和使用方法

1、ReaderLM-v2 安装

T1、通过 Reader API 使用

T2、在 Google Colab 上使用

T3、本地使用

ReaderLM-v2的案例应用

1、HTML 到 Markdown 示例

2、HTML 到 JSON 示例


ReaderLM-v2的简介

ReaderLM-v2 是一个拥有 15.4 亿参数的语言模型,能够将原始 HTML 转换成格式优美的 Markdown 或 JSON,具有更高的准确性和改进的长上下文处理能力。它支持多种语言(共 29 种),专门用于处理 HTML 解析、转换和文本提取的任务。

ReaderLM-v2 相较于其前身,取得了显著进步:

>> 更好的 Markdown 生成: 得益于新的训练范式和更高质量的训练数据,该模型擅长生成复杂的元素,例如代码围栏、嵌套列表、表格和 LaTeX 公式。

>> JSON 输出: 引入了直接的 HTML 到 JSON 生成,使用预定义的模式,无需中间 Markdown 转换。

>> 更长的上下文处理: 能够处理多达 512K 个标记的组合输入和输出长度,在长篇内容上的性能有所提高。

>> 多语言支持: 全面支持 29 种语言,应用范围更广。

>> 增强的稳定性: 通过训练过程中的对比损失,大大减轻了生成长序列后的退化问题。

HuggingFace地址:https://huggingface.co/jinaai/ReaderLM-v2

1、ReaderLM-v2的模型架构

模型类型: 自回归,仅解码器 Transformer

参数数量: 15.4 亿

上下文窗口: 最多 512K 个标记(组合输入和输出)

隐藏大小: 1536

层数: 28

查询头: 12

KV 头: 2

头大小: 128

中间大小: 8960

支持的语言: 英语、中文、日语、韩语、法语、西班牙语、葡萄牙语、德语、意大利语、俄语、越南语、泰语、阿拉伯语等等(共 29 种)

2、ReaderLM-v2的性能

ReaderLM-v2 在各种任务上都进行了广泛的评估:

2.1、定量评估

HTML 到 Markdown 任务: 在 ROUGE-L、Levenshtein 距离和 Jaro-Winkler 相似度方面,其性能优于 Qwen2.5-32B-Instruct 和 Gemini2-flash-expr 等更大的模型。

HTML 到 JSON 任务: 在 F1 分数、精确度、召回率和通过率方面表现出色。

2.2、定性评估

在内容完整性、结构准确性和格式符合性三个方面都表现出色。

2.3、训练细节

ReaderLM-v2 基于 Qwen2.5-1.5B-Instruction 构建,并使用复杂的流水线进行训练:数据准备、合成数据生成(包括起草、改进和评论三个步骤)、以及训练过程(长上下文预训练、监督微调、直接偏好优化和自我博弈强化调整)。

ReaderLM-v2的安装和使用方法

1、ReaderLM-v2 安装

T1、通过 Reader API 使用

ReaderLM-v2 已完全集成到 Reader API 中。要使用它,只需在请求头中指定 x-engine: readerlm-v2 并使用 -H 'Accept: text/event-stream' 启用响应流:

curl https://r.jina.ai/https://news.ycombinator.com/ -H 'x-engine: readerlm-v2' -H 'Accept: text/event-stream'

无 API 密钥也能使用,但速率限制较低。 更高的速率限制需要购买 API 密钥。请注意,ReaderLM-v2 请求会消耗 API 密钥分配中 3 倍的正常标记数量。

T2、在 Google Colab 上使用

可以通过提供的 Colab notebook 体验 ReaderLM-v2,该 notebook 演示了 HTML 到 Markdown 转换、JSON 提取以及使用 HackerNews 首页作为示例的指令遵循。 notebook 针对 Colab 的免费 T4 GPU 层进行了优化,需要 vllm 和 triton 进行加速和运行。

T3、本地使用

要本地使用 ReaderLM-v2:

安装依赖项:

pip install transformers

加载并运行模型:

from transformers import AutoModelForCausalLM, AutoTokenizer

device = "cuda"  # or "cpu"
tokenizer = AutoTokenizer.from_pretrained("jinaai/ReaderLM-v2")
model = AutoModelForCausalLM.from_pretrained("jinaai/ReaderLM-v2").to(device)

(可选) 预处理 HTML: 为了减少噪声和输入长度,可以预先清理 HTML 以移除脚本、样式、注释等:

# clean_html 函数代码 (已在问题描述中提供)

创建提示:

# create_prompt 函数代码 (已在问题描述中提供)

运行模型: 使用 tokenizer.encode 将提示编码,然后使用 model.generate 生成输出,最后使用 tokenizer.decode 解码输出。

ReaderLM-v2的案例应用

示例展示了如何将 HTML 转换为 Markdown 和 JSON:

1、HTML 到 Markdown 示例

代码示例中展示了如何将简单的 HTML 代码转换为 Markdown。

2、HTML 到 JSON 示例

代码示例中展示了如何根据预定义的 JSON 模式将 HTML 转换为 JSON。 这需要提供一个 schema 参数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/956994.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言内存之旅:从静态到动态的跨越

大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言正文一 动态内存管理的必要性二 动态…

[STM32 HAL库]串口中断编程思路

一、前言 最近在准备蓝桥杯比赛(嵌入式赛道),研究了以下串口空闲中断DMA接收不定长的数据,感觉这个方法的接收效率很高,十分好用。方法配置都成功了,但是有一个点需要进行考虑,就是一般我们需要…

PyTorch使用教程(10)-torchinfo.summary网络结构可视化详细说明

1、基本介绍 torchinfo是一个为PyTorch用户量身定做的开源工具,其核心功能之一是summary函数。这个函数旨在简化模型的开发与调试流程,让模型架构一目了然。通过torchinfo的summary函数,用户可以快速获取模型的详细结构和统计信息&#xff0…

Java模拟路由协议-rip(路由器仿真实验)

前言: 好久不见,有段时间没有写文章了,本篇文章,由Blue我带大家来复现rip协议。我们以 b站湖南教师匠所讲rip的视频中的例子为我这篇文章所模拟的路由路径 如图: 模拟路径 视频:http://【深入浅出计算机网络…

32V/4A,降压DCDC转换器CP8384百分百占空比输出ESOP8封装,可适用HUB等电路设计

特点: ● Supply Voltage Range: 4.1V~32V ● Input voltage up to 40V ● 4A Continuous Output Current ● Up to 95% Output Efficiency ● CC/CV control ● 350kHz Switching Frequency ● Built-in Soft Start ● 100% Maximum Duty Cycle ● No External Com…

缓存、数据库双写一致性解决方案

双写一致性问题的核心是确保数据库和缓存之间的数据同步,以避免缓存与数据库数据不同步的问题,尤其是在高并发和异步环境下。本文将探讨双写一致性面临的主要问题和解决方案,重点关注最终一致性。 本文讨论的是最终一致性问题 双写一致性面…

【学习笔记15】如何在非root服务器中,安装属于自己的redis

一、下载安装包 官网下载黑马程序员给的安装包(redis-6.2.6) 二、将安装包上传至服务器 我将安装包上传在我的文件夹/home/XXX,指定路径中/src/local/redis/,绝对路径为/home/XXX/src/local/redis/解压安装包 XXXomega:~$ cd …

计算机网络 (51)鉴别

前言 计算机网络鉴别是信息安全领域中的一项关键技术,主要用于验证用户或信息的真实性,以及确保信息的完整性和来源的可靠性。 一、目的与重要性 鉴别的目的是验明用户或信息的正身,对实体声称的身份进行唯一识别,以便验证其访问请…

【大模型】ChatGPT 高效处理图片技巧使用详解

目录 一、前言 二、ChatGPT 4 图片处理介绍 2.1 ChatGPT 4 图片处理概述 2.1.1 图像识别与分类 2.1.2 图像搜索 2.1.3 图像生成 2.1.4 多模态理解 2.1.5 细粒度图像识别 2.1.6 生成式图像任务处理 2.1.7 图像与文本互动 2.2 ChatGPT 4 图片处理应用场景 三、文生图操…

后端:MyBatis

文章目录 1. MyBatis1-1. Mybatis 工具类的封装1-2. Mybatis 通过集合或实体类传递参数-实现插入数据(增)1-3. MyBatis 实现删除数据(删)1-4. MyBatis 实现修改数据(改)1-5. MyBatis 实现查询数据(查) 2. MyBatis 配置文件中的一些标签和属性2-1.environments标签2-2. dataSour…

将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch(1.标准版)

问题 项目里使用了 AzureBlob 存储了用户上传的各种资源文件,近期 AzureBlob 的流量费用增长很快,想通过分析Blob的日志,获取一些可用的信息,所以有了这个需求:将存储账户的日志(读写,审计&…

数字化时代,传统代理模式的变革之路

在数字化飞速发展的今天,线上线下融合(O2O)成了商业领域的大趋势。这股潮流,正猛烈冲击着传统代理模式,给它带来了新的改变。 咱们先看看线上线下融合现在啥情况。线上渠道那是越来越多,企业纷纷在电商平台…

【AI | pytorch】torch.polar的使用

一、torch.polar的使用 torch.polar 是 PyTorch 中用来生成复数张量的一个函数,但它与数学中的复数表达式 ( z re^{i\theta} ) 是等价的。 具体来说,torch.polar(abs, angle) 接受两个实数张量参数: abs:表示复数的模长&#…

LeetCode 110.平衡二叉树

题目描述 给定一个二叉树,判断它是否是平衡二叉树。 示例 1: 示例 2: 输入:root [1,2,2,3,3,null,null,4,4] 输出:false 示例 3: 输入:root [] 输出:true 提示: …

数据结构(Java版)第四期:ArrayLIst和顺序表(上)

目录 一、顺序表 1.1. 接口的实现 二、ArrayList简介 2.1. ArrayList的构造 2.2. ArrayList的常见操作 2.3. ArrayList的扩容机制 三、ArrayList的具体使用 3.1. 洗牌算法 3.2. 杨辉三角 一、顺序表 上一期我们讲到过,顺序表本质上和数组是差不多的&#…

阿里云 Serverless 助力盟主直播:高并发下的稳定性和成本优化

在直播场景中,阿里云 Serverless 应用引擎 SAE 提供的无缝弹性伸缩与极速部署能力,确保直播间高并发时的流畅体验,降低了我们的运营成本,简化了运维流程。结合阿里云云原生数据库 PolarDB 的 Serverless 能力,实现了数…

【机器学习实战入门】基于深度学习的乳腺癌分类

什么是深度学习? 作为对机器学习的一种深入方法,深度学习受到了人类大脑和其生物神经网络的启发。它包括深层神经网络、递归神经网络、卷积神经网络和深度信念网络等架构,这些架构由多层组成,数据必须通过这些层才能最终产生输出。…

Qt之QDjango-db的简单使用

QDjango是一款由C编写、依托于Qt库的Web开发框架,其设计理念受到了广受欢迎的Python框架Django的影响。这个项目旨在提供一个高效、灵活且易于使用的工具集,帮助开发者构建高质量的Web应用。其项目地址: https://gitcode.com/gh_mirrors/qd/qdjango&…

[2025分类时序异常检测指标R-AUC与VUS]

梳理了一下分类中常见的指标,这些指标与时序异常检测中新提出的A-RUC与VUS之间的关系 真正例(True Positive,TP): 被正确识别为正样本的数量。真负例(True Negative,TN): 被正确识别为负样本的数量。假正例(False Positive ,FP): 被错误识为正样本数量假负例(Fals…

python3GUI--仿崩坏三二次元登录页面(附下载地址) By:PyQt5

文章目录 一.前言二.预览三.实现方案1.实现原理1.PyQt52. 具体实现 2.UI设计1.UI组件化、模块化2.UI设计风格思路 3.项目代码结构4.使用方法3.代码分享1.支持跳转网页的QLabel组件2.三角形ICON按钮 四.总结 大小:33.3 …