graphrag explained

GraphRAG 解析:微软的知识图谱增强 RAG

GraphRAG 是什么 GraphRAG 是微软研究院于 2024 年提出的 RAG 增强架构。传统 Vector RAG 基于向量相似度检索文档片段,难以回答需要跨文档推理、全局性总结的问题。GraphRAG 通过构建知识图谱,利用实体关系和社区结构来增强检索和生成能力。 核心问题:Vector RAG 擅长"找相关文档",但不擅长"综合多文档的全局信息"。 问题示例: Vector RAG 擅长:"公司2024年Q3营收是多少?"(单文档事实) Vector RAG 失败:"总结整个行业的主要参与者及其关系"(全局综合) GraphRAG 擅长:以上两者都能处理 架构全貌 ┌──────────────────────────────────────────────────────┐ │ GraphRAG Pipeline │ │ │ │ ┌─────────┐ ┌──────────┐ ┌──────────────────┐ │ │ │ 文档分块 │──▶│ 实体抽取 │──▶│ 关系图构建 │ │ │ └─────────┘ └──────────┘ └────────┬─────────┘ │ │ │ │ │ ┌─────────▼──────────┐ │ │ │ 社区检测 (Leiden) │ │ │ └─────────┬──────────┘ │ │ │ │ │ ┌────────────────┼────────────┐ │ │ ▼ ▼ │ │ │ ┌──────────────┐ ┌────────────────┐ │ │ │ │ 社区摘要生成 │ │ 向量索引 │ │ │ │ └──────┬───────┘ └───────┬────────┘ │ │ │ │ │ │ │ ▼ ▼ │ │ ┌──────────────┐ ┌────────────────┐ │ │ │ │ Global Search│ │ Local Search │ │ │ │ └──────────────┘ └────────────────┘ │ │ └──────────────────────────────────────────────────────┘ 核心步骤详解 1. 文档分块 与标准 RAG 一样,先对源文档分块: ...

2026-06-25 · 4 min · 771 words · 硅基 AGI 探索者
semantic kernel review

Semantic Kernel 评测:微软的 AI 编排内核

Semantic Kernel 的定位:企业 AI 编排层 Semantic Kernel(SK)不是 Agent 框架,而是AI 能力的编排内核。它的设计目标是在企业应用中嵌入 AI 能力,而不是构建独立的 Agent。这个定位决定了它的架构选择: 特征 Semantic Kernel LangChain AutoGen 定位 AI 编排内核 LLM 应用框架 多 Agent 对话框架 目标场景 企业应用集成 通用 LLM 应用 Agent 协作 语言 C# + Python Python 为主 Python 核心抽象 Plugin + Planner Chain + Tool Agent + GroupChat 企业就绪 高(Azure 原生) 中 中 Plugin 系统:SK 的核心 SK 的 Plugin 系统是它的灵魂。一个 Plugin 就是一组可被 AI 调用的函数: Python 版 from semantic_kernel.functions import kernel_function class SearchPlugin: """搜索插件""" @kernel_function(description="搜索网络获取信息", name="search") def search(self, query: str) -> str: return web_search(query) @kernel_function(description="搜索本地知识库", name="search_docs") def search_docs(self, query: str, top_k: int = 3) -> list[dict]: return vector_db.search(query, top_k) class EmailPlugin: """邮件插件""" @kernel_function(description="发送邮件", name="send_email") def send_email(self, to: str, subject: str, body: str) -> str: smtp.send(to, subject, body) return f"邮件已发送至 {to}" # 注册插件 kernel.add_plugin(SearchPlugin(), "Search") kernel.add_plugin(EmailPlugin(), "Email") C# 版 public class SearchPlugin { [KernelFunction("search")] [Description("搜索网络获取信息")] public string Search(string query) { return WebSearch(query); } [KernelFunction("search_docs")] [Description("搜索本地知识库")] public List<Dictionary<string, object>> SearchDocs( string query, [Description("返回结果数量")] int topK = 3) { return VectorDb.Search(query, topK); } } // 注册 kernel.Plugins.AddFromType<SearchPlugin>("Search"); kernel.Plugins.AddFromType<EmailPlugin>("Email"); Python 和 C# 的 API 高度对称——这是 SK 的一个重要优势。C# 团队和 Python 团队可以共享设计文档,代码迁移成本低。 ...

2026-06-25 · 4 min · 663 words · 硅基 AGI 探索者
autogen multi agent review

AutoGen 多智能体框架评测:微软的 Agent 雄心

AutoGen 概述 AutoGen 是微软推出的多智能体(Multi-Agent)框架,目标是让开发者能快速搭建多个 AI Agent 协作完成复杂任务。2025 年发布的 v0.4 是完全重写版本(也叫 AG2),架构设计全面升级。 v0.4 核心变化 维度 v0.3 (旧) v0.4 (新) 架构 扁平、耦合 分层、事件驱动 异步 ❌ ✅ 原生 asyncio 消息传递 直接调用 事件总线 Agent 通信 硬编码 可扩展通信协议 可观测性 基本日志 OpenTelemetry 集成 跨语言 Python only Python + .NET 扩展性 中 高(插件架构) 架构解析 事件驱动模型 ┌─────────────────────────────────────────┐ │ Runtime │ │ ┌──────────────────────────────────┐ │ │ │ Event Bus │ │ │ │ (消息路由、订阅/发布) │ │ │ └──────┬─────┬─────┬─────┬─────────┘ │ │ │ │ │ │ │ │ ┌────┴──┐ ┌┴────┐ ┌┴────┐ ┌┴──────┐ │ │ │Agent A│ │Agent B│ │Agent C│ │Tool │ │ │ │(Writer)│ │(Reviewer)│ │(Coder)│ │Agent │ │ │ └───────┘ └──────┘ └──────┘ └───────┘ │ │ │ │ ┌──────────────────────────────────┐ │ │ │ Model Client Layer │ │ │ │ (OpenAI / Azure / Ollama / ...) │ │ │ └──────────────────────────────────┘ │ └─────────────────────────────────────────┘ 所有 Agent 间通信通过事件总线,Agent 之间完全解耦。这意味着可以灵活替换、增删 Agent 而不影响其他部分。 ...

2026-06-24 · 3 min · 569 words · 硅基 AGI 探索者
鲁ICP备2026018361号