当前位置: 首页 > news >正文

从原生检索到异构图:Native RAG、GraphRAG 与 NodeRAG 架构全景解析

Below is a comprehensive technical overview comparing Native RAG, GraphRAG, RAG 效果优化 (RAG optimization), and NodeRAG. We describe each approach’s core architecture, key components, and highlight Python snippets to illustrate typical implementations.

摘要

Retrieval-Augmented Generation (RAG) 是将检索到的外部知识与大语言模型 (LLM) 输出相结合的技术。Native RAG(基线 RAG)使用向量索引和相似度检索;GraphRAG 则在此基础上引入知识图谱结构,以捕捉实体间关系并指导检索与生成;RAG 效果优化 主要包含检索器精炼、索引策略与提示工程等技术;NodeRAG 进一步将异构图结构融入 RAG 流程,实现多层次、多类型节点的无缝整合,提升多跳推理能力。以下各节分别阐述它们的框架与组成,并给出 Python 示例。


1. Native RAG

1.1 架构概览

Native RAG(也称 Baseline RAG)流程通常分为两步:

  1. 检索(Retriever):将用户查询编码为向量,并在向量数据库(如 FAISS)中执行相似度搜索,返回最相关的文档切片或段落。
  2. 生成(Generator):将检索到的文本与原始查询一起拼接为提示,输入到 LLM(如 GPT-3/4),生成最终回答 (Welcome - GraphRAG)。

1.2 主要组件

  • Embedding 模型(如 SentenceTransformers)
  • 向量存储(FAISS、Milvus、Pinecone)
  • 提示模板(Prompt Templates)

1.3 Python 示例

from sentence_transformers import SentenceTransformer
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
import faiss# 1. 嵌入模型与向量索引
embedder = SentenceTransformer('all-MiniLM-L6-v2')
docs = ["doc1 text...", "doc2 text...", ...]
embs = embedder.encode(docs, convert_to_numpy=True)
index = faiss.IndexFlatL2(embs.shape[1])
index.add(embs)# 2. 检索
query = "What is RAG?"
q_emb = embedder.encode([query])
_, ids = index.search(q_emb, k=3)
retrieved = [docs[i]
http://www.dtcms.com/a/155214.html

相关文章:

  • 高效使用DeepSeek对“情境+ 对象 +问题“型课题进行开题!
  • JavaScript学习教程,从入门到精通,Ajax数据交换格式与跨域处理(26)
  • PubMed PDF下载 cloudpmc-viewer-pow逆向
  • 深入了解C# List集合及两种常见排序算法:插入排序与堆排序
  • 神经符号混合与跨模态对齐:Manus AI如何重构多语言手写识别的技术边界
  • SD2351核心板:重构AI视觉产业价值链的“超级节点”
  • 第十二天 使用Unity Test Framework进行自动化测试 性能优化:Profiler分析、内存管理
  • Registry镜像仓库的安装与使用
  • 永久缓存 Git 凭证
  • DAX Studio将PowerBI与EXCEL连接
  • 静态网页开发与部署
  • 《修仙家族模拟器2》:游戏背景故事介绍!
  • flume整合kafka
  • vue3中的effectScope有什么作用,如何使用?如何自动清理
  • 使用yolo用python检测人脸
  • 蓝桥杯 4. 卡片换位
  • QT开发技术【QT实现桌面右下角消息】
  • 【滑动窗口+哈希表/数组记录】Leetcode 76. 最小覆盖子串
  • 解决ssh拉取服务器数据,要多次输入密码的问题
  • 基于ssm的同城上门维修平台管理系统(源码+数据库)
  • 矫平机深度解析:操作实务、行业标准与智能化升级
  • 【金仓数据库征文】交通行业的国产化数据库替换之金仓数据库KingbaseES应用实践
  • FlinkJobmanager深度解析
  • 【中级软件设计师】函数调用 —— 传值调用和传地址调用 (附软考真题)
  • C#中实现XML解析器
  • Vue 3 父子组件通信案例详解:Props 与 Emits 实战
  • MySQL 详解之用户、权限与审计:保障数据安全的基石
  • MCP协议:AI与工具无缝连接的“万能插头“及最佳实践指南
  • MySQL 详解之函数:数据处理与计算的利器
  • SQLMesh 表格对比指南:深入理解 table_diff 工具的实际应用