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

本文涉及的产品
图像搜索,7款服务类型 1个月
简介: 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技术,欢迎关注我哦!

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

相关文章
|
8月前
|
存储 自然语言处理 搜索推荐
ChatGPT 文本Embedding融合Qdrant向量数据库:构建智能问答系统的技术探索
向量数据库结合ChatGPT带来了什么 1. **语义搜索:** 使用向量数据库进行语义搜索,可以更准确地找到与查询相关的信息。ChatGPT可以理解用户的自然语言查询,而向量数据库可以根据语义相似性返回匹配的向量数据。 2. **智能推荐:** 结合ChatGPT的智能理解和向量数据库的相似性搜索,可以实现更智能的推荐系统。系统可以根据用户的历史行为和语境,向用户推荐相似的向量数据,如文章、产品或其他内容。 3. **自然语言处理与向量表示结合:** ChatGPT可以将自然语言转换为向量表示,这样就可以在向量数据库中进行更高效的查询。这种集成使得自然语言处理和向量数据库可以相互补充等
575 0
ChatGPT 文本Embedding融合Qdrant向量数据库:构建智能问答系统的技术探索
|
4天前
|
人工智能 数据挖掘 API
R2R:开源的 RAG 集成系统,支持多模态处理、混合搜索、知识图谱构建等增强检索技术
R2R 是一款先进的 AI 检索增强生成平台,支持多模态内容处理、混合搜索和知识图谱构建,适用于复杂数据处理和分析的生产环境。
43 3
R2R:开源的 RAG 集成系统,支持多模态处理、混合搜索、知识图谱构建等增强检索技术
|
2月前
|
机器学习/深度学习 人工智能 缓存
最佳实践!使用 GraphRAG + GLM-4 对《红楼梦》全文构建中文增强检索
特别介绍`graphrag-practice-chinese`项目,这是一个针对中文优化的GraphRAG应用实例,通过改进文本切分策略、使用中文提示词及选择更适合中文的模型等手段,显著提升了处理中文内容的能力。项目不仅包括详细的搭建指南,还提供了《红楼梦》全文的索引构建与查询测试示例,非常适合个人学习和研究。
1419 1
|
2月前
|
数据采集 人工智能 自然语言处理
文档智能与检索增强生成结合的LLM知识库方案测评:优势与改进空间
《文档智能 & RAG让AI大模型更懂业务》解决方案通过结合文档智能和检索增强生成(RAG)技术,构建企业级文档知识库。方案详细介绍了文档清洗、向量化、问答召回等步骤,但在向量化算法选择、多模态支持和用户界面上有待改进。部署过程中遇到一些技术问题,建议优化性能和增加实时处理能力。总体而言,方案在金融、法律、医疗等领域具有广泛应用前景。
71 11
|
3月前
|
自然语言处理 数据可视化 数据挖掘
闭源与开源嵌入模型比较以及提升语义搜索效果的技术探讨
本文探讨了自然语言处理中嵌入技术的应用,重点在于语义搜索及聚类方法。通过对比不同规模的开源与闭源模型,文章展示了如何利用聚类技术过滤无关结果,提高搜索精度。实验结果显示,较小模型如mxbai在某些任务上表现优异,提示我们在追求高性能的同时不应忽视计算效率与成本效益。最后,文章还介绍了重新排序技术,进一步优化检索结果的相关性。
113 6
闭源与开源嵌入模型比较以及提升语义搜索效果的技术探讨
Nyx
|
3月前
|
算法
文档智能和检索增强生成构建知识库
本文介绍了文档智能(Document Mind)与检索增强生成(RAG)结合使用的原理及其优势。文档智能负责解析和结构化文档内容,RAG则利用这些数据提供准确的问答服务。部署过程中,清晰的步骤指导和详细的文档帮助快速解决问题。方案适用于企业知识库、客户支持系统等场景,但在处理大文档和复杂格式时需进一步优化。
Nyx
64 0
|
3月前
|
数据采集 自然语言处理 UED
文档智能和检索增强生成(RAG)技术
文档智能和检索增强生成(RAG)技术
|
3月前
|
机器学习/深度学习 数据采集 人工智能
文档智能和检索增强生成(RAG)——构建LLM知识库
本次体验活动聚焦于文档智能与检索增强生成(RAG)结合构建的LLM知识库,重点测试了文档内容清洗、向量化、问答召回及Prompt提供上下文信息的能力。结果显示,系统在自动化处理、处理效率和准确性方面表现出色,但在特定行业术语识别、自定义向量化选项、复杂问题处理和Prompt模板丰富度等方面仍有提升空间。
109 0
|
5月前
|
文字识别 并行计算 PyTorch
MiniCPM-V 系列模型在多模态文档 RAG 中的应用(无需OCR的多模态文档检索+生成)
现在我们以 OpenBMB 基于 MiniCPM-V-2.0 训练的端到端多模态检索模型 MiniCPM-Visual-Embedding-v0 为例,实现无需OCR的多模态文档检索与问答。
MiniCPM-V 系列模型在多模态文档 RAG 中的应用(无需OCR的多模态文档检索+生成)
|
8月前
|
存储 自然语言处理 算法
整合文本和知识图谱嵌入提升RAG的性能
本文介绍了如何结合文本嵌入和知识图谱嵌入来提升RAG(检索式生成模型)的性能。文本嵌入利用Word2Vec、GloVe或BERT等预训练模型捕捉单词的语义和上下文,而知识图谱嵌入则表示实体和关系,以便更好地理解结构化信息。通过结合这两种嵌入,RAG模型能更全面地理解输入文本和知识,从而提高答案检索和生成的准确性。文章通过代码示例展示了如何生成和整合这两种嵌入,强调了它们在增强模型对模糊性和可变性处理能力上的作用。
216 7

热门文章

最新文章