GraphRAG
基础介绍GraphRAG 是微软研究院开源的一种结构化、层次化的检索增强生成RAG系统与传统 RAG 主要依赖纯文本向量检索不同GraphRAG 会先用大模型从原始文档中抽取实体、关系和摘要构建知识图谱再基于图结构、社区报告和原始文本片段进行检索与问答传统 RAG 更像是“从文本块里找相似片段”而 GraphRAG 更像是“先把资料整理成一张关系网络再围绕网络回答问题”因此它特别适合跨文档关联、宏观总结、复杂实体关系分析这类任务GraphRAG 的作用要理解 GraphRAG先要理解传统 RAG 的边界传统 RAG 的基本流程是文档切块 → 生成向量 → 用户提问 → 向量相似度检索 → 把相关文本块放进上下文 → LLM 生成回答这个方案对精确检索类问题效果很好例如“Starship 的设计目标是什么”“某段制度里对请假的规定是什么”“这份合同里付款期限是多少天”但当问题需要跨文档、跨实体、跨主题进行综合判断时传统 RAG 就容易吃力典型问题包括跨文档关联推理答案需要把分散在不同文档中的人物、组织、事件串联起来全局性摘要问题要求对整个语料库做宏观总结而不是找几段局部文本关系网络分析用户关心的是“谁和谁有关、通过什么关系有关、关系强弱如何”主题归纳用户希望看见一批文档里的主题结构、主要社区和潜在风险GraphRAG 的核心思路是不要只把文档当作一堆文本块而是先把文档中的关键对象和关系抽取出来形成知识图谱之后再基于知识图谱进行社区发现、报告生成和查询这样系统回答问题时不仅能看到原文片段还能看到实体、关系、社区摘要和全局结构与传统 RAG 的区别两者不是互相替代关系而是适合不同问题对比项传统 RAGGraphRAG数据组织方式文本块 向量文本块 实体 关系 社区报告 向量检索核心相似度搜索图谱结构、社区摘要、实体邻域、向量检索组合擅长问题精确事实检索全局总结、关系分析、跨文档综合构建成本较低较高需要大量 LLM 调用查询成本通常较低Global Search 成本较高Local/Basic 相对较低可解释性依赖命中文本片段可结合实体、关系、社区和来源文本解释如果只是构建一个 FAQ 问答系统传统 RAG 往往更简单如果你要分析大量报告、访谈、财报、新闻、舆情、论文或企业知识库并且经常提出“整体是什么情况”“这些对象之间有什么关系”“核心风险是什么”这类问题GraphRAG 更有优势知识图谱知识图谱可以理解为一张由“点”和“线”组成的关系网络点表示实体线表示实体之间的关系如果传统 RAG 看到的是一段段文本那么知识图谱看到的是文本背后的对象、关系和结构实体实体是图谱中的节点它表示文档中被反复提到、值得单独识别和追踪的对象常见实体类型包括人物组织地点产品事件概念等在 GraphRAG 中这些实体会出现在entities.parquet里每个实体通常会有名称、类型、描述、出现频次、度数等信息一个好的实体不只是“被模型看见的词”而是后续查询中可以承载信息的对象关系关系是图谱中的边它描述两个实体之间发生了什么联系在 GraphRAG 中关系会出现在relationships.parquet里一条关系通常包含source关系起点实体target关系终点实体description关系的自然语言描述weight关系权重或重要程度关系可以有方向两句话表达的是同一事实但图结构里通常会选定一个方向来存储也可以有权重如果两个实体在多处文本中频繁共同出现并且关系描述清晰权重通常会更高三元组知识图谱中最基础的表达方式是三元组三元组格式是主体实体 - 关系 - 客体实体三元组的好处是结构清晰模型不再只看到一段自然语言而是看到“谁和谁通过什么关系连接起来”这也是 GraphRAG 能处理关系网络问题的基础用 LLM 从文本中自动抽取实体和关系再把这些结果组织成图结构GraphRAG 图谱更适合辅助检索和理解语料而不是直接替代高精度业务数据库属性属性是实体或关系上的附加信息GraphRAG 中的属性不一定以传统知识图谱数据库的字段形式存储很多属性会被写进实体描述、关系描述或社区报告因此检查 GraphRAG 图谱质量时不仅要看实体和关系数量也要看 description 是否足够准确Schema 与实体类型Schema 可以理解为图谱的结构规范它回答两个问题第一允许抽取哪些实体类型第二什么样的关系对当前任务有价值实体类型设计会直接影响 GraphRAG 的图谱质量类型太少图谱会过粗类型太多模型可能抽取不稳定实体也容易碎片化路径与邻居图谱中两个实体之间可以通过一条或多条路径连接GraphRAG 的 Local Search 正是从相关实体出发扩展邻居、关系和文本块因此当问题是“某个实体和周围对象有什么关系”时Local Search 通常比 Basic Search 更适合社区与层级当图谱变大后所有实体和关系会形成复杂网络社区发现就是把关系更紧密的一组实体聚在一起GraphRAG 使用 Leiden 算法做层次社区发现社区结果会保存在communities.parquet社区摘要会保存在community_reports.parquetGlobal Search 之所以适合全局总结就是因为它主要基于社区报告进行 Map-Reduce 式汇总可以这样理解Local Search 看实体邻域而 Global Search 看社区报告DRIFT Search 则在局部实体和全局社区之间做折中中心性与重要实体在图谱里并不是所有实体同等重要如果一个实体连接了很多其他实体它通常更中心在 GraphRAG 输出中可以通过实体的 degree、出现频次、关系数量等字段初步判断重要性这对调试很有帮助如果发现无关词成了高频中心实体说明实体抽取 Prompt 或实体类型需要调整如果核心对象没有被抽出来则说明分块、实体类型或 Prompt Tune 可能有问题完整工作流GraphRAG 可以分为三个主流程第一是 Prompt TuneGraphRAG 会根据你的语料自动生成更适合当前领域的实体抽取 Prompt尤其处理中文资料或垂直领域资料时建议先调优 Prompt再正式索引第二是 IndexGraphRAG 会读取 input 目录中的文档完成文本切块、实体抽取、关系抽取、描述总结、社区发现、社区报告生成和向量索引第三是 Query用户提问时GraphRAG 会根据查询模式使用不同检索策略把社区报告、实体关系、文本块和向量检索结果组织成上下文再交给模型生成答案整体流程可以这样理解原始文档→ 文档加载→ 文本切块 text_units→ 实体抽取 entities→ 关系抽取 relationships→ 实体与关系描述总结→ Leiden 社区发现 communities→ 社区报告 community_reports→ 向量索引 lancedb→ Global / Local / DRIFT / Basic 查询GraphRAG 的索引阶段通常比传统 RAG 更贵原因是它不仅要给文本块做 embedding还要调用大模型进行实体抽取、关系抽取、实体描述总结和社区报告生成初次使用时不要直接扔几百篇文档进去建议先用一篇几千字以内的文档跑通流程确认配置、模型、输出目录和查询方式都正常后再逐步扩大语料四种查询模式GraphRAG 当前常见查询模式包括 Global、Local、DRIFT 和 Basic查询模式检索策略适合问题资源消耗Global Search基于社区报告做 Map-Reduce 总结全局性、总结性问题例如“这批文档的核心主题是什么”高Local Search从相关实体出发扩展邻居、关系和文本块特定实体相关问题例如“某公司和哪些组织有关”中DRIFT Search结合全局社区信息和局部实体搜索迭代扩展上下文既围绕实体又需要更宽背景的问题中高Basic Search标准向量相似度检索文本块简单事实检索或和传统 RAG 对比低环境安装GraphRAG 发布在 PyPI建议在独立虚拟环境中安装当前 GraphRAG 官方包要求 Python 版本为3.11,3.14建议使用 Python 3.11、3.12 或 3.13创建虚拟环境# 创建项目目录 mkdir graph-rag-demo cd graph-rag-demo # 创建 Python 虚拟环境 python -m venv .venv激活虚拟环境# macOS / Linux source .venv/bin/activate# Windows PowerShell .\.venv\Scripts\Activate.ps1使用uv创建指定 Python 版本的环境# 创建 Python 3.12 环境 uv venv --python 3.12 # 激活后继续安装依赖 uv pip install graphrag pandas pyarrow使用pip安装# 升级 pip减少安装依赖时的兼容问题 python -m pip install --upgrade pip # 安装 GraphRAG 和读取 parquet 常用依赖 pip install graphrag pandas pyarrow安装完成后验证# 查看 CLI 是否安装成功 graphrag --help如果能看到init、index、query、prompt-tune、update等命令说明安装成功初始化工作区运行graphrag init命令GraphRAG 会在项目目录中生成默认配置文件和目录结构# 在当前目录初始化 GraphRAG 项目 graphrag init --root .初始化时会让你设置默认 chat model 和 embedding model可以先回车使用默认值之后再手动修改配置文件Specify the default chat model to use [gpt-4.1]: Specify the default embedding model to use [text-embedding-3-large]:初始化后的常见目录结构如下graph-rag-demo/ ├── .env # 存放 API Key 等环境变量 ├── settings.yaml # 核心配置文件不同版本字段可能略有差异 ├── input/ # 存放待处理文档 ├── prompts/ # Prompt 模板目录 ├── output/ # 索引输出目录运行 index 后生成 ├── cache/ # LLM 调用缓存目录 └── logs/ # 日志目录注意每次升级 GraphRAG 小版本后如果遇到配置字段不兼容建议先备份旧配置再运行# 强制重新生成当前版本的配置和 prompt 模板 graphrag init --root . --force--force会覆盖现有settings.yaml和prompts/所以运行前一定要备份准备测试文档GraphRAG 支持 .txt、.csv、.json 格式的文档所有待处理文件放在 input/ 目录下可以使用官方推荐的测试文档直接从 Project Gutenberg 下载curl https://static.jyshare.com/download/pg24022.txt -o ./input/book.txt或者创建一个中文测试文本内容越丰富含大量人物、地点、事件关系GraphRAG 的知识图谱效果越明显创建input/demo.txtSpaceX 太空探索技术公司成立于 2002 年由埃隆·马斯克Elon Musk在美国加利福尼亚州霍桑市创办。 公司目标是大幅降低太空运输成本最终实现人类移民火星。 马斯克早年联合创立了 PayPal2002 年以 15 亿美元出售给 eBay随后将个人资产投入 SpaceX。 联合创始人中汤姆·穆勒Tom Mueller担任推进系统首席设计师主导了 Merlin 和 Raptor 发动机的研发。 格温·肖特维尔Gwynne Shotwell于 2002 年加入2008 年起担任总裁兼 COO负责公司日常运营和商业拓展。 2008 年猎鹰 1 号Falcon 1在经历三次失败后首次成功入轨成为首个由私营公司研制的液体轨道火箭。 2010 年猎鹰 9 号Falcon 9首飞成功同年龙飞船Dragon完成首次商业发射与回收。 2012 年龙飞船成为首个对接国际空间站的商业航天器。 2015 年 12 月猎鹰 9 号一级火箭首次实现陆地垂直回收开创了火箭重复使用的新纪元。 此后 SpaceX 累计完成超过 200 次火箭回收单枚助推器最高复用次数达到 20 次以上。 2020 年载人龙飞船Crew Dragon将 NASA 宇航员送入国际空间站标志着商业载人航天时代的开始。 Starlink 星链项目自 2019 年启动截至 2024 年已在轨部署超过 5000 颗卫星覆盖全球超过 60 个国家和地区。 Starship 星舰是 SpaceX 正在研发的超重型运载系统由超重助推器Super Heavy和星舰飞船组成 设计目标为完全可重复使用近地轨道运力超过 100 吨是 NASA 阿尔忒弥斯登月计划的指定着陆器。 竞争对手方面SpaceX 主要面临来自蓝色起源Blue Origin和联合发射联盟ULA的压力。 蓝色起源由亚马逊创始人杰夫·贝索斯创立专注亚轨道旅游和重型火箭 New Glenn 的研发。 ULA 由洛克希德·马丁和波音合资成立长期承担美国军方卫星发射任务。配置模型GraphRAG 使用 LiteLLM 调用模型因此除了 OpenAI 官方模型也可以接入 Azure OpenAI、Anthropic、DashScope、DeepSeek、OpenRouter 等兼容或受支持的模型本文使用阿里云百炼 DashScope 的 OpenAI 兼容接口先编辑.env# .env # 阿里云百炼 API Key DASHSCOPE_API_KEYsk-your-dashscope-api-key然后修改settings.yaml中的模型配置下面是一个可参考的模型配置片段# 文本生成模型 completion_models: default_completion_model: model_provider: openai model: qwen3.7-plus auth_method: api_key api_key: ${DASHSCOPE_API_KEY} api_base: https://dashscope.aliyuncs.com/compatible-mode/v1 call_args: temperature: 0 max_tokens: 4096 retry: type: exponential_backoff # 指数退避 max_retries: 5 # 最大重试次数 base_delay: 2 # 延迟时间单位秒 # 向量模型 embedding_models: default_embedding_model: model_provider: openai model: text-embedding-v4 auth_method: api_key api_key: ${DASHSCOPE_API_KEY} api_base: https://dashscope.aliyuncs.com/compatible-mode/v1 retry: type: exponential_backoff # 指数退避 max_retries: 5 # 最大重试次数 # 全局并发 concurrent_requests: 1 # 控制大模型和向量模型请求并发避免限流 # 数据源 input: type: text # 纯文本文件 # 输入存储 input_storage: type: file # 文件存储 base_dir: input # 输入文件目录 # 文本分块 chunking: type: tokens # 基于token分块 size: 600 # 中文分块大小推荐 500~800 overlap: 100 # 分块重叠大小推荐 100~200 encoding_model: o200k_base # 新版分词模器 # 输出存储 output_storage: type: file # 文件存储 base_dir: output # 输出文件目录 # 日志存储 reporting: type: file # 文件存储 base_dir: logs # 日志文件目录 # 缓存存储 cache: type: json # JSON缓存 storage: type: file # 文件存储 base_dir: cache # 缓存文件目录 # 向量存储 vector_store: type: lancedb # 本地轻量向量数据库 db_uri: output/lancedb # 存放路径 vector_size: 1024 # 向量维度 # 向量批量处理 embed_text: embedding_model_id: default_embedding_model batch_size: 10 # 批量处理大小 batch_max_tokens: 6000 # 单批次token上限 # 图谱构建 extract_graph: completion_model_id: default_completion_model prompt: prompts/extract_graph.txt entity_types: [person, organization, geo, event, concept] # 实体类型 max_gleanings: 3 # 补抽次数 # 描述总结 summarize_descriptions: completion_model_id: default_completion_model prompt: prompts/summarize_descriptions.txt max_length: 500 # 每个实体/关系最大总结长度 # 社区聚类 cluster_graph: max_cluster_size: 20 # 每个社区最多实体数 # 事实抽取 extract_claims: enabled: false # 是否开启事实抽取功能 # 社区报告 community_reports: completion_model_id: default_completion_model graph_prompt: prompts/community_report_graph.txt text_prompt: prompts/community_report_text.txt max_length: 1500 # 每个社区报告最大长度 max_input_length: 4000 # 输入最大长度 # 项目导出 snapshots: graphml: true # 是否导出图谱文件 embeddings: false # 是否导出向量文件 # 局部搜索 local_search: completion_model_id: default_completion_model embedding_model_id: default_embedding_model prompt: prompts/local_search_system_prompt.txt top_k_entities: 10 # 检索最相关的实体数 # 全局搜索 global_search: completion_model_id: default_completion_model map_prompt: prompts/global_search_map_system_prompt.txt reduce_prompt: prompts/global_search_reduce_system_prompt.txt knowledge_prompt: prompts/global_search_knowledge_system_prompt.txt map_max_length: 500 # 分片摘要最大长度 reduce_max_length: 1500 # 最终全局搜索最大长度中文资料正式索引前建议先做 Prompt 自动调优# 根据中文语料生成更合适的抽取 Prompt graphrag prompt-tune --root . --language Chinese如果语料有明确领域也可以加上--domain# 指定领域有助于生成更贴合语料的 Prompt graphrag prompt-tune --root . --language Chinese --domain commercial aerospace调优完成后prompts/目录下的 Prompt 文件会被更新建议把调优后的 Prompt 保存到版本管理中后续重建索引时保持一致开始索引配置完成后运行索引命令# 使用默认 standard 方法构建索引 graphrag index --root .显式指定标准方法# standard 是默认方法可以省略 graphrag index --root . --method standard在正式执行前可以先做一次 dry run# 检查配置和流程但不真正执行索引 graphrag index --root . --dry-run如果索引过程中断可以直接重新运行graphrag indexGraphRAG 默认支持 LLM cache重复请求会尽量复用缓存结果如果希望禁用缓存可以显式指定# 不使用 LLM cache通常只在调试时使用 graphrag index --root . --no-cache索引阶段会完成文档读取文本切块实体抽取关系抽取实体和关系描述总结社区聚类社区报告生成向量索引写入Standard 与 FastGraphRAG 当前支持不同索引方法最常用的是standard和fast标准方法# LLM 负责实体抽取、关系抽取、描述总结和社区报告生成 graphrag index --root . --method standardFastGraphRAG# 用 NLP 方法替代部分 LLM 推理成本更低、速度更快 graphrag index --root . --method fast两者区别如下方法特点优点缺点standard用 LLM 抽取实体、关系、描述和社区报告图谱质量更高实体关系更有语义成本高速度慢fast用 NLP 方法抽取名词短语和共现关系仍生成社区报告成本低速度快图谱更粗糙默认更偏英文图谱抽取大约会构成索引成本的重要部分如果你需要高质量实体图谱和关系探索建议使用standard如果主要目标是全局摘要且希望降低索引成本可以先尝试fast输出文件索引完成后output/目录下会生成一批 parquet 文件和向量库常见文件如下文件作用documents.parquet原始文档导入后的表包含标题、全文、metadata 和对应 text unitstext_units.parquet文本切块结果是后续抽取实体和关系的基本单位entities.parquet抽取出的实体包含名称、类型、描述、频次、度数等relationships.parquet实体之间的关系包含 source、target、关系描述、权重等communities.parquetLeiden 社区发现结果包含社区层级、父子社区和成员实体community_reports.parquet每个社区的摘要报告是 Global Search 的核心数据covariates.parquet可选输出开启 claims 抽取时生成lancedb/本地向量数据库存储文本块、实体描述、社区报告等向量如果想检查索引质量可以先读entities.parquet和relationships.parquet创建inspect_outputs.pyfrom pathlib import Path import pandas as pd output_dir Path(output) # 读取实体和关系表快速查看抽取质量 entities pd.read_parquet(output_dir / entities.parquet) relationships pd.read_parquet(output_dir / relationships.parquet) print(实体数量, len(entities)) print(关系数量, len(relationships)) # 查看前 10 个实体重点关注 title、type、description print(entities[[title, type, description]].head(10)) # 查看前 10 条关系重点关注 source、target、description print(relationships[[source, target, description]].head(10))运行python inspect_outputs.py如果实体名称大量重复、类型混乱或关系描述很空优先调整 Prompt Tune、实体类型和分块大小执行查询GraphRAG 提供 CLI 和 Python API 两种方式对知识图谱进行查询CLI 查询全局搜索适合宏观性问题# Global Search默认查询方法就是 global graphrag query --root . 这批文档的核心主题是什么显式指定 Global Search# 适合全局总结类问题 graphrag query --root . --method global 文档中涉及的主要组织和人物有哪些它们之间有什么关系Local Search# 适合围绕特定实体提问 graphrag query --root . --method local SpaceX 公司的主要业务和合作伙伴有哪些DRIFT Search# 适合围绕实体继续扩展上下文的问题 graphrag query --root . --method drift 埃隆·马斯克的职业背景和主要贡献是什么Basic Search# 适合简单事实检索也可用于和传统 RAG 对比 graphrag query --root . --method basic Starship 星舰的设计目标和能力是什么指定响应格式# 让模型用 3-7 条要点回答 graphrag query --root . --method global --response-type List of 3-7 Points 这批资料的核心风险是什么流式输出# 边生成边打印 graphrag query --root . --method local --streaming SpaceX 的竞争对手有哪些指定社区层级# 数值越高社区通常越小细节更多 graphrag query --root . --method global --community-level 2 文档有哪些主要主题Python API 查询在代码中调用 GraphRAG 查询适合集成到应用程序中创建query_with_python.pyimport asyncio from pathlib import Path import pandas as pd from graphrag.api.query import global_search, local_search, drift_search, basic_search from graphrag.config.load_config import load_config ROOT Path(.) OUTPUT ROOT / output def read_optional_parquet(path: Path): 读取可选 parquet 文件不存在时返回 None if path.exists(): return pd.read_parquet(path) return None async def run_query(): 演示四种查询方式的最小调用流程 # 加载 settings.yaml 配置 config load_config(ROOT) # 读取索引输出表 entities pd.read_parquet(OUTPUT / entities.parquet) communities pd.read_parquet(OUTPUT / communities.parquet) community_reports pd.read_parquet(OUTPUT / community_reports.parquet) text_units pd.read_parquet(OUTPUT / text_units.parquet) relationships pd.read_parquet(OUTPUT / relationships.parquet) covariates read_optional_parquet(OUTPUT / covariates.parquet) # Global Search适合宏观总结类问题 global_response, global_context await global_search( configconfig, entitiesentities, communitiescommunities, community_reportscommunity_reports, community_levelNone, dynamic_community_selectionFalse, response_typemultiple paragraphs, query文档中涉及的主要公司和人物关系网络是怎样的, ) print(【Global Search】) print(global_response) # Local Search适合围绕特定实体提问 local_response, local_context await local_search( configconfig, entitiesentities, communitiescommunities, community_reportscommunity_reports, text_unitstext_units, relationshipsrelationships, covariatescovariates, community_level2, response_typemultiple paragraphs, querySpaceX 公司的创始团队背景和主要产品是什么, ) print(\n【Local Search】) print(local_response) # DRIFT Search适合实体问题但需要更宽上下文 drift_response, drift_context await drift_search( configconfig, entitiesentities, communitiescommunities, community_reportscommunity_reports, text_unitstext_units, relationshipsrelationships, community_level2, response_typemultiple paragraphs, query埃隆·马斯克与 SpaceX 的关键发展节点有什么关系, ) print(\n【DRIFT Search】) print(drift_response) # Basic Search标准向量检索 basic_response, basic_context await basic_search( configconfig, text_unitstext_units, queryStarship 星舰的设计目标是什么, ) print(\n【Basic Search】) print(basic_response) if __name__ __main__: # GraphRAG 查询 API 是异步函数需要用 asyncio 运行 asyncio.run(run_query())Prompt 自动调优GraphRAG 官方建议在处理自己的数据集前先进行 Prompt 自动调优它会读取你的部分文档生成更适合当前语料的实体抽取 Prompt对于中文资料这一步尤其重要基本命令# 根据 input 数据自动生成 prompt graphrag prompt-tune --root . --language Chinese带领域提示# domain 可以帮助模型理解语料范围 graphrag prompt-tune --root . --language Chinese --domain commercial aerospace输出到单独目录# 先输出到 prompts_tuned确认后再替换 prompts graphrag prompt-tune --root . --language Chinese --output prompts_tuned常用 CLI 命令命令说明graphrag init --root .初始化工作区生成.env、settings.yaml、input/、prompts/graphrag init --root . --force强制重新初始化会覆盖配置和 Promptgraphrag prompt-tune --root . --language Chinese根据中文语料自动调优 Promptgraphrag index --root .使用默认 standard 方法执行索引graphrag index --root . --method standard使用标准 GraphRAG 索引方法graphrag index --root . --method fast使用 FastGraphRAG 索引方法graphrag index --root . --dry-run检查配置和流程不真正执行graphrag index --root . --no-cache禁用 LLM cache 后执行索引graphrag update --root .更新已有知识图谱索引graphrag query --root . 问题默认 Global Search 查询graphrag query --root . --method global 问题Global Search 查询graphrag query --root . --method local 问题Local Search 查询graphrag query --root . --method drift 问题DRIFT Search 查询graphrag query --root . --method basic 问题Basic Search 查询graphrag query --root . --streaming 问题流式输出查询结果常见错误与排查问题常见原因解决方式graphrag命令不存在虚拟环境未激活或安装失败激活.venv后重新安装graphragsettings.yaml字段报错配置来自旧版本教程和当前版本不匹配重新graphrag init --force再局部迁移配置API 401 或认证失败.env没配置或变量名不匹配检查${DASHSCOPE_API_KEY}是否能被读取API 限流并发过高请求过密降低并发开启 cache增加 retry向量维度错误vector_size和 embedding 模型输出维度不一致按模型实际维度修改index_schema没生成 parquet索引中途失败或输出目录配置错误查看logs/先用--dry-run检查配置实体抽取质量差Prompt 不适合中文或领域语料运行prompt-tune --language Chinese调整实体类型关系很少分块太小或 Prompt 没要求关系增大 chunk size检查extract_graph.txtGlobal Search 很慢社区报告多map 阶段调用多缩小语料、降低 community level、尝试 fast 方法Local Search 查不到重点实体实体名称不一致或实体描述向量质量差检查entities.parquet换问法或调 PromptPython API 报导入错误GraphRAG API 仍在变化锁定版本优先使用 CLI按当前源码调整 import

