HtmlRAG开源,RAG系统联网搜索能力起飞~

网络是RAG系统 中使用的主要外部知识来源,许多商业系统,如ChatGPT和Perplexity ,都使用网络搜索引擎作为他们的主要检索系统。传统的RAG系统将网页的HTML内容转换为纯文本后输入LLM,这会导致结构和语义信息的丢失

HTML转换为纯文本时的信息丢失

为此,提出了HtmlRAG ,它使用HTML而不是纯文本作为RAG系统中外部知识的格式。为了应对HTML带来的长上下文,提出了无损HTML清理基于两步块树的HTML修剪(Two-Step Block-Tree-Based

HtmlRAG总体概述

  • 无损HTML清理:这个清理过程仅移除完全不相关的内容,并压缩冗余结构,保留原始HTML中的所有语义信息。无损HTML清理压缩后的HTML适用于具有长上下文LLMs的RAG系统,并且不愿意在生成之前丢失任何信息。

  • 基于两步块树的HTML修剪 :基于块树的HTML修剪包括两个步骤,这两个步骤都在块树结构上进行。第一步修剪使用嵌入模型为块计算分数 ,而第二步使用路径生成模型。第一步处理无损HTML清理的结果,而第二步处理第一步修剪的结果。

**块分数计算。**块树通过分词器转换为令牌树,相应的HTML标签和令牌用相同颜色标记。令牌生成概率在右上角显示,虚线框中的令牌不需要推理。在块树的右上角,显示了块概率,概率可以从相应的令牌概率中推导出来

生成模型Prompt

复制代码
Input:**HTML**: "{HTML}"**Question**: **{Question}**Your task is to identify the most relevant text pieceto the given question in the HTML document. This textpiece could either be a direct paraphrase to the fact,or a supporting evidence that can be used to infer thefact. The overall length of the text piece should bemore than 20 words and less than 300 words. You shouldprovide the path to the text piece in the HTML document.An example for the output is: <html1><body><div2><p>Somekey information...Output:<html1><body><div2><p>At the historic 2018 Royal Rumble,Shinsuke Nakamura won the Men's Royal Rumble. . .

在六个不同的问答数据集上进行了实验,包括模糊问答、自然问答、多跳问答和长形式问答,HtmlRAG在所有数据集上的表现均优于或等于现有的基于纯文本的后检索处理方法:BM25、BGE、E5-Mistral、LongLLMLingua、JinaAI Reader

复制代码
https://arxiv.org/pdf/2411.02959HtmlRAG: HTML is Better Than Plain Text for Modeling Retrieved Knowledge in RAG Systemshttps://github.com/plageon/HtmlRAG

来源 | PaperAgent

相关推荐
lipku2 小时前
LiveTalking 更新:集成 vLLM-Omni TTS服务
python·开源·数字人·vllm·实时数字人
Par@ish2 小时前
关于开源GNU通用许可(GPLv3)详细解说
web安全·开源·开源协议
SeaTunnel4 小时前
87 个 PR 迭代复盘|Apache SeaTunnel 5 月版本重点更新解读
大数据·数据库·开源·apache·seatunnel
DolphinScheduler社区4 小时前
实战演示 | 基于 Apache DolphinScheduler 与 Apache SeaTunnel 实现 MySQL 到 Doris 离线定时增量同步
数据库·mysql·开源·apache·海豚调度·大数据工作流调度
SL-staff5 小时前
Vue3私有化AI白板落地实战|解决政企项目智能绘图合规难题(可直接复用源码)
人工智能·低代码·开源·vue3·白板·jvs规则引擎·jvs-draw
国产化创客5 小时前
嵌入式视觉完整技术体系--ESP32/K230/RDK-X5/树莓派四层架构全解析
嵌入式硬件·物联网·架构·开源·智能硬件
爱上纯净的蓝天5 小时前
AtomCode 源码编译与二次开发入门
开源·二次开发·源码编译·atomcode
hanbr5 小时前
我做了个工具:把 Typora 笔记一键变成 CSDN 博客,截图自动生成描述,还能 AI 润色
开源·开源软件
小小测试开发5 小时前
Goose AI Agent 完全指南:Linux 基金会加持的开源 AI 编程助手
linux·人工智能·开源
分布式存储与RustFS15 小时前
RustFS S3 Table 开源后,我重新梳理了一下 Iceberg 数据湖的选型思路
人工智能·开源·minio·dpu·rustfs·ai存储·s3 table