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

相关推荐
星依网络11 分钟前
yolov5实现游戏图像识别与后续辅助功能
python·开源·游戏程序·骨骼绑定
小程故事多_805 小时前
开源界核弹级输出!蚂蚁 Agentar-Scale-SQL 凭 “编排式扩展” 技术,成为 Text-to-SQL 天花板
数据库·人工智能·sql·开源·aigc·embedding
庄雨山9 小时前
Flutter+Riverpod+开源鸿蒙:新一代跨端状态管理实战
flutter·开源·openharmonyos
云空10 小时前
《开源机器人选型全指南》
机器人·开源
碎碎思11 小时前
BerkeleyLab Bedrock:为 FPGA 与加速计算打造的开源基石
fpga开发·开源
说私域11 小时前
技术驱动下的营销运营革命:开源AI大模型AI智能名片商城系统的实践与启示
人工智能·开源
hahjee11 小时前
命令行参数解析利器:gnuflag在OpenHarmony PC上的完整适配实战
开源·鸿蒙
法欧特斯卡雷特11 小时前
Kotlin 2.3.0 现已发布!又有什么好东西?
后端·架构·开源
云空11 小时前
《M-Robots OS:中国首个开源鸿蒙机器人操作系统》
机器人·开源·harmonyos
孤鸿玉12 小时前
Flutter官方正在搞热更新(动态化)?硬核,干货,有证据,有代码
flutter·开源