相关新闻

Windows屏幕保护程序.scr文件的技术解析与应用

Windows屏幕保护程序.scr文件的技术解析与应用

1. .scr文件的前世今生:从CRT时代到现代应用 .scr文件作为Windows屏幕保护程序的标准格式,其历史可以追溯到个人计算机的早期发展阶段。在1980年代末至1990年代初,CRT(阴极射线管)显示器是主流显示设备,这种…

2026/7/17 20:24:38 阅读更多 →
MIT 6.828 Lab1:x86操作系统实验环境搭建与启动流程解析

MIT 6.828 Lab1:x86操作系统实验环境搭建与启动流程解析

1. 项目概述:6.828 Lab1 操作系统实验环境搭建作为MIT 6.828操作系统课程的第一个实验,Lab1主要目标是搭建完整的x86模拟环境,并引导学员理解计算机从加电到操作系统启动的全过程。这个实验看似简单,却包含了计算机系统最底层的核…

2026/7/17 20:18:37 阅读更多 →
YOLOv11【第十九章:行业垂直应用与定制篇·第7节】建筑工地——安全帽/反光衣佩戴检测 + 高空作业违规识别!

YOLOv11【第十九章:行业垂直应用与定制篇·第7节】建筑工地——安全帽/反光衣佩戴检测 + 高空作业违规识别!

