FlexRAG:不再局限于文本的 RAG!中科院开源多模态 RAG 助手,支持多数据类型、上下文压缩和多种检索器类型

简介: FlexRAG 是中科院推出的高性能多模态 RAG 框架,支持多数据类型、上下文压缩和多模态数据处理,显著提升生成模型的表现。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新应用和热点信息,提供开源实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能:支持多模态 RAG、多数据类型、上下文压缩和多种检索器类型。
  2. 技术:基于压缩编码器和选择性压缩机制,显著降低计算负担。
  3. 应用:适用于开放域问答、对话系统、文档摘要与生成等知识密集型任务。

正文(附运行示例)

FlexRAG 是什么

公众号: 蚝油菜花 - flexrag

FlexRAG 是中科院推出的高性能多模态 RAG 框架,旨在解决传统 RAG 系统在处理长上下文时面临的计算成本高和生成质量不足的问题。通过将检索到的上下文信息压缩成紧凑的嵌入表示,显著降低计算负担。

FlexRAG 的核心组件包括压缩编码器和选择性压缩机制,前者负责将长上下文转化为固定尺寸的嵌入,后者则通过评估信息的重要性来选择性地保留关键信息。这种设计提高了生成模型的表现,还支持灵活的压缩比和多模态数据处理。

FlexRAG 的主要功能

  • 多模态 RAG:支持多模态 RAG,为不同数据模态开辟了广泛的应用可能性。
  • 多数据类型:支持多种数据格式,包括文本(例如 CSV、JSONL)、图像、文档、网页等,可以灵活地处理各种数据源。
  • 上下文压缩:通过压缩编码器将检索到的长上下文信息转化为紧凑的嵌入表示,减少计算负担。
  • 多种检索器类型:支持稀疏检索器、密集检索器、基于网络的检索器和多模态检索器,灵活应用于不同场景。
  • 提示微调:通过学习软提示(soft-prompt),改善下游任务的性能,使模型更好地适应特定任务。

FlexRAG 的技术原理

  • 压缩编码器:负责将检索到的长上下文信息转化为紧凑的嵌入表示,通过提取关键信息和特征,减少输入给下游模型的负担。
  • 选择性压缩机制:通过评估不同上下文信息的重要性,优先保留对生成最为关键的信息,动态调整保留的上下文信息。
  • 双阶段训练工作流:分为预训练和微调两个阶段,预训练建立模型的基本语言理解和生成能力,微调优化模型在特定任务上的表现。

如何运行 FlexRAG

1. 安装 FlexRAG

可以通过 pip 安装 FlexRAG:

pip install flexrag

或者从源码安装:

pip install pybind11
git clone https://github.com/ictnlp/flexrag.git
cd flexrag
pip install ./

2. 准备检索器

下载并准备检索器所需的语料库和索引:

wget https://dl.fbaipublicfiles.com/dpr/wikipedia_split/psgs_w100.tsv.gz
gzip -d psgs_w100.tsv.gz

3. 运行 FlexRAG 助手

运行 FlexRAG 的示例 RAG 应用:

python -m flexrag.entrypoints.run_interactive \
    assistant_type=modular \
    modular_config.used_fields=[title,text] \
    modular_config.retriever_type=dense \
    modular_config.dense_config.top_k=5 \
    modular_config.dense_config.database_path=${DB_PATH} \
    modular_config.dense_config.query_encoder_config.encoder_type=hf \
    modular_config.dense_config.query_encoder_config.hf_config.model_path='facebook/contriever' \
    modular_config.dense_config.query_encoder_config.hf_config.device_id=[0] \
    modular_config.response_type=short \
    modular_config.generator_type=openai \
    modular_config.openai_config.model_name='gpt-4o-mini' \
    modular_config.openai_config.api_key=$OPENAI_KEY \
    modular_config.do_sample=False

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新应用和热点信息,提供开源实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
4月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
5月前
|
分布式计算 测试技术 Spark
科大讯飞开源星火化学大模型、文生音效模型
近期,科大讯飞在魔搭社区(ModelScope)和Gitcode上开源两款模型:讯飞星火化学大模型Spark Chemistry-X1-13B、讯飞文生音频模型AudioFly,助力前沿化学技术研究,以及声音生成技术和应用的探索。
471 2
|
4月前
|
人工智能 自然语言处理 数据库
RAG:打破大模型的知识壁垒
RAG:打破大模型的知识壁垒
375 113
|
5月前
|
人工智能 数据库 索引
超越幻觉:检索增强生成如何为AI大模型“装上”事实核查系统
超越幻觉:检索增强生成如何为AI大模型“装上”事实核查系统
354 107
|
5月前
|
人工智能 自然语言处理 搜索推荐
超越幻觉:RAG如何为AI大模型注入“真实”的灵魂
超越幻觉:RAG如何为AI大模型注入“真实”的灵魂
322 81
|
5月前
|
数据采集 人工智能 文字识别
从CLIP到GPT-4V:多模态RAG背后的技术架构全揭秘
本文深入解析多模态RAG技术,涵盖其基本原理、核心组件与实践路径。通过整合文本、图像、音频等多源信息,实现跨模态检索与生成,拓展AI应用边界。内容详实,建议收藏学习。
760 50
从CLIP到GPT-4V:多模态RAG背后的技术架构全揭秘

热门文章

最新文章