# ResearchLens：多智能体多模态RAG系统革新学术论文阅读体验

> ResearchLens是一个基于LangGraph多智能体架构的多模态RAG系统，能够理解学术论文中的文本和图表内容，通过专用智能体处理文档检索、视觉分析和推理任务，为研究者提供深度问答能力。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-24T09:37:57.000Z
- 最近活动: 2026-05-24T09:50:59.200Z
- 热度: 0.0
- 关键词: 多智能体, 多模态RAG, LangGraph, 学术论文, 图表理解, 向量检索, Qdrant, MongoDB, Ollama, FastAPI
- 页面链接: https://www.zingnex.cn/forum/thread/researchlens-rag
- Canonical: https://www.zingnex.cn/forum/thread/researchlens-rag
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者**：AditiGautam2000
- **来源平台**：GitHub
- **原始标题**：ResearchLens - Multi-Agent Multimodal Research Paper Assistant
- **原始链接**：https://github.com/AditiGautam2000/ResearchLens--Multi-Agent-Multimodal-Research-Paper-Assistant
- **发布时间**：2026年5月24日更新

---

## 研究背景：学术论文理解的痛点

学术论文是知识传播的核心载体，但对于研究人员来说，高效理解和提取论文中的关键信息一直是个挑战。一篇典型的机器学习论文可能包含：

- 数万字的 dense text 描述方法细节
- 复杂的数学公式和算法伪代码
- 多幅图表展示实验结果和模型架构
- 表格对比基线方法和消融实验

传统的PDF阅读工具只能提供基础的文本搜索功能，而像ChatGPT这样的通用LLM平台虽然可以回答关于PDF的问题，但它们是封闭的黑盒系统，研究者无法了解文档是如何被处理、分块、嵌入和检索的。更重要的是，标准RAG系统往往只关注文本内容，忽略了论文中大量承载关键信息的图表和示意图。

ResearchLens项目正是为了解决这些痛点而诞生，它构建了一个完全可定制、可扩展、支持多模态理解的学术研究助手。

---

## 系统架构：多智能体协作的智能流水线

### 整体架构设计

ResearchLens采用模块化的多智能体架构，基于LangGraph框架实现智能体之间的协作编排。系统分为两大核心流水线：

1. **文档摄取流水线（Document Ingestion Pipeline）**：处理上传的PDF，提取文本和图表，建立索引
2. **查询处理流水线（Query Processing Pipeline）**：回答用户问题，智能路由到文本检索或视觉分析

### 智能体角色分工

系统中定义了多个专用智能体，每个负责特定的子任务：

#### 路由智能体（Router Agent）

作为系统的"大脑"，路由智能体分析用户查询的意图，决定应该走哪条处理路径：

- 如果查询涉及"解释图4"、"描述架构图"等图表相关内容，路由到视觉智能体
- 如果是纯文本问题，路由到检索智能体
- 对于混合查询，协调多个智能体并行工作

#### 检索智能体（Retrieval Agent）

负责从向量数据库中检索与用户查询最相关的文本片段。工作流程：

1. 将用户查询转换为向量嵌入（使用nomic-embed-text模型）
2. 在Qdrant向量数据库中执行语义相似度搜索
3. 返回最相关的文档块作为上下文

#### 视觉智能体（Vision Agent）

专门处理图表理解任务。当查询涉及图表时：

1. 从MongoDB中检索图表的元数据（图号、页码、文件路径）
2. 加载对应的图像文件
3. 调用视觉模型（如Moondream）生成图表解释
4. 将视觉分析结果传递给推理智能体

#### 推理智能体（Reasoning Agent）

整合来自检索智能体和视觉智能体的信息，使用Ollama本地LLM（如Phi3）生成最终答案。它负责：

- 综合多源信息形成连贯的回应
- 确保回答与论文内容一致
- 处理需要跨章节推理的复杂问题

#### 批评智能体（Critic Agent）

对推理智能体生成的答案进行质量检查，验证：

- 回答是否完整回应了用户问题
- 是否存在幻觉或事实错误
- 是否需要补充更多信息

---

## 技术实现深度解析

### PDF处理与内容提取

系统使用专门的PDF处理库提取两类内容：

**文本提取流程**：

1. 从PDF中提取原始文本
2. 将长文档切分为语义连贯的块（chunking）
3. 使用Ollama的nomic-embed-text模型生成文本嵌入
4. 将嵌入向量存储到Qdrant向量数据库

**图表提取流程**：

1. 检测PDF中的图像和图表区域
2. 提取图像并保存到本地存储
3. 记录图表元数据（图号、页码、文件路径）到MongoDB
4. 建立图号到图像文件的映射关系

### 向量检索与语义搜索

Qdrant作为高性能向量数据库，支持：

- 高维向量的高效存储和检索
- 近似最近邻（ANN）搜索
- 元数据过滤和混合查询
- 水平扩展支持多用户并发

当用户提问时，系统先将问题转换为查询向量，然后在数百万个文档块中快速找到语义最相关的片段。

### 按需视觉处理策略

ResearchLens采用"vision-on-demand"设计哲学：视觉模型只在必要时才被调用，而不是对所有上传的图表都进行预分析。这种策略的优势：

- **降低计算成本**：避免对无关图表进行昂贵的视觉推理
- **减少存储开销**：无需预生成所有图表的描述文本
- **提高响应速度**：查询不涉及时完全跳过视觉处理路径
- **灵活扩展**：可轻松替换为更强的视觉模型

### 异步处理与多用户支持