🏆本文收录于专栏 《YOLOv11实战:从入门到深度优化》。 本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。 整体坚持 持续更新 + 深度解…

2026/7/17 20:18:37 阅读更多 →

最新新闻

2026零基础视频重点提取教程3步直接上手,避坑指南包教包会

2026零基础视频重点提取教程3步直接上手,避坑指南包教包会

零基础做视频重点提取,3步就能直接上手,不需要掌握复杂剪辑或AI技能,适合需要从已有视频素材提取核心内容做二次创作的自媒体从业者。核心逻辑是先分离音频再用AI做结构化提炼,最后整理可用内容,本方法只适合已有现成视…

2026/7/17 21:12:56 阅读更多 →
Oracle 迁移评估时,我把这两类问题列在了检查清单最前面

Oracle 迁移评估时,我把这两类问题列在了检查清单最前面

接手一个 Oracle 迁移评估任务时,大家习惯先看语法兼容性:这个存储过程能不能跑、这个函数有没有对应实现、这张视图的写法要不要改。这些问题好查,工具能扫,跑一遍报错日志就知道改哪。真正让人头疼的不是这些——是那些语法完全…

2026/7/17 21:12:56 阅读更多 →
生成式AI重塑社会工程攻击:从钓鱼邮件到深度伪造的攻防新挑战

生成式AI重塑社会工程攻击:从钓鱼邮件到深度伪造的攻防新挑战

1. 项目概述:当攻击者手握“AI画笔”最近和几个做安全的朋友聊天,话题总绕不开一个词:生成式AI。以前我们谈社会工程攻击,脑海里浮现的可能是那些语法蹩脚、一眼假的“尼日利亚王子”邮件,或者是电话那头口音奇怪、急于…

2026/7/17 21:10:55 阅读更多 →
2026年上半年软考高级-系统架构设计师考试真题回顾与解析-综合知识4

2026年上半年软考高级-系统架构设计师考试真题回顾与解析-综合知识4

【真题回顾】 上一篇:2026年5月软考高级-系统架构设计师考试真题回顾与解析-综合知识选择题3 16、( )支持文件长度可变、随机访问的磁盘存储空间。 A. 链接分配 B. 连续分配 C. 动态分配 D. 索引分配 参考答案:D 答案解析: 索引分配(Indexed Allocation) 为每个文件建…

2026/7/17 21:08:54 阅读更多 →
AI系统Harness层:资源调度与错误隔离实战

AI系统Harness层:资源调度与错误隔离实战

1. Harness层在AI系统中的核心定位Harness层在AI系统中扮演着类似"交通指挥中心"的角色,它不直接处理具体业务逻辑,而是负责协调和管理整个系统的运行流程。这个抽象层位于业务逻辑和底层基础设施之间,主要解决四个关键问题&#x…

