“决赛作品提交”
一个面向长文档(>100K / 200K tokens)问答与多跳检索的 Fusion RAG(Retrieval-Augmented Generation)复现与实验框架。
FusionRAG/ ├── src/ │ ├── core/ │ │ ├── build_tree.py # 构建文档摘要树(分层摘要) │ │ ├── dataloader.py # 数据加载器,支持多种数据集格式 │ │ ├── extract_graph.py # 实体/关系抽取与图结构构建 │ │ ├── query.py # 检索器,图结构检索与密集检索逻辑 │ │ └── utils.py # 工具函数(分块、计时、分数计算等) │ ├── processors/ │ │ ├── process_utils.py # 多进程任务封装与显存清理 │ │ └── redataloader.py # 改写数据集加载器 │ ├── evaluation/ │ │ ├── evaluate.py # 评估脚本,计算EM/RL等指标 │ │ ├── evalute_GraphRAG.py # GraphRAG系统评估 │ │ └── calculate.py # 性能对比分析 │ ├── prompts/ │ │ ├── prompt_dict.py # 各类prompt模板 │ │ │ └── main/ │ ├── main.py # 主流程入口 │ ├── main_cacheready.py # 缓存就绪模式 │ ├── main_vllm.py # vLLM优化模式 │ └── main_cache.py # 缓存优化模式 ├── configs/ │ ├── config.yaml # 主配置文件 │ ├── qa_config.yaml # 问答任务配置 │ ├── choice_config.yaml # 选择题任务配置 │ └── cacheconfig.yaml # 缓存配置 ├── requirements.txt # 项目依赖 └── README.md # 项目说明
pip install -r requirements.txt
需要下载以下模型:
# 下载spaCy模型 python -m spacy download en_core_web_lg python -m spacy download zh_core_web_lg
编辑 configs/config.yaml 设置模型路径和参数:
configs/config.yaml
dataset: dataset_name: InfiniteQALoader dataset_path: ./data/longbook_qa_eng.jsonl llm: llm_name: Qwen2.5-7B-Instruct llm_path: /path/to/your/model llm_device: cuda:0 paths: log_path: ./log answer_path: ./answer cache_path: ./cache cluster: length: 1200 overlap: 100 merge_num: 5
python main.py --config configs/config.yaml
python main_vllm.py --config configs/config.yaml
使用LMCache进行KV缓存优化:
python main_cache.py --config configs/config.yaml
python evalute_GraphRAG.py
length
overlap
merge_num
max_chunk_setting
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
FusionRAG - Multi-Level Cache-Based Fusion Retrieval Enhanced Generation System
一个面向长文档(>100K / 200K tokens)问答与多跳检索的 Fusion RAG(Retrieval-Augmented Generation)复现与实验框架。
🌟 项目特色
📁 项目结构
🚀 快速开始
环境要求
安装依赖
下载模型
需要下载以下模型:
配置文件
编辑
configs/config.yaml设置模型路径和参数:🎯 使用方法
1. 标准推理模式
2. vLLM优化模式
3. 缓存优化模式
使用LMCache进行KV缓存优化:
📊 数据集支持
支持的数据集类型
🔧 核心组件
1. 文档摘要树构建
2. 知识图谱抽取
3. 混合检索策略
4. 推理优化
📈 评估指标
准确性指标
效率指标
运行评估
⚙️ 配置说明
主要参数
lengthoverlapmerge_nummax_chunk_setting