首先给兄弟朋友们展示一下结论,一个文本18万多字,txt文本大小185K,采用GraphRAG,GPT-4o-mini模型,索引耗时差不多5分钟,消耗API价格0.15美元
GraphRAG介绍
GraphRAG是微软最近开源的一款基于知识图谱技术的框架,主要应用于问答、摘要和推理等方面。它的核心特点是将大型语言模型(LLMs)与知识图谱结合,从而能够从非结构化文本中提取结构化数据,并构建带有标签的知识图谱。
GraphRAG解决的问题主要是针对一些高层次、抽象或总结性问题,这些问题通常难以通过传统的检索增强生成(RAG)系统来回答。例如,它可以回答关于整个文本集合的主题这类问题,而不仅仅是针对特定文档的查询。
在技术实现上,GraphRAG首先利用LLM从文本中提取出实体、关系和其他相关信息,然后通过社区检测算法将知识图谱划分为多个模块化的社区。每个社区都包含相关性较高的节点。接着,LLM会对这些社区进行摘要,最后通过一种map-reduce方式,将所有相关的社区摘要汇总成一个全局性的答案。
GraphRAG的开源,意味着大模型行业将迎来新的升级,特别是在问答、摘要和推理方面。这个框架不仅提高了处理复杂问题的能力,还为多种应用场景提供了支持。
总的来说,GraphRAG是一个创新的框架,它通过结合知识图谱和大型语言模型,极大地增强了模型在处理复杂、抽象问题方面的能力,为AI领域带来了新的发展机遇。
文档地址如下:
Welcome to GraphRAGhttps://microsoft.github.io/graphrag/
1,安装 GraphRAG
pip install graphrag
安装过程中,可能会报这个错。(如果安装中没有报任何错,请跳转到第2步)
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
需要安装wheel,有些包依赖于 wheel 格式,因此你可以尝试先安装 wheel:
pip install wheel
有时最新版本的包可能会有问题,尝试安装一个稳定的旧版本:
pip install fastparquet==2024.2.0
2、运行索引器
mkdir -p ./ragtest/input
3、将需要索引的知识库放到下面目录,命名为book.txt
./ragtest/input/book.txt
4、安装工作环境变量
python -m graphrag.index --init --root ./ragtest
5,配置.env文件和settings.yaml文件
其中.env文件需要填写openai的apikey
settings.yaml中type需要改成openai_chat,model改成gpt-4o-mini
6,开始执行索引
python -m graphrag.index --root ./ragtest
安装过程如下
当提示下图时,大概3-5分钟后,就安装完成了。
7,对知识库进行提问
python -m graphrag.query --root ./ragtest --method global "What are the top themes in this story?"
我把这个回答交给chatglm问了下,如下