返回市场
MCP中心

MCP中心

作者:embracefailure2 星标更新:2025-11-05

项目介绍

为什么选择 GraphRAG MCP

为了提高企业内部的信息检索效率,需要一个能够从分散的文档中提取与用户相关的信息的代理。通过将企业文档检索构建为一个MCP(模型上下文协议),组织内的其他代理可以在需要文档检索时简单地连接到这个MCP。这种方法集中了文档搜索能力,使得在企业范围内集成和扩展智能代理变得更加容易。

如何运行

  1. 在项目根目录和graphrag/目录中的.env文件中填写所需的环境变量。

  2. 打开终端并导航到项目根目录。

  3. 运行以下命令启动 GraphRAG MCP:

    uv run rag_client.py rag_server.py
    

完成这些步骤后,GraphRAG MCP 将开始运行。

代码结构

.
├── main.py
├── rag_client.py # GraphRAG 的 MCP 客户端
├── rag_server.py # GraphRAG 的 MCP 服务器
├── pyproject.toml
├── .env 
├── .gitignore
├── .python-version
├── README.md
└── graphrag/
    ├── .env
    ├── settings.yaml
    ├── cache/
    │   ├── community_reporting/
    │   ├── extract_graph/
    │   ├── summarize_descriptions/
    │   └── text_embedding/
    ├── input/ 
    │   └── test.txt # 知识库
    ├── logs/
    ├── output/
    │   ├── context.json
    │   ├── stats.json
    │   └── lancedb/
    └── prompts/
        ├── basic_search_system_prompt.txt
        ├── community_report_graph.txt
        ├── community_report_text.txt
        ├── drift_reduce_prompt.txt
        ├── drift_search_system_prompt.txt
        ├── extract_claims.txt
        ├── extract_graph.txt
        └── ...

文件夹和文件描述

  • rag_client.py: 用于与 RAG 服务器交互的客户端。
  • rag_server.py: 提供基于 RAG 工具的服务器。
  • pyproject.toml: Python 项目的配置文件。
  • .env, .gitignore, .python-version: 环境和版本控制文件。

graphrag/

  • .env, settings.yaml: GraphRAG 的环境和配置文件。
  • cache/: 存储各种流水线阶段的中间结果。
    • community_reporting/: 缓存社区报告数据。
    • extract_graph/: 缓存图提取结果。 、summarize_descriptions/: 缓存描述摘要。
    • text_embedding/: 缓存文本嵌入以供检索。
  • input/: 包含输入数据文件。
  • logs/: 存储运行过程中生成的日志文件。
  • output/: 存储输出数据,如上下文和统计数据。
    • context.json: 输出上下文数据。
    • stats.json: 输出统计数据。
    • lancedb/: 向量存储数据库文件。
  • prompts/: 包含不同任务的提示模板。
    • basic_search_system_prompt.txt: 基本搜索提示。
    • community_report_graph.txt: 图基社区报告提示。
    • community_report_text.txt: 文本基社区报告提示。
    • drift_reduce_prompt.txt, drift_search_system_prompt.txt: 漂移分析提示。
    • extract_claims.txt, extract_graph.txt: 提取声明和图的提示。

核心技术:GraphRAG

GraphRAG 是一种增强检索的生成框架(RAG),它将基于图的推理与大型语言模型相结合。通过将实体、关系和声明表示为知识图谱,GraphRAG 增强了传统的 RAG,使其具有更结构化和语境感知的检索能力。

GraphRAG 工作原理

  1. 数据摄入:处理原始文本和表格数据,提取实体、关系和声明,并将其存储在图结构中。
  2. 提示:自定义提示引导语言模型生成基于图数据的回答。
  3. 检索:当接收到查询时,使用语义搜索和图遍历从图中检索相关的节点和边。
  4. 生成:语言模型利用检索到的图上下文和提示模板合成答案,确保回答准确且有充分依据。
  5. 缓存和输出:为了提高效率,中间和最终结果被缓存并存储以供进一步分析。

这种方法相比标准的 RAG 流水线,提供了更具解释性、可靠性和语境丰富的答案。