企业文档检索代理

GraphRAG MCP是一个基于知识图谱的检索增强生成框架,通过集中化企业文档检索能力,提升信息检索效率并支持智能代理集成。

  • by embracefailure
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 embracefailure/MCPHub

使用说明

为什么选择GraphRAG MCP

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

如何跑步

  1. 在两个中填写所需的环境变量 .env 位于项目根目录和 graphrag/ 目录。

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

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

    uv run rag_client.py rag_server.py
    

完成这些步骤后,GraphRAG MCP将启动并运行。

编码结构

.
├── main.py
├── rag_client.py # MCP client for graphrag
├── rag_server.py # MCP server for graphrag
├── pyproject.toml
├── .env 
├── .gitignore
├── .python-version
├── README.md
└── graphrag/
    ├── .env
    ├── settings.yaml
    ├── cache/
    │   ├── community_reporting/
    │   ├── extract_graph/
    │   ├── summarize_descriptions/
    │   └── text_embedding/
    ├── input/ 
    │   └── test.txt # knowledge base
    ├── 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版本:环境和版本控制文件。

笔迹/

  • .env,settings.yamlGraphRAG的环境和配置。
  • 高速缓存/:存储各个管道阶段的中间结果。
    • 社区报道/:缓存社区报告数据。
    • 提取图/:缓存图形提取结果。
    • 概述_描述/:缓存描述摘要。
    • 文本嵌入/:缓存文本嵌入以供检索。
  • 输入/:包含输入数据文件。
  • 日志/:存储运行期间生成的日志文件。
  • 输出/:存储上下文和统计数据等输出数据。
    • context.json:输出上下文数据。
    • stats.json:产出统计。
    • 兰斯布/:用于矢量存储的数据库文件。
  • 提示/:包含不同任务的提示模板。
    • basic_search_system_prompt.txt:提示进行基本搜索。
    • 社区_报告_图片.txt:提示基于图形的社区报告。
    • community_report_text.txt:提示基于文本的社区报告。
    • drift_reduce_mpt.txt、drift_search_system_prompt.txt:漂移分析提示。
    • extract_laims.txt、extract_graph.txt:索赔和图形提取提示。

核心技术:GraphRAG

GraphRAG是一个检索增强生成(RAG)框架,它将基于图的推理与大型语言模型集成在一起。它通过将实体、关系和声明表示为知识图来增强传统的RAG,从而实现了更结构化和上下文感知的检索。

GraphRAG的工作原理

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

与标准RAG管道相比,这种方法允许提供更可解释、更可靠和上下文丰富的答案。