乐于分享
好东西不私藏

还在为处理"图文混排"的文档头疼?这个开源项目让你的AI智能助手"睁眼看世界"

还在为处理"图文混排"的文档头疼?这个开源项目让你的AI智能助手"睁眼看世界"

开源链接:https://github.com/HKUDS/RAG-Anything

亲爱的读者朋友,如果你喜欢这篇深度技术解读,别忘了关注我们的公众号哦!你们的每一个关注、点赞、收藏和评论,都是我们持续创作的最大动力~💪


最近AI圈子里有个词特别火——”多模态”。说得直白点,就是让AI不仅能读懂文字,还能理解图片、表格、公式这些”非文本”内容。

但问题来了:你想让AI帮你检索一份包含大量图表、公式的技术文档,结果它只能”看见”文字部分,图片、表格统统变成”盲区”。这不等于睁眼瞎吗?

好消息是,香港大学数据科学研究院团队开源了一个叫 RAG-Anything 的项目,专门解决这个痛点。简单说,它能让AI真正实现”全能阅读”——文字、图片、表格、公式,统统不在话下。


✨ 这个项目的亮点,值得你花5分钟了解

1️⃣ 真·全格式支持

别再担心格式兼容问题了!这个项目支持:

  • 📄 PDF文档
  • 📝 Office全家桶(Word、Excel、PPT)
  • 🖼️ 各类图片格式(JPG、PNG、BMP、TIFF、GIF、WebP)
  • 📊 结构化表格
  • 📐 复杂数学公式(支持LaTeX)

一句话:你有的格式,它都能吃。

2️⃣ 双解析引擎,灵活切换

集成了两大文档解析神器:

  • MinerU
    :高精度结构化解析,适合复杂排版文档
  • Docling
    :轻量级快速解析,适合简单文档

就像给你配了两个专业翻译官,你可以根据文档类型”按需点将”。

3️⃣ 多模态内容分析引擎

这才是核心黑科技!系统针对不同内容类型部署了专用处理器:

内容类型
专用处理器
能力
🖼️ 图像
图像模态处理器
识别图像内容,生成语义描述
📊 表格
表格模态处理器
提取数据,识别趋势和关系
📐 公式
公式模态处理器
精确解析数学表达式,输出LaTeX
📝 文本
通用模态处理器
保持上下文逻辑和层次结构

4️⃣ 知识图谱索引,检索更智能

不是简单地把文档”塞进去”,而是构建多模态知识图谱:

  • 🔍 提取跨模态实体(文字描述图片,图片补充文字)
  • 🔗 建立语义关联(表格数据与文字说明的关系)
  • 🏗️ 保持文档结构层次
  • ⚖️ 加权评分优化检索结果

5️⃣ VLM增强查询模式

这是最新上线的重磅功能!当你的文档包含图片时,系统会自动把图片+文本一起喂给VLM(视觉语言模型),让AI”边看边思考”,提供更精准的答案。

6️⃣ 批量处理,效率起飞

支持并发控制的批量处理,企业级数据迁移也不怕慢。


🛠️ 实际部署步骤(手把手教学)

好了,说了这么多,怎么用起来?别急,跟着我的步骤来,10分钟就能跑通。

1️⃣ 安装项目

# 方式一:直接从PyPI安装(推荐)pip install raganything# 如果需要处理图片和文本文件pip install 'raganything[image,text]'# 方式二:从源码安装git clone https://github.com/HKUDS/RAG-Anything.gitcd RAG-Anythingpip install -e .

2️⃣ 安装必备依赖

处理Office文档需要安装LibreOffice:

# macOSbrew install --cask libreoffice# Ubuntu/Debiansudo apt-get install libreoffice# CentOS/RHELsudo yum install libreoffice# Windows用户直接去官网下载安装包

3️⃣ 准备API密钥

项目支持多种LLM模型,你需要准备好OpenAI格式的API密钥(也可以用LM Studio、DeepSeek等兼容接口)。

4️⃣ 创建处理脚本

创建一个demo.py文件:

import asynciofrom raganything import RAGAnything, RAGAnythingConfigfrom lightrag.llm.openai import openai_complete_if_cache, openai_embedfrom lightrag.utils import EmbeddingFuncasync def main():    # 配置API    api_key = "你的API密钥"    base_url = "你的API地址"  # 可选    # 创建配置    config = RAGAnythingConfig(        working_dir="./rag_storage",  # 存储目录        parser="mineru",              # 解析器选择        parse_method="auto",           # 解析方法        enable_image_processing=True,  # 启用图像处理        enable_table_processing=True,  # 启用表格处理        enable_equation_processing=True# 启用公式处理    )    # 定义LLM函数    def llm_model_func(promptsystem_prompt=Nonehistory_messages=[], **kwargs):        return openai_complete_if_cache(            "gpt-4o-mini",            prompt,            system_prompt=system_prompt,            history_messages=history_messages,            api_key=api_key,            base_url=base_url,            **kwargs,        )    # 定义嵌入函数    embedding_func = EmbeddingFunc(        embedding_dim=3072,        max_token_size=8192,        func=lambda textsopenai_embed(            texts,            model="text-embedding-3-large",            api_key=api_key,            base_url=base_url,        ),    )    # 初始化RAGAnything    rag = RAGAnything(        llm_model_func=llm_model_func,        embedding_func=embedding_func,        config=config,    )    # 插入文档    await rag.ainsert("你的文档路径.pdf")    # 查询    result = await rag.aquery("你的问题")    print(result)if __name__ == "__main__":    asyncio.run(main())

5️⃣ 运行并测试

python demo.py

搞定!现在你可以用多模态文档来查询了。


💡 实际应用场景(举几个栗子)

场景一:企业知识库智能检索

想象一下,你公司的技术文档库里有上千份PDF,每份都包含大量的架构图、数据表格、数学公式。用传统搜索工具,这些图表和公式都是”隐形”的。
现在用RAG-Anything,你可以问:”帮我找出Q3季度的性能优化方案中的关键数据对比”,系统会同时检索文字说明和相关数据表格,给出精准答案。

场景二:学术文献深度分析

科研党福音!上传几十篇论文,然后问:”这几篇论文里关于注意力机制的改进方案有哪些异同?”系统不仅会总结文字描述,还会提取相关公式和对比表格,帮你快速梳理核心观点。

场景三:智能客服升级

产品说明书和技术文档里往往包含大量示意图、操作流程图。传统的客服机器人只能回复文字描述,现在可以”看图说话”,更准确地解答用户问题。


📄 开源协议

本项目采用 MIT 协议开源。


📝 免责声明

本文基于开源项目RAG-Anything的技术文档整理而来,仅供学习交流使用。项目版权归HKUDS团队所有。本公众号不对代码使用产生的任何后果承担责任。建议大家在使用前仔细阅读项目官方文档。


欢迎在评论区积极探讨AI技术的实际落地!无论是当前项目的技术研究,还是你的实践经验,都欢迎分享交流~💬


关注公众号后回复关键词**”工作流”**,可获取我们搜集整理的免费AI学习资源包!

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 还在为处理"图文混排"的文档头疼?这个开源项目让你的AI智能助手"睁眼看世界"

评论 抢沙发

5 + 7 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