来源:互联网 更新时间:2026-08-27 14:40
微软最近推出的GraphRAG确实让人眼前一亮——官方声称它能从文档中提取出有意义的结构化数据。但有个小遗憾:默认情况下,它只认txt或csv格式。这意味着,那些堆积如山的PDF文档,如果不做处理就无法直接使用。这次,我用了外部库pdfdeal,先把PDF转换成带格式的txt,再结合性价比更高的DeepSeek来构建整个流程。下文会一步步拆解整个过程。
为了避免不必要的麻烦,建议在虚拟环境中操作。以下是几种常见方式:
环境激活后,直接安装依赖:
# conda方案
conda create -n rag python=3.12
conda activate rag
pip install --upgrade pdfdeal graphrag
# uv方案
uv venv
source .venv/bin/activate # Linux
source .venv/Scripts/activate # Windows
uv pip install --upgrade graphrag pdfdeal
# uvv方案
uvv create -n rag -p 3.12
uvv activate rag
uvv install graphrag pdfdeal
完成后,找个顺手的文件夹,准备开始干正事。
微软的GraphRAG只吃txt或csv,所以第一步就是转换。常见的选项按效果从低到高排列:
pdfdeal干的就是这件事,但遇到表格和公式会抓瞎)这里选择了效果最好的Doc2X,而且它每天免费500页,相当于在做慈善。要使用它,需要先获取个人API密钥:进入网站后,点击个人信息,复制身份令牌作为API key。
接下来新建两个文件夹,一个放原始PDF,一个放转换后的txt:
mkdir ./pdf
mkdir -p ./ragtest/input
把PDF文件丢进./pdf。我选了两篇:GraphRAG论文本身,外加一篇我觉得挺重要的参考文献。
使用pdfdeal的CLI工具doc2x进行批量处理,记得加上--graphrag标识,开启对GraphRAG的特殊适配:
doc2x -k "Your Key Here" -o ./ragtest/input -p --graphrag ./pdf

等待处理完成,所有PDF就变成了带格式(Markdown语法)的txt文档:

首先生成GraphRAG的配置文件:
python -m graphrag.index --init --root ./ragtest
如果只打算用默认的OpenAI LLM和嵌入模型,只需要在
.env里填上Key就行。但提前剧透:GraphRAG的token消耗非常恐怖,建议别用默认的GPT-4来构建。
找到settings.yaml,这是我们需要修改的核心配置文件。
第一部分是LLM设置。DeepSeek并不直接支持输出JSON,需要把model_supports_json设为false:
llm:
api_key: Your DeepSeek Key
type: openai_chat
model: deepseek-chat
model_supports_json: false
max_tokens: 4000
api_base: https://api.deepseek.com/v1
第二部分是嵌入模型设置。这里直接用了OpenAI的text-embedding-3-small。注意,由于LLM部分修改了api_base,嵌入部分的api_base也要相应调整。也可以换成其他兼容OpenAI格式的嵌入模型,比如智谱的:
embeddings:
async_mode: threaded
llm:
api_key: ${GRAPHRAG_API_KEY}
type: openai_embedding
model: text-embedding-3-small
api_base: https://api.openai.com/v1
一切就绪后,运行命令开始构建——这个过程相当漫长(两篇不算长的PDF花了十几分钟)。去喝杯茶吧:
python -m graphrag.index --root ./ragtest

构建完成后,就可以向GraphRAG提问了。它支持两种模式:global和local。
python -m graphrag.query
--root ./ragtest
--method global
# 或者换成:--method local
"你的问题"
先说说效果。GraphRAG确实有效,尤其适合处理关联性强的问题,配合Doc2X能很好地提取文档内容。但问题在于:
统计一下这两篇PDF:如果直接作为上下文输入,加起来总共52525 token。但构建阶段消耗了多少呢?
没错,133万输入token,34万输出token。好在用的是DeepSeek,总共只花了$0.28(约2元软妹币)。但如果换成OpenAI的模型,即使是最便宜的GPT-4o,也要$11.85(约86元)才能完成构建。
哪怕只是回答一个简单问题,也会消耗85293输入token和1848输出token。还好有DeepSeek这个性能足够又极其便宜的异类撑着。

同时,由于token消耗惊人,实际输出速度也非常慢。因此,现阶段很难把GraphRAG当作一个成熟的RAG解决方案来部署——它更像是一个验证方向可行性的DEMO。
从这儿往下是实际效果的对比演示。测试问题:




作为基准线,加入了Dify的结果。此处的Dify按标准流程配置,使用了带Rerank模型的完整RAG流程,提示词默认,未做改动。


腾讯ima怎么把微信内容一键导入知识库?
Celestia价格预测2026-2032:TIA币能否引领山寨币上涨行情?历史价格回顾
腾讯ima怎么创建共享知识库?
比特币(BTC)核心周期指标复刻历史走势 价格或跌破5.8万美元关键支撑位
比特币 2025 年价格预测:BTC 的未来走势
WorkBuddy微信版怎么获得积分?
5000元起的鼠标哪个最值得入手?
新浪人工智能热点小时报丨2026年07月30日18时_今日实时人工智能热点速递
车载冰箱重置到出厂设置几步?
SPX6900(SPX)币是什么?SPX币价格走势分析及未来展望
腾讯ima知识库怎么分类管理?
短剧《史上最强洪荒修为》剧情介绍
海尔消毒柜自动消毒如何中止
博世壁挂炉关闭暖气怎么操作
男生高性价比充电头?
管线机怎么接云米净水器
kimi提示词专家使用方法新手指南
5000-6000元鼠标有什么推荐?
WorkBuddy积分怎么获得?
Windy卫星云图怎么看?云层变化识别技巧
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc