岳西县建设局网站电子书制作公司网站

news/2025/10/1 21:55:31/文章来源:
岳西县建设局网站,电子书制作公司网站,花都 网站建设,wordpress 指定 任务本文为大家揭示 NebulaGraph 率先提出的 Graph RAG 方法#xff0c;这种结合知识图谱、图数据库作为大模型结合私有知识系统的最新技术栈#xff0c;是 LLM 系列的第三篇#xff0c;加上之前的图上下文学习、Text2Cypher 这两篇文章#xff0c;目前 NebulaGraph LLM 相关的… 本文为大家揭示 NebulaGraph 率先提出的 Graph RAG 方法这种结合知识图谱、图数据库作为大模型结合私有知识系统的最新技术栈是 LLM 系列的第三篇加上之前的图上下文学习、Text2Cypher 这两篇文章目前 NebulaGraph LLM 相关的文章一共有 3 篇。 Graph RAG 在第一篇关于上下文学习的博客中我们介绍过RAGRetrieval Argumented Generation这种基于特定任务/问题的文档检索范式中我们通常先收集必要的上下文然后利用具有认知能力的机器学习模型进行上下文学习in-context learning来合成任务的答案。 借助 LLM 这个只需要”说话“就可以灵活处理复杂问题的感知层只需要两步就能搭建一个基于私有知识的智能应用 利用各种搜索方式比如 Embedding 与向量数据库从给定的文档中检索相关知识。利用 LLM 理解并智能地合成答案。 而这篇博客中我们结合最新的探索进展和思考尝试把 Graph RAG 和其他方法进行比较说得更透一点。此外我们决定开始用 Graph RAG 这个叫法来描述它。 实际上Graph RAG是最先由我和 Jerry Liu 的直播研讨会讨论和相关的讨论的 Twitter Thread 中提到的差不多的内容我在 NebulaGraph 社区直播 中也用中文介绍过。 在 RAG 中知识图谱的价值 这部分内容我们在第一篇文章中阐述过比如一个查询“告诉我所有关于苹果和乔布斯的事”基于乔布斯自传这本书进行问答而这个问题涉及到的上下文分布在自传这本书的 30 页分块的时候传统的“分割数据Embedding 再向量搜索”方法在多个文档块里用 TOP-K 去搜索的方法很难得到这种分散细粒的完整信息。而且这种方法还很容易遗漏互相关联的文档块从而导致信息检索不完整。 除此之外在之后一次技术会议中我有幸和 leadscloud.com 的徐旭讨论之后他们因为有知识图谱的技术背景也做了和我们类似的探索和尝试让我意识到知识图谱可以减少基于嵌入的语义搜索所导致的不准确性。徐旭给出的一个有趣的例子是“保温大棚”与“保温杯”尽管在语义上两者是存在相关性的但在大多数场景下这种通用语义Embedding下的相关性常常是我们不希望产生的进而作为错误的上下文而引入“幻觉”。 这时候保有领域知识的知识图谱则是非常直接可以缓解、消除这种幻觉的手段。 用 NebulaGraph 实现 Graph RAG 一个简单的 Graph RAG 可以如下去简单实现 使用 LLM或其他模型从问题中提取关键实体根据这些实体检索子图深入到一定的深度例如2利用获得的上下文利用 LLM 产生答案。 对应的伪代码可能是这样 # 伪代码def _get_key_entities(query_str, llmNone ,with_llmTrue):...return _expand_synonyms(entities)def _retrieve_subgraph_context(entities, depth2, limit30):...return nebulagraph_store.get_relations(entities, depth, limit)def _synthesize_answer(query_str, graph_rag_context, llm):return llm.predict(PROMPT_SYNTHESIZE_AND_REFINE, query_str, graph_rag_context)def simple_graph_rag(query_str, nebulagraph_store, llm):entities _get_key_entities(query_str, llm)graph_rag_context _retrieve_subgraph_context(entities)return _synthesize_answer(query_str, graph_rag_context, llm)然而有了像 LlamaIndex 这样方便的 LLM 编排工具开发者可以专注于 LLM 的编排逻辑和 pipeline 设计而不用亲自处理很多细节的抽象与实现。 所以用 LlamaIndex我们可以轻松搭建 Graph RAG甚至整合更复杂的 RAG 逻辑比如 Graph Vector RAG。 在 LlamaIndex 中我们有两种方法实现 Graph RAG KnowledgeGraphIndex 只用来对任何私有数据从零构建知识图谱基于 LLM 或者其他语言模型再 4 行代码进行 Graph RAG graph_store NebulaGraphStore(space_namespace_name,edge_typesedge_types,rel_prop_namesrel_prop_names,tagstags, ) storage_context StorageContext.from_defaults(graph_storegraph_store)# Build KG kg_index KnowledgeGraphIndex.from_documents(documents,storage_contextstorage_context,max_triplets_per_chunk10,space_namespace_name,edge_typesedge_types,rel_prop_namesrel_prop_names,tagstags, )kg_query_engine kg_index.as_query_engine()KnowledgeGraphRAGQueryEngine 则可以在任何已经存在的知识图谱上进行 Graph RAG。不过我还没有完成这个 PR。 graph_store NebulaGraphStore(space_namespace_name,edge_typesedge_types,rel_prop_namesrel_prop_names,tagstags, ) storage_context StorageContext.from_defaults(graph_storegraph_store)graph_rag_query_engine KnowledgeGraphRAGQueryEngine(storage_contextstorage_context, )最后我做了一个 Streamlit 的 Demo 来比较 Graph RAG 与 Vector RAG从中我们可以看到 Graph RAG 并没有取代 Embedding、向量搜索的方法而是增强了/补充了它的不足。 Text2Cypher 基于图谱的 LLM 的另一种有趣方法是 Text2Cypher。这种方法不依赖于实体的子图检索而是将任务/问题翻译成一个面向答案的特定图查询和我们常说的 Text2SQL 方法本质是一样的。 在 NebulaGraph 上进行 Text2Cypher 在之前的文章中我们已经介绍过得益于 LLM实现 Text2Cypher 比传统的 ML 方法更为简单和便宜。 比如LangChain: NebulaGraphQAChain 和 Llama Index: KnowledgeGraphQueryEngine 让我们 3 行代码就能跑起来 Text2Cypher。 比较 Text2Cypher 和 (Sub)Graph RAG 这两种方法主要在其检索机制上有所不同。Text2Cypher 根据 KG 的 Schema 和给定的任务生成图形模式查询而 SubGraph RAG 获取相关的子图以提供上下文。 两者都有其优点为了大家更直观理解他们的特点我做了这个 Demo 视频 我们可以看到两者的图查询模式在可视化下是有非常清晰的差异的。 结合 Text2Cypher 的 Graph RAG 然而两者并没有绝对的好与坏不同场景下它们各有优劣。 在现实世界中我们可能并不总是知道哪种方法更有效用来区分应该用哪一种因此我倾向于考虑同时利用两者这样获取的两种检索结果作为上下文一起来生成最终答案的效果可能是最好的。 具体的实现方法在这个 PR中已经可以做到了只需要设置 with_text2cypherTrueGraph RAG 就会包含 Text2Cypher 上下文敬请期待它的合并。 结论 通过将知识图谱、图存储集成到 LLM 技术栈中Graph RAG 把 RAG 的上下文学习推向了一个新的高度。它能在 LLM 应用中通过利用现有或新建的知识图谱提取细粒度、精确调整、领域特定且互联的知识。 请继续关注图谱和 LLM 领域的更深入的探索和进一步的发展。 相关阅读 Text2Cypher大语言模型驱动的图查询生成关于 LLM 和图、图数据库的那些事LLM知识图谱的另类实践图技术在 LLM 下的应用知识图谱驱动的大语言模型 Llama Index利用 ChatGLM 构建知识图谱 谢谢你读完本文 (///▽///) 如果你想尝鲜图数据库 NebulaGraph记得去 GitHub 下载、使用、(з)-☆ star 它 - GitHub和其他的 NebulaGraph 用户一起交流图数据库技术和应用技能留下「你的名片」一起玩耍呀~ 2023 年 NebulaGraph 技术社区年度征文活动正在进行中来这里领取华为 Meta 60 Pro、Switch 游戏机、小米扫地机器人等等礼品哟~ 活动链接https://discuss.nebula-graph.com.cn/t/topic/13970

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924311.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【完整源码+素材集+部署教程】鱼类部位分割系统: yolov8-seg-goldyolo

【完整源码+素材集+部署教程】鱼类部位分割系统: yolov8-seg-goldyolopre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &…

Windows 作为 Ansible 节点的完整部署流程(含 Docker 部署 Ansible) - 实践

Windows 作为 Ansible 节点的完整部署流程(含 Docker 部署 Ansible) - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fam…

软工

这个作业属于哪个课程 <班级的链接>这个作业的目标 <你理解的作业目标具体内容>姓名-学号 <你的姓名>-<你的学号>

帮做装修设计的网站建设工程消防备案凭证网站

【工具使用】adb下载和配置 一&#xff0c;简介二&#xff0c;操作步骤2.1 Bing搜索adb2.2 下载adb工具2.3 添加路径到环境变量 三&#xff0c;效果验证 一&#xff0c;简介 本文主要介绍如何下载adb并安装使用&#xff0c;供参考。 此时打开cmd&#xff0c;输入adb 会提示&am…

湖北可以做网站的公司淄博网站外包

!! http://www.shoudian.org/thread-316111-1-1.html http://www.jiequer.com/html/news/xinpin/2014/1218/223.html http://bbs.mydigit.cn/read.php?tid930053转载于:https://www.cnblogs.com/carl2380/p/5239022.html

简单个人博客模板网站wordpress 36氪主题

