# Mydata
**Repository Path**: yuntao-li/Mydata
## Basic Information
- **Project Name**: Mydata
- **Description**: ai agent自动化综述文本生成与新物理发现
- **Primary Language**: Python
- **License**: AGPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-03-12
- **Last Updated**: 2025-12-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ⚛️ RAG文献综述与ReAct粒子物理研究系统




**一个基于大语言模型的自主知识发现智能体系统**
[English](README_EN.md) | 简体中文
---
## 📖 项目简介
本项目实现了一个完整的**自主知识发现智能体系统**,通过集成arXiv文献的向量数据库进行语义检索和信息整合,生成有效、全面且可溯源的文献综述报告,并通过ReAct工作流赋予大语言模型使用工具(tools)的能力,实现自主选定已生成的文献综述中的未来潜在研究方向的初步定量探索。
### 🎯 核心功能
1. **文献综述工作流 (Literature Review Pipeline)**
- 基于用户输入的研究主题,AI自动生成30条arXiv搜索查询
- 自动下载相关学术论文PDF
- 使用BGE-M3嵌入模型构建ChromaDB向量数据库
- 三阶段渐进式文献综述生成(草稿1→草稿2→最终版本)
- 支持中英文双语输出
2. **ReAct智能体工作流 (Reason-Act Agent)**
- 实现Reason-Act循环推理框架
- 工具增强的AI能力(文件读写、代码执行、Pythia8模拟等)
- 自主提取文献综述中的未来研究方向
- 自动生成并执行Pythia8蒙特卡洛模拟脚本
- 生成matplotlib可视化图表
- 输出结构化的分析结果JSON
3. **研究论文生成 (Article Generation)**
- 整合文献综述与模拟结果
- 自动生成LaTeX格式的研究论文
- 正确引用已生成的图表
- 支持中英文双语版本
---
## 🏗️ 系统架构
```
┌─────────────────────────────────────────────────────────────────┐
│ RAG Literature Review System │
├─────────────────────────────────────────────────────────────────┤
│ Phase 1: Literature Review Pipeline │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ Query │→ │ PDF │→ │ Vector │→ │ 3-Stage Review │ │
│ │ Generate │ │ Download │ │ Database │ │ Generation │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────────────┘ │
├─────────────────────────────────────────────────────────────────┤
│ Phase 2: ReAct Agent Loop │
│ ┌──────┐ ┌─────────┐ ┌──────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Read │→ │ Extract │→ │ Generate │→ │ Execute │→ │ Analyze │ │
│ │ │ │ Future │ │ Pythia8 │ │ Simul. │ │ Results │ │
│ └──────┘ └─────────┘ └──────────┘ └─────────┘ └─────────┘ │
├─────────────────────────────────────────────────────────────────┤
│ Phase 3: Article Generation │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
│ │ Combine │→ │ Generate │→ │ Output LaTeX Article │ │
│ │ Review+Sim │ │ With Figures │ │ (EN + ZH) │ │
│ └──────────────┘ └──────────────┘ └──────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
```
---
## 📁 项目结构
```
Mydata/
├── react_streamlit.py # Streamlit主应用程序
├── react_workflow.html # 工作流可视化页面
├── react_frontend.html # 交互式前端页面
├── article_generator.py # 研究论文生成器
├── result_detector.py # 结果检测与加载工具
├── react_session.py # ReAct会话管理
├── rag_core.py # RAG核心功能模块
│
├── step1_query_gen.py # 步骤1: 查询生成
├── step2_download.py # 步骤2: PDF下载
├── step3_vectordb.py # 步骤3: 向量数据库
├── step4_generate.py # 步骤4: 文献综述生成
│
├── react/ # ReAct智能体模块
│ ├── __init__.py
│ ├── agent.py # 原始ReAct智能体
│ ├── agent_v2.py # 重构版ReAct智能体(推荐)
│ ├── config.py # 配置文件
│ ├── tools/ # 工具集
│ │ ├── file_reader.py # 文件读取工具
│ │ ├── file_writer.py # 文件写入工具
│ │ ├── code_executor.py # 代码执行工具
│ │ ├── pythia_tool.py # Pythia8模拟工具
│ │ └── analyzer.py # 分析工具
│ └── prompts/ # 提示词模板
│ ├── researcher.py
│ └── writer.py
│
├── pythia_workspace/ # Pythia8工作空间
│ ├── scripts/ # 生成的模拟脚本
│ ├── events/ # 事件数据
│ ├── results/ # 分析结果JSON
│ └── figures/ # 生成的图表
│
├── output/ # 输出目录
│ ├── final_review_*.tex # 最终文献综述
│ ├── research_article_*.tex # 研究论文
│ └── react_sessions/ # ReAct会话记录
│
└── .env # 环境变量配置
```
---
## 🚀 快速开始
### 1. 环境要求
- Python 3.10+
- CUDA (可选,用于GPU加速)
### 2. 安装依赖
```bash
# 克隆项目
git clone
cd Mydata
# 安装Python依赖
pip install -r requirements.txt
# 安装Pythia8蒙特卡洛模拟器
pip install pythia8mc
# 下载BGE-M3嵌入模型(用于向量检索)
# 模型路径: /home/yuntao/bge-m3
```
### 3. 配置API密钥
创建 `.env` 文件:
```env
MIMO_API_KEY=your_api_key_here
# 或者使用OpenAI兼容的API
OPENAI_API_KEY=your_openai_key
OPENAI_API_BASE=https://api.openai.com/v1
```
### 4. 运行应用
```bash
# 启动Streamlit应用
streamlit run react_streamlit.py
# 或者单独运行流水线
python step1_query_gen.py
python step2_download.py
python step3_vectordb.py
python step4_generate.py
```
---
## 📚 使用指南
### 文献综述生成
1. 打开 **📚 Literature Review** 页面
2. 输入研究主题(例如:"QCD相变中的spinodal效应")
3. 点击 **Run Full Pipeline** 运行完整流水线
4. 等待生成完成,下载LaTeX文件
### ReAct智能体研究
1. 打开 **🤖 ReAct Agent** 页面
2. 选择已生成的文献综述文件
3. 点击 **Start** 启动自动研究流程
4. 智能体将自动:
- 读取文献综述
- 提取未来研究方向
- 生成Pythia8模拟脚本
- 执行模拟并分析结果
- 生成可视化图表
### 论文生成
1. 打开 **📝 Article Generation** 页面
2. 选择文献综述和模拟结果文件
3. 配置论文标题和章节
4. 点击 **Generate Article** 生成LaTeX论文
---
## 🔧 ReAct智能体工具
| 工具名称 | 功能描述 |
|---------|---------|
| `read_file` | 读取.tex, .py, .json等文件 |
| `write_file` | 创建或修改文件 |
| `run_code` | 执行Python代码 |
| `pythia_generate` | 生成Pythia8模拟脚本 |
| `pythia_api` | 获取Pythia8 API文档 |
| `extract_future_work` | 从文献中提取未来研究方向 |
| `parse_results` | 解析模拟结果 |
| `list_files` | 列出目录文件 |
---
## 🎨 界面预览
### Streamlit主界面
- **文献综述流水线**: 四步骤可视化进度
- **ReAct智能体**: 实时流式对话界面
- **论文生成**: LaTeX预览与下载
- **工作流可视化**: 交互式流程图
### HTML可视化
打开以下文件查看静态可视化:
- `react_workflow.html` - 完整工作流图
- `react_frontend.html` - 交互式功能演示
---
## 🔬 技术栈
| 组件 | 技术 |
|-----|------|
| 前端界面 | Streamlit, HTML/CSS/JS |
| 大语言模型 | OpenAI API (兼容) |
| 向量数据库 | ChromaDB |
| 嵌入模型 | BGE-M3 |
| 蒙特卡洛模拟 | Pythia8mc |
| 文档格式 | LaTeX, BibTeX |
| 可视化 | Matplotlib |
---
## 📄 许可证
本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件
---
## 👥 作者
- **李运韬** - 华中师范大学 物理科学与技术学院
- **吴亚玲** - 华中师范大学 物理科学与技术学院
专业:物理学(基地班)
---
## 🙏 致谢
- [Pythia8](https://pythia.org/) - 高能物理蒙特卡洛事件生成器
- [ChromaDB](https://www.trychroma.com/) - 开源向量数据库
- [BGE-M3](https://huggingface.co/BAAI/bge-m3) - 多语言嵌入模型
- [Streamlit](https://streamlit.io/) - Python数据应用框架
---
**⚛️ RAG文献综述与ReAct粒子物理研究系统**
华中师范大学 物理科学与技术学院 © 2025