96SEO 2026-02-19 16:51 14
。

它在用图结构来完成RAG时#xff0c;使用社区这个概念并基于社区摘要来回答一些概括性的问题。
RAG流程如论文图1所…GraphRAG出自2024年4月的论文《From
。
它在用图结构来完成RAG时使用社区这个概念并基于社区摘要来回答一些概括性的问题。
将文档分块论文也做了试验来分析chunk大小与后续步骤提取到的实体个数的关系如论文图2示意(gleaning是指在前面实体提取基础上提取漏掉的实体)。
虽然通常而言提取的实体提取越多越好但是还是平衡召回(recall)和精度(precision)。
让LLM从chunk中提取实体和关系在prompt中让LLM先识别实体、再识别这些实体之间的关系再按指定格式输出使用few-shot
prompt让LLM的实体和关系提取更准确(prompt在graphrag/index/graph/extractors/graph/prompts.py里)。
(entity{tuple_delimiter}entity_name{tuple_delimiter}entity_type{tuple_delimiter}entity_description2.
(relationship{tuple_delimiter}source_entity{tuple_delimiter}target_entity{tuple_delimiter}relationship_description{tuple_delimiter}relationship_strength)3.
{completion_delimiter}######################
(entity{tuple_delimiter}Alex{tuple_delimiter}person{tuple_delimiter}Alex
(entity{tuple_delimiter}Taylor{tuple_delimiter}person{tuple_delimiter}Taylor
perspective.){record_delimiter}
(entity{tuple_delimiter}Jordan{tuple_delimiter}person{tuple_delimiter}Jordan
(entity{tuple_delimiter}Cruz{tuple_delimiter}person{tuple_delimiter}Cruz
Device{tuple_delimiter}technology{tuple_delimiter}The
(relationship{tuple_delimiter}Alex{tuple_delimiter}Taylor{tuple_delimiter}Alex
device.{tuple_delimiter}7){record_delimiter}
(relationship{tuple_delimiter}Alex{tuple_delimiter}Jordan{tuple_delimiter}Alex
vision.{tuple_delimiter}6){record_delimiter}
(relationship{tuple_delimiter}Taylor{tuple_delimiter}Jordan{tuple_delimiter}Taylor
truce.{tuple_delimiter}8){record_delimiter}
(relationship{tuple_delimiter}Jordan{tuple_delimiter}Cruz{tuple_delimiter}Jordans
order.{tuple_delimiter}5){record_delimiter}
(relationship{tuple_delimiter}Taylor{tuple_delimiter}The
impact.{tuple_delimiter}9){completion_delimiter}
(entity{tuple_delimiter}Washington{tuple_delimiter}location{tuple_delimiter}Washington
(entity{tuple_delimiter}Operation:
Dulce{tuple_delimiter}mission{tuple_delimiter}Operation:
team{tuple_delimiter}organization{tuple_delimiter}The
(relationship{tuple_delimiter}The
team{tuple_delimiter}Washington{tuple_delimiter}The
process.{tuple_delimiter}7){record_delimiter}
(relationship{tuple_delimiter}The
team{tuple_delimiter}Operation:
activities.{tuple_delimiter}9){completion_delimiter}
Rivera{tuple_delimiter}person{tuple_delimiter}Sam
(entity{tuple_delimiter}Alex{tuple_delimiter}person{tuple_delimiter}Alex
(entity{tuple_delimiter}Control{tuple_delimiter}concept{tuple_delimiter}Control
(entity{tuple_delimiter}Intelligence{tuple_delimiter}concept{tuple_delimiter}Intelligence
communicate.){record_delimiter}
Contact{tuple_delimiter}event{tuple_delimiter}First
intelligence.){record_delimiter}
(entity{tuple_delimiter}Humanitys
Response{tuple_delimiter}event{tuple_delimiter}Humanitys
intelligence.){record_delimiter}
(relationship{tuple_delimiter}Sam
Rivera{tuple_delimiter}Intelligence{tuple_delimiter}Sam
intelligence.{tuple_delimiter}9){record_delimiter}
(relationship{tuple_delimiter}Alex{tuple_delimiter}First
intelligence.{tuple_delimiter}10){record_delimiter}
(relationship{tuple_delimiter}Alex{tuple_delimiter}Humanitys
intelligence.{tuple_delimiter}8){record_delimiter}
(relationship{tuple_delimiter}Control{tuple_delimiter}Intelligence{tuple_delimiter}The
rules.{tuple_delimiter}7){completion_delimiter}
让LLM针对提取的实体来进一步生成被称为covariate的claim包括subject,
dates属性(prompt在graphrag/index/graph/extractors/claims/prompts.py里)
(subject_entity{tuple_delimiter}object_entity{tuple_delimiter}claim_type{tuple_delimiter}claim_status{tuple_delimiter}claim_start_date{tuple_delimiter}claim_end_date{tuple_delimiter}claim_description{tuple_delimiter}claim_source)3.
{completion_delimiter}-Examples-
B{tuple_delimiter}ANTI-COMPETITIVE
PRACTICES{tuple_delimiter}TRUE{tuple_delimiter}2022-01-10T00:00:00{tuple_delimiter}2022-01-10T00:00:00{tuple_delimiter}Company
2022/01/10{tuple_delimiter}According
B{tuple_delimiter}ANTI-COMPETITIVE
PRACTICES{tuple_delimiter}TRUE{tuple_delimiter}2022-01-10T00:00:00{tuple_delimiter}2022-01-10T00:00:00{tuple_delimiter}Company
2022/01/10{tuple_delimiter}According
C{tuple_delimiter}NONE{tuple_delimiter}CORRUPTION{tuple_delimiter}SUSPECTED{tuple_delimiter}2015-01-01T00:00:00{tuple_delimiter}2015-12-30T00:00:00{tuple_delimiter}Person
将同名的实体和关系合并并让LLM对实体和关系的描述生成summary这里提到即使LLM对同一个实体不能保证每次都生成一样描述但也不影响整体方案的效果。
(prompt在graphrag/index/graph/extractors/summarize/prompts.py里)
Output:将前面提取的实体和关系构建成同构无向加权图实体作为图的节点关系作为图的边边的权重是关系的归一化计数。
在图上应用层次化社区发现算法Leiden得到的层次结构的每个级别包含一个社区分区每个分区是互斥的但是整体构成一个图使得可以实现分而治之的全局摘要。
对生成的社区生成摘要按如下方式来生成摘要(prompt在graphrag/index/graph/extractors/community_reports/prompts.py)
communities)按照一定的优先级将节点、关系、covariate加入到LLM上下文窗口直到达到token上限。
优先级定义为将社区中的边按照首尾节点的度之和来降序排序将首节点、尾节点、相关covariate、边的描述加入LLM上下文。
对更高级别的社区(Higher-level
communities):如果所有元素信息都可以放入LLM的上下文窗口则按叶子级别一样的处理逻辑。
否则将子社区按照元素摘要token数目降序排序并迭代地用更短的子社区摘要来替换更长的元素摘要直到长度满足LLM上下文要求。
(代码在graphrag/index/graph/extractors/community_reports/prep_community_report_context.py)
GraphRAG的查询有Local和Global两种模式Local适用于回答关于某个实体相关的问题Global模式适合回答关于整个数据集相关的问题。
将query在存储实体信息的向量库中检索出相关实体。
将第一步实体相关的chunk信息、社区摘要、实体详情、实体关系、实体Covarites按一定的格式组织作为上下文。
如果有历史聊天记录想历史聊天记录也作为上下文的一部分。
让LLM根据上下文生成回答prompt路径为graphrag/query/structured_search/local_search/system_prompt.py)。
Global查询的步骤如下如下图所示prompt在graphrag/query/structured_search/global_search/map_system_prompt.py
graphrag/query/structured_search/global_search/reduce_system_prompt.py
将所有社区摘要shuffle并分块作为上下文另将历史对话构成的上下文与这些社区摘要块拼接在一起作为上下文。
用map机制将前一步的多个上下文让LLM评估它们对于回答用户问题是否有帮助并进行0-100的打分。
过滤掉分数为0的上下文。
将前一步得到的结果合并且按照分数大小进行降序排序并将这些信息加入到LLM上下文窗口让LLM生成最终的回答。
GraphRAG在代码实现上有workflow概念如果需要修改运行流程只需要修改配置就可。
构建索引时的流程定义在graphrag/index/create_pipeline_config.py中(pipeline基于微软开源的另一个包DataShaper实现的)实体抽取、社区发现等操作被定义为verb代码在graphrag/index/verbs目录下。
但也因为它的workflow概念整个项目的代码可读性并不好。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback