GraphRAG-Local-UI 项目快速入门指南
项目概述
GraphRAG-Local-UI 是一个基于知识图谱的检索增强生成(RAG)系统,它能够将非结构化文本数据转化为结构化的知识图谱,并通过创新的查询引擎提供高效的问答能力。该系统特别适合处理复杂文档和需要深度理解的查询场景。
环境准备
系统要求
- Python 3.10-3.12 版本
- 推荐使用虚拟环境管理依赖
- 需要访问 OpenAI API 或 Azure OpenAI 服务
安装方式
pip install graphrag
快速开始
1. 初始化项目
首先创建一个项目目录并准备示例数据:
mkdir -p ./ragtest/input
curl https://www.gutenberg.org/cache/epub/24022/pg24022.txt > ./ragtest/input/book.txt
2. 初始化配置
运行以下命令初始化项目配置:
python -m graphrag.index --init --root ./ragtest
这将生成两个关键配置文件:
.env- 包含API密钥等敏感信息settings.yaml- 包含系统运行参数配置
3. 配置API访问
根据您使用的服务提供商进行相应配置:
OpenAI配置
只需在.env文件中设置您的OpenAI API密钥:
GRAPHRAG_API_KEY=您的API密钥
Azure OpenAI配置
在settings.yaml中添加以下配置:
llm:
type: azure_openai_chat
api_base: https://<实例名称>.openai.azure.com
api_version: 2024-02-15-preview
deployment_name: <部署模型名称>
4. 运行索引管道
执行索引过程将文本转换为知识图谱:
python -m graphrag.index --root ./ragtest
索引过程时间取决于:
- 输入数据大小
- 使用的模型类型
- 文本分块大小配置
完成后会在./ragtest/output/<时间戳>/artifacts目录下生成Parquet格式的知识图谱文件。
查询引擎使用
全局查询
适用于高层次主题性问题:
python -m graphrag.query \
--root ./ragtest \
--method global \
"这个故事的主要主题是什么?"
局部查询
适用于特定实体或关系的深入查询:
python -m graphrag.query \
--root ./ragtest \
--method local \
"Scrooge是谁?他的主要社会关系有哪些?"
技术特点解析
- 知识图谱构建:系统自动从文本中提取实体和关系,构建结构化知识表示
- 双模式查询:
- 全局查询:把握文档整体结构和主题
- 局部查询:深入特定实体和关系网络
- 配置灵活性:支持通过YAML配置文件和环境变量调整系统行为
- 模块化设计:清晰的索引和查询分离架构
最佳实践建议
-
数据准备:
- 确保输入文本清晰可读
- 对于大型文档,考虑预先分割为逻辑章节
-
性能优化:
- 根据硬件条件调整文本分块大小
- 对于大型项目,考虑分批处理
-
查询技巧:
- 全局查询适合获取概览信息
- 局部查询适合探索特定实体关系
- 结合两种查询方式可获得更全面的理解
常见问题排查
-
API连接问题:
- 检查API密钥是否正确
- 验证网络连接是否正常
- 确认服务配额是否充足
-
索引失败:
- 检查输入文件格式
- 验证配置文件参数
- 查看日志获取详细错误信息
-
查询结果不理想:
- 尝试调整查询表述
- 检查索引过程是否完整执行
- 考虑优化文本预处理步骤
通过本指南,您应该已经掌握了GraphRAG-Local-UI的基本使用方法。该系统强大的知识提取和查询能力,能够为各类文本分析任务提供有力支持。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



