基础使用

1. 文档解析

HRAG 支持两种文档解析方法:MinerU 和 Docling。

使用 MinerU 解析文档

Tip

初次使用 MinerU 请下载对应模型文件,操作指南请查看:安装指南的 MinerU 模型下载 部分。

批量文档解析

python tests/data_parser/test_mineru_pdf_parser.py --input_path src/resources/pdf

更详细的使用指南见 数据解析组件

使用 Docling 解析文档

批量文档解析

python tests/data_parser/test_docling_pdf_parser.py --root_path src/resources/test_data

更详细的使用指南见 数据解析组件

2. 数据转换

将解析后的文档转换为向量数据库格式,保存为 PKL:

针对 MinerU 解析的结果的处理

python tests/data_processor/test_data_mineru_converter.py

针对 Docling 解析的结果

python tests/data_processor/test_data_docling_converter.py \
    --root_path src/resources/data \
    --output_path src/pkl_files/challenge_docling.pkl

Docling 解析数据插入向量数据库

python tests/data_processor/test_insert_to_vector_dbs.py \
    --root_path src/resources/data \
    --pkl_path src/pkl_files/challenge_docling.pkl \
    --vector_db milvus

3. 数据库操作

本项目提供 Elasticsearch、Milvus、MySQL、Neo4j 四种数据库操作。具体安装流程见 数据库安装

# Elasticsearch
python tests/database/test_elastic_operations.py

# Milvus
python tests/database/test_milvus_operations.py

# MySQL
python tests/database/test_mysql_operations.py

# Neo4j
python tests/database/test_neo4j_operation.py

4. 知识图谱构建

知识图谱构建提供 HiRAG 与 LeanRAG 两种方法。两种方法均由:构建实体关系三元组、生成实体关系对应描述、构建知识图谱三部分组成,其中共用同一个构建实体关系三元组方法。

从语料中抽取实体关系:

python tests/data_processor/knowledge_graph/test_get_entity_relation.py

构建知识图谱:

# HiRAG
python tests/data_processor/knowledge_graph/test_create_hirag.py

# TRAG
python tests/data_processor/knowledge_graph/test_create_leanrag.py

5. 启动服务

启动后端服务进行问答:

后端服务包括 数据检索(data_search)论文生成(deepwriter)深度搜索(deepsearch) 。该部分提供后台启动后端服务的命令,服务启动后的输出文件在目录 logs/backend/ 下;对应的端口号配置见 后端端口配置指南

  • 数据检索(data_search)服务:

nohup python src/backend/data_search_services.py > logs/backend/data_search.out 2>&1 &
  • 论文生成(deepwriter)服务:

nohup python src/backend/deepwriter_services.py > logs/backend/deepwriter.out 2>&1 &
  • 深度搜索(deepsearch)服务:

nohup python src/backend/deepsearch_services.py > logs/backend/deepsearch.out 2>&1 &