2026/7/17 21:04:53 阅读更多 →
RA4M2微控制器驱动OLED显示模块的I2C通信实战

RA4M2微控制器驱动OLED显示模块的I2C通信实战

1. RA4M2与OLED显示模块的硬件基础 RA4M2是瑞萨电子推出的高性能32位微控制器,基于Arm Cortex-M4内核,主频高达48MHz。这款芯片在嵌入式显示领域具有独特优势,其内置的硬件I2C控制器支持标准模式(100kHz)和快速模式(400kHz),特别适…

2026/7/17 21:02:50 阅读更多 →

日新闻

2026全国外贸独立站搭建公司推荐排行,含零代码SAAS、AI编程、源码定制

2026全国外贸独立站搭建公司推荐排行,含零代码SAAS、AI编程、源码定制

2026全国外贸独立站搭建公司推荐排行 外贸工厂、工贸企业建设官网,核心需求与普通展示型网站并不相同。除了页面整洁、多语言适配和海外访问体验,企业还要重点考虑数据能否导出、站点能否迁移、源码是否可控、后续费用是否透明,以及更换服务…

2026/7/17 0:02:10 阅读更多 →
HarmonyOS 应用开发《掌上英语》第19篇:3D 翻转动画实现——ArkTS 动画系统全解析

HarmonyOS 应用开发《掌上英语》第19篇:3D 翻转动画实现——ArkTS 动画系统全解析

3D 翻转动画实现——ArkTS 动画系统全解析引言 在移动应用中,卡片翻转动画是最受欢迎的交互动效之一,它能给用户带来直观的"物理世界"操作感。在我们的英语学习 App 的单词学习页面(CourseHomePage.ets)中,就…

2026/7/17 0:02:10 阅读更多 →
2026键盘推荐|IQUNIX EV63多场景适配,不允许有人不知道!

2026键盘推荐|IQUNIX EV63多场景适配,不允许有人不知道!

现在很多用户都需要一款能适配多场景的键盘,既能满足交流码字的需求,又能应对居家电竞的性能需求,最好还得有点小颜值。而大多键盘都只能兼顾其中一两个场景。这次我实测了IQUNIX EV63三款配色(银武士、黑武士、紫罗兰&#xff09…

2026/7/17 0:04:10 阅读更多 →

周新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/17 3:22:28 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/17 3:01:28 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/16 23:40:37 阅读更多 →

月新闻