了解 GraphRAG 如何将知识图谱与 RAG 结合以增强 LLM 推理能力。学习使用 Ultralytics YOLO26 和该平台构建多模态管道。
图检索增强生成(GraphRAG)是一种先进的框架,它将结构化的 知识图谱 与 检索增强生成(RAG) 相结合,显著增强了 大型语言模型(LLM) 的推理和上下文理解能力。通过将数据组织成明确互连的节点和边,GraphRAG 使AI系统能够理解传统非结构化文本检索可能遗漏的复杂关系。这种结构化基础显著减少了 LLM中的幻觉,并为复杂的企业应用(例如使用 OpenAI的文本生成模型 构建的应用)提供了更准确的响应。该方法最近获得了广泛关注,Microsoft Research 的基础研究强调了 GraphRAG 在私有、高度互联数据集上回答复杂多跳问题的能力。
标准RAG系统主要依赖 向量数据库 和 语义搜索,通过使用 嵌入 基于数学相似性来查找文档。虽然这对于直接的事实查询非常有效,但它在“多跳”推理方面存在困难——即回答需要将分散在多个文档中的不同事实拼凑起来的问题。
GraphRAG 通过明确映射实体之间的相互关系来弥补这一差距。它不是简单地获取相似的文本块,而是遍历结构化的图拓扑。这使其在深度 数据挖掘 和复杂逻辑推理方面表现出色。对于构建这些推理管道的工程师和研究人员来说,像 LangChain 这样的开源编排工具提供了强大的图集成框架,以简化部署。
GraphRAG 正在改变各行业处理密集、互联信息的方式:
将 计算机视觉 整合到GraphRAG系统中引入了 多模态学习,使AI能够“看到”并将物理世界动态映射到结构化数据中。通过利用 Ultralytics YOLO26 等最先进的视觉模型,开发者可以自动从图像或视频流中提取物理对象,作为更广泛的GraphRAG架构中的上下文节点。
import torch
from ultralytics import YOLO
# Load the recommended Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference to extract visual objects for a GraphRAG pipeline
results = model("https://ultralytics.com/images/bus.jpg")
# Extract detected object classes to act as graph nodes
detected_classes = [model.names[int(c)] for c in results[0].boxes.cls]
nodes = torch.tensor([[i] for i in range(len(detected_classes))], dtype=torch.float)
print(f"Graph Nodes Extracted: {set(detected_classes)}")
# These visual entity nodes can now be linked in a graph database
对于构建这些复杂多模态应用的团队来说,使用 Ultralytics Platform 可以极大地简化所需自定义视觉数据集的管理,该平台提供强大的无代码云训练和模型部署功能。要探索图创建背后的基础数学和 tensor,查阅 PyTorch 官方关于 tensor 的文档 并深入研究近期 arXiv 上关于 GraphRAG 实现的论文 将为 人工智能 的未来提供深刻的技术见解。
开启您的机器学习未来之旅