系统使用RQ（Redis Queue）和Valkey（Redis兼容）实现异步任务队列：

- 文档上传后立即返回任务ID，不阻塞用户
- 后台工作进程处理耗时的PDF解析和嵌入生成
- 支持多用户同时上传和查询
- 任务状态可追踪，失败可重试

---

## 核心功能特性

### 多模态问答能力

ResearchLens能够回答传统文本RAG系统难以处理的复杂问题：

| 查询类型 | 示例 | 处理方式 |
|---------|------|---------|
| 图表解释 | "解释图4展示的实验结果" | 视觉智能体分析图表 + 推理智能体生成解释 |
| 架构理解 | "描述论文提出的模型架构" | 检索架构图 + 视觉分析 + 结合文本描述 |
| 数据对比 | "ROC曲线显示了什么趋势？" | 定位ROC图 + 视觉识别曲线 + 解释含义 |
| 跨模态关联 | "图3的架构如何对应表2的性能数据？" | 并行检索图表和表格 + 联合推理 |

### 完全可控的处理流程

与商业LLM平台不同，ResearchLens将所有处理环节开放给用户：

- **分块策略**：可调整块大小和重叠度
- **嵌入模型**：支持切换不同的嵌入模型
- **检索参数**：可调整相似度阈值和返回数量
- **LLM选择**：通过Ollama支持任意本地模型
- **提示工程**：可自定义各智能体的系统提示

### 本地部署与隐私保护

整个系统可完全在本地运行：

- 使用Ollama运行开源LLM（如Llama、Mistral、Phi3）
- Qdrant和MongoDB可本地部署
- 无需将敏感论文上传到第三方API
- 适合处理未发表的研究或商业机密文档

---

## 应用场景与价值

### 研究生文献综述

研究生需要快速理解大量相关论文。ResearchLens可以帮助：

- 批量上传PDF建立个人文献库
- 通过自然语言查询快速定位相关研究
- 对比不同论文的方法论和实验结果
- 提取图表中的关键数据点

### 跨学科研究协作

跨学科团队经常需要理解不熟悉的领域术语和图表惯例。ResearchLens的多模态能力帮助研究者：

- 理解其他领域的专业图表
- 建立概念之间的关联
- 快速掌握新领域的基础知识

### 论文审稿辅助

审稿人需要深入理解投稿论文的技术细节。ResearchLens可以：

- 快速定位方法描述的特定部分
- 验证实验结果与图表的一致性
- 检查引用和参考文献的准确性

### 企业研发知识管理

企业内部的技术文档和专利文献可以建立可搜索的知识库：

- 保留机构知识，不因人员流动而丢失
- 新员工可通过问答快速了解历史项目
- 支持复杂的技术查询和溯源

---

## 技术栈与组件

| 组件 | 技术选择 | 作用 |
|-----|---------|------|
| 后端API | FastAPI | 提供RESTful API接口 |
| 智能体框架 | LangGraph | 编排多智能体工作流 |
| 向量数据库 | Qdrant | 存储和检索文本嵌入 |
| 元数据存储 | MongoDB | 存储图表元数据 |
| 任务队列 | RQ + Valkey | 异步处理文档摄取 |
| 嵌入模型 | Ollama + nomic-embed-text | 文本向量化 |
| 视觉模型 | Moondream等 | 图表理解 |
| LLM推理 | Ollama + Phi3等 | 生成答案和推理 |
| 前端界面 | Streamlit | 用户交互界面 |

---

## 部署与使用

### 环境准备

```bash
# 克隆仓库
git clone https://github.com/AditiGautam2000/ResearchLens--Multi-Agent-Multimodal-Research-Paper-Assistant.git
cd ResearchLens

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 安装依赖
pip install -r requirements.txt
```

### 启动服务

```bash
# 启动Ollama（确保所需模型已下载）
ollama pull nomic-embed-text
ollama pull phi3
ollama pull moondream

# 启动Qdrant和MongoDB（使用Docker）
docker-compose up -d

# 启动RQ工作进程
python -m rq worker

# 启动FastAPI后端
uvicorn main:app --reload

# 启动Streamlit前端
streamlit run app.py
```

### 使用流程

1. 在Streamlit界面上传PDF论文
2. 等待后台完成文档处理（文本提取、嵌入生成、图表检测）
3. 在问答框输入问题，如"解释图3的模型架构"
4. 系统返回结合文本和图表的综合回答

---

## 项目意义与发展前景

ResearchLens代表了RAG系统的一个重要演进方向：从纯文本检索向多模态理解发展。随着学术论文越来越依赖图表来传达复杂信息，能够"看懂"图表的AI助手将成为研究人员的必备工具。

项目的开源特性使其成为学术社区共同改进的平台。研究者可以：

- 贡献针对特定领域的图表检测器
- 集成更强的视觉语言模型
- 优化特定学科的检索策略
- 扩展支持更多文档格式

多智能体架构的设计选择也展示了LangGraph在复杂AI工作流编排中的潜力。每个智能体的职责清晰，便于独立优化和测试，这种模块化设计是构建可靠AI系统的重要范式。

---

## 结语

ResearchLens不仅是一个技术演示，它为学术论文理解提供了一个完整的开源解决方案。通过将多模态RAG、多智能体协作和本地部署能力相结合，它让研究者能够真正掌控自己的文献处理流程，不再依赖封闭的商业平台。对于任何需要深入理解大量学术文献的研究人员来说，这都是一个值得尝试的工具。随着视觉语言模型的持续进步，我们可以期待这类系统在图表理解能力上达到新的高度。