物理引擎概念解释 所谓物理引擎,就是通过代码模拟物理世界。举个简单例子,比如你初高中都学过物理学,其中力、速度、加速度、位移都是比较常见的物理量,咱们通过CannonJS等物理引擎,都可以辅助你计算生活中物体的速度、位移,比如计算一个小球在地球重力的作用下,下落的…

滕州网站建设 助企网络集团门户网站建设方案 php

OK&#xff0c;那么上篇博客我们介绍了如何搭建基于Javaselenium的环境&#xff0c;并且使用selenium的一些语法给大家演示了如何进行自动化测试的案例&#xff0c;那么本篇博客我们来继续学习selenium的一些其他的比较重要的语法&#xff0c;感谢关注&#xff0c;期待三连~ 目…

10.1考试T4(swap)题解

题目描述 \(link\) 小 D 正在研究交换。 小 D 认为一个整数序列是好的,当且仅当它先(不严格)上升,后(不严格)下降。 形式化地,我们认为序列 \(𝑎_1,𝑎_2,...,𝑎_𝑛\) 是好的,当且仅当存在某个 \(𝑘∈…

如何在windows10的子系统(wsl)中安装php开发环境 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

学校网站建设经验介绍网络营销策划名词解释

Hi~ 大家好久不见呀&#xff01; 一直忙&#xff0c;但不知道在忙啥&#xff0c;好多事情都落下了&#xff0c;ERP的文章最近也没有时间更新&#xff0c;接下去我还在考虑弄个直播&#xff0c;不知道大家有没有什么想了解的&#xff0c;大家给我留言&#xff0c;直播的时候给…

抚顺网站开发3g微网站

当从键盘连续进行输入时用while&#xff0c;但是程序自己不会通过正常的输入结束。 scanf("%d%d",&a, &b); 如果a和b都被成功读入&#xff0c;scanf()的返回值是2 如果只有a被成功读入或者只有b被成功读入&#xff0c;scanf()的返回值为1 如果a和b都未被…

福州高端网站建设服务网络公司建设银行软件官方网站

目录 56. 合并区间 方法1&#xff1a;fff 看方法2&#xff1a;fff优化版 方法3&#xff1a; 738.单调递增的数字 968.监控二叉树&#xff08;贪心二叉树&#xff09; 56. 合并区间 判断重叠区间问题&#xff0c;与452和435是一个套路 方法1&#xff1a;fff 看方法2&am…

20251001 之所思 - 人生如梦

20251001 之所思 今年的生日恰好遇到了国庆,猛然间发现这也是自己最后以三开头的生日了;明年的今天就40岁了,有点恍惚,感觉最近的五年过的太快了,仿佛被偷走了一样 ...今天起的很早,希望自己接下来的一年都能早起…

app界面设计欣赏网站无锡高端网站设计制作

0. 简介 关于车辆的全景环视系统网上已经有很多的资料&#xff0c;然而几乎没有可供参考的代码&#xff0c;这一点对入门的新人来说非常不友好。全景环视系统&#xff0c;又称AVM。在自动驾驶领域&#xff0c;AVM属于自动泊车系统的一部分&#xff0c;是一种实用性极高、可大幅…

湘潭网站建设开发163企业邮箱服务器怎么设置

在产品的设计及生产过程中&#xff0c;经常会出现设计变更、工艺变更、制程调整、非计划停线及转产、转线等“变化”。 如何确保这些“变化”不影响产品后续的生产品质&#xff1f;这就需要在作业准备验证、停产后验证阶段&#xff0c;进行不能缺少的重要环节——“首件检验”。…

平面设计工作室网站专业的网页设计和网站建设公司

web压力测试工具webbench介绍 webbench最多可以模拟3万个并发连接去测试网站的负载能力&#xff0c;并发能力比较高&#xff0c;可以测试https及动态静态页面。 核心原理 父进程fork若干个子进程&#xff0c;每个子进程在用户要求时间或默认的时间内对目标web循环发出实际访问…

优必选 —— 人形机器人 —— 二次开发

优必选 —— 人形机器人 —— 二次开发本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址,还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注处,如有侵权请与博主联系。…

dns看国外网站建立免费个人网站

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 >出处&#xff1a; >https://www.fangzhipeng.com > 本文出自[方志朋的博客](http://blog.csdn.net/forezp) 本文为转载文章&…

GNS3环境下静态路由配置实例与分析(管理距离、度量值) - 教程

GNS3环境下静态路由配置实例与分析(管理距离、度量值) - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…

网站积分的作用京东app官网下载

目录 写在开头1. 电商平台流量概览1.1 流量来源的分类1.2 各流量来源的特性与价值 2. 流量来源的数据分析方法2.1 流量数据收集与整理2.2 流量质量评估指标2.3 流量转化路径分析 3. 流量来源优化策略3.1 提升自然搜索流量的SEO策略关键词优化内容优化技术优化示例&#xff1a;在…