NebulaGraph + DeepSeek 轻松看懂《哪吒2》人物关系
“难道你还想改变这世界?”
“我想试试。”
《哪吒2》票房已破百亿大关,并成功问顶全球动画电影票榜首,这不仅标志着中国动画电影在商业上的巨大成功,更是中国文化自信的有力体现。电影中人物较多,且属性颇多,你可还记得殷夫人的气象属性?太乙真人又属于哪个阵营?本文将带大家通过 NebulaGraph 和 DeepSeek 带大家盘一盘《哪吒2》中的人物关系和属性。
对于影视 IP 的人物关系,如《哪吒》中的人物,虽然可以用传统的行列表格进行展示。但是对于多重关系,比如“曾经恋人,现在敌对”或者“明面霸总,暗面大哥”,表格这种展示方式显然不如图结构来的直观、清晰。
NebulaGraph
NebulaGraph 是一款强大的开源图数据库,能够承载包含数千亿个点和数万亿条边的超大规模数据集,并且提供毫秒级查询。
NebulaGraph 提供了多种可视化工具,主要包括 NebulaGraph Studio 和 NebulaGraph Explorer,NebulaGraph Studio 更侧重于图数据库的管理和基本操作,适合需要快速上手和日常管理的用户,而 NebulaGraph Explorer 则提供了更强大的数据探索和分析功能,适合对数据有深入分析需求的用户。
此外,NebulaGraph 还有一些好用的开发者生态工具,如星影 StarShadow。星影是一款 NebulaGraph 图数据库客户端,它提供了图数据库的可视化操作界面,让用户可以通过图形化的方式,对图数据库进行操作。星影采用了全新的技术架构(Flutter),目前已经支持的操作系统有:Windows、macOS、Ubuntu | 优麒麟 三大常见操作系统。
NebulaGraph 可以将丰富的关系通过边及其类型和属性自然地呈现,帮助我们更好的呈现影视 IP 人物关系。通过创建点(Vertex, 用点标识符 VID 进行标识) 标识人物名字,如“申小豹”。创建边(Edge)来连接点,表示人物之间的具体关系类型,如“父子”、“师徒”。创建标签(Tag),定义属性,对点进行分类,如“龙族”、“截教”。创建属性(Property),为点和边添加属性,以键值对(Key-value pair)形式存储人物的关系描述和详细信息。
DeepSeek
DeepSeek 是一款国产开源大模型,具备强大的复杂指令推理能力和内容生成能力,并致力于实现通用人工智能 AGI。自 DeepSeek R1 模型发布以来,迅速火遍全球,R1 模型具有高效推理能力,采用纯强化学习进行训练,具备自我验证、反思和生成长思维链的能力。R1 模型采用专家混合架构,优化计算资源,同等计算性能下,功耗更低。R1 模型提供了多个版本,以满足不同的计算资源(“蒸馏版”、“满血版”)和应用需求。
与 DeepSeek 进行对话,打开联网搜索和深度思考选项,可以帮助我们快速收集票房数据、社交影评,梳理人物关系、分析人物性格,辅助我们进行高效数据分析,并生成分析报告。例如,可以询问 DeepSeek 关于哪吒与敖丙的关系,DeepSeek 会根据已有的数据和知识,生成详细的分析报告。
基于 DeepSeek + NebulaGraph 建模
言归正传,在与 DeepSeek 多次会话后,我们梳理了《哪吒2》的人物关系模型,具体如下表。
接下来,将数据模型转化生成适用于 NebulaGraph 的 nGQL 语言。nGQL 是 NebulaGraph 使用的的声明式图查询语言,支持灵活高效的图模式,支持大部分 openCypher 9 图查询语法,而且 nGQL 是为开发和运维人员设计的类 SQL 查询语言,易于学习。
1. 创建图空间 SPACE
NebulaGraph 数据模型使用 6 种基本的数据模型:图空间(Space)、点(Vertex)、边(Edge)、标签(Tag)、边类型(Edge type)、属性(Property)。
图空间用于隔离不同团队或者项目的数据。不同图空间的数据是相互隔离的,可以指定不同的存储副本数、权限、分片等。
创建图空间 nezha2
用于存储《哪吒2》相关数据。
CREATE SPACE IF NOT EXISTS nezha2(partition_num=1, replica_factor=1, vid_type=fixed_string(128));
2. 创建标签 TAG
定义 TAG 角色 role
,包含五个属性:角色名 name
,气象属性 meteorological
,阵营 faction
,角色描述 role_desc
,配音演员 voice_actor
。
create tag role (name string, meteorological string, faction string, role_desc string, voice_actor string);
3. 创建边 Edge
根据人物关系创建几个边。例如:
- father_of:父子关系
- mother_of:母子关系
- teacher_of:师徒关系
- enemy_of:敌对关系
- lover_of:恋人关系
- friend_of: 好丽友关系
- brother_sister_of: 兄妹关系
CREATE EDGE father_of (edge_time timestamp); CREATE EDGE mother_of (edge_time timestamp); CREATE EDGE teacher_of (edge_time timestamp); CREATE EDGE enemy_of (edge_time timestamp); CREATE EDGE lover_of (edge_time timestamp); CREATE EDGE friend_of (edge_time timestamp); CREATE EDGE brother_sister_of (edge_time timestamp);
4. 插入数据
根据《哪吒2》的核心角色和关系,插入一些示例数据。
INSERT VERTEX role (name, meteorological, faction, voice_actor) VALUES \ "哪吒": ("哪吒", "雷电", "阐教", "吕艳婷"), \ "敖丙": ("敖丙", "冰雪", "龙族", "瀚墨"), \ "太乙真人": ("太乙真人", "云雾", "阐教", "张珈铭"), \ "殷夫人": ("殷夫人", "细雨", "人类", "绿绮"), \ "李靖": ("李靖", "木", "人类", "陈浩"), \ "申公豹": ("申公豹", "风暴", "截教", "杨卫"), \ "敖光": ("敖光", "海浪", "龙族", "雨辰"), \ "敖闰": ("敖闰", "空间系", "龙族", "周泳汐"), \ "敖顺": ("敖顺", "毒", "龙族", "韩雨泽"), \ "敖钦": ("敖钦", "火", "龙族", "南屿"), \ "无量仙翁": ("无量仙翁", "木", "", "王德顺"), \ "石矶娘娘": ("石矶娘娘", "沙尘", "截教", "小薇"), \ "结界兽": ("结界兽", "雾霭", "中立", ""), \ "申正道": ("申正道", "", "", ""), \ "申小豹": ("申小豹", "", "", ""), \ "饺子": ("饺子", "", "导演", "杨宇"); INSERT EDGE friend_of VALUES "哪吒" -> "敖丙": (1234567890); INSERT EDGE teacher_of VALUES "哪吒" -> "太乙真人": (1234567890); INSERT EDGE mother_of VALUES "哪吒" -> "殷夫人": (1234567890); INSERT EDGE father_of VALUES "哪吒" -> "李靖": (1234567890); INSERT EDGE father_of VALUES "敖丙" -> "敖光": (1234567890); INSERT EDGE brother_sister_of VALUES "敖闰" -> "敖光": (1234567890); INSERT EDGE brother_sister_of VALUES "敖顺" -> "敖光": (1234567890); INSERT EDGE brother_sister_of VALUES "敖钦" -> "敖光": (1234567890); INSERT EDGE enemy_of VALUES "申公豹" -> "太乙真人": (1234567890); INSERT EDGE father_of VALUES "申公豹" -> "申正道": (1234567890);
5. 查询数据
通过 NebulaGraph 的查询语言 nGQL,可以轻松查询人物关系。例如,查询所有人物关系。
MATCH ()-[e]->() RETURN e LIMIT 100;
6. 可视化展示
使用 NebulaGraph Studio 或 StarShadow 等工具,可以将上述查询结果可视化展示。通过图形化的方式,可以直观地看到《哪吒2》中的人物关系网络。例如,哪吒与太乙真人之间的师徒关系,敖光与敖丙的父子关系等。
以下两张图是用 StarShadow 查询哪吒的人物关系网,分别用力导图和环形图进行展示。
力导图(Force-Directed Graph)是一种基于物理模拟的图形布局算法,常用于数据可视化领域,尤其是社交网络分析、知识图谱和关系图等场景。其核心在于模拟物理世界中的粒子运动,每个节点可以看作是一个带有质量的粒子,边可以看作是弹簧,通过施加不同的力,节点在图中动态演化,最终达到稳定状态。
环形布局关系图,多用于展示多个对象之间的关系。在这种布局中,通过将节点均匀分布在圆形路径上,以可视化的方式展示节点之间的连接关系。这种布局结构清晰、层次分明,且美观性高。
NebulaGraph 与 DeepSeek 结合的 GraphRAG
通过结合 NebulaGraph 和 DeepSeek,我们可以更快速、全面地分析《哪吒2》中的人物关系和属性。但对于 NebulaGraph + DeepSeek 的用法不止于此,还可实现高级进阶版应用,如 GraphRAG(Graph Retrieval Augmented Generation)。
NebulaGraph 能够与 Llama Index 和 LangChain 等大型语言模型深度集成,是业界首个提出 Graph RAG 概念的公司。Graph RAG 结合了知识图谱和大型语言模型,提供了更具成本效益、更智能和更精确的搜索结果。
GraphRAG 是一种使用知识图谱的检索增强生成 (RAG) 方法。它基于图数据库(如 NebulaGraph),采用图结构存储数据,能够高效地表示和存储实体之间的复杂关系,支持大规模图数据的存储和查询。图结构使得数据之间的关系更加直观和灵活,可以方便地进行关系的遍历和分析。
GraphRAG 的检索方法是从关键实体开始的图形检索,使用图推理或子图检索通过关系找到相关上下文。GraphRAG 从细粒度实体提取开始,遵循高质量关系(手动定义或由大型语言模型定义)进行精确的上下文匹配,能够正确识别缺乏相关内容,避免产生幻觉答案,有效提高内容生成准确性。
结合使用大语言模型 LLM(如 DeepSeek)从文档构建知识图,并执行以查询为中心的摘要,可以改进 RAG 的搜索部分。LLM 先从存储在图数据库中的语料进行搜索匹配相关信息,再按需进行联网搜索,在 DeepSeek R1 模型的推理模型加持下,搜索结果更多,知识推理和分析过程更全面,生成出来的内容更丰富准确。
传统基于向量的方法多采用支持向量类型和向量索引的关系型数据库,关系型数据库采用表格形式存储数据,通过表与表之间的关系来表示实体之间的联系。虽然也可以存储关系数据,但在处理复杂关系和大规模图数据时,性能和灵活性略显不足。GraphRAG 与传统的基于向量的方法相比,可以检索到更多相关内容,当您需要对整个数据集进行全面的答案时,选择 GraphRAG 更为合适。
在实际应用中,GraphRAG 可以用于多种场景。例如,在影视制作中,可以通过 NebulaGraph 和 DeepSeek 分析人物关系,帮助编剧和导演更好地构建故事线。在学术研究中,可以通过这种结合,深入研究影视作品中的人物关系和文化内涵。在市场营销中,可以通过分析人群浏览记录和购买记录,更精准的推荐商品。
目前,GraphRAG 仍处于学术研究阶段和工业实现的初级阶段,技术在训练数据和文本理解方面仍面临挑战,需要持续“投喂”大量的数据,和计算资源、算力支撑。随着图技术发展、算法改进提升,相信 GraphRAG 检索计算能力、推理表达能力将更快、更强,期待有更多基于 NebulaGraph 的 GraphRAG 项目落地生花。
最后,推荐两篇基于 NebulaGraph 的 GraphRAG 文章,以供参考、学习。
用 NebulaGraph + DeepSeek 解锁元宵节文化知识图谱,你知道几个?
从 0 到 3000 节点: 我用 DeepSeek + NebulaGraph 构建农业知识图谱
关于作者:严少安。数据库领域从业者。Oracle ACE。公众号“少安事务所”。Certs:NebulaGraph NGCP, CKA, PMP。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
如何在保障精度的同时,轻量级部署DeepSeek?
摘要:msModelSlim支持多种模型压缩算法(包括量化压缩、稀疏压缩等),为开发者提供更加灵活、高效的模型压缩量化方案。 最近 AI 圈可以说是被新晋“顶流”DeepSeek刷屏了,新发布的 V3/R1 系列模型,直接在全球火出圈,它的性能强劲到足以和全球顶尖模型一较高下!不过你知道吗?虽然网络版和App版已经足够好用,但只有把模型搬进自家地盘,进行本地部署,你才能享受到真正的“私人定制”,让DeepSeek R1的“深度思考”完全为你所用。 不过呢,问题也来了。原版的 DeepSeek - R1 671B 全量模型,文件体积大得离谱,足足有 720GB !这就好比你要搬一座大山回家,绝大部分个人和企业看到这样庞大的部署成本,都被吓得望而却步。 别担心,量化技术来救场!这项技术就像神奇的魔法,一边稳稳保住 DeepSeek 模型的高精度,一边还能把模型的计算效率和资源占用问题轻松搞定。这样一来,模型在实际应用中就能表现得更加出色,开发者和企业也能享受到更加灵活高效的部署方式。 什么是大模型量化 近年来,随着人工智能的发展和Transformer等架构的提出,使得深度学习的模型...
- 下一篇
【OpenTiny调研征集】共创技术未来,分享您的声音!
🎉 欢迎参与2025年 OpenTiny 开源社区用户调研征集 🎉 📣 调研背景 随着 OpenTiny 开源项目的不断发展,我们一直致力于为开发者提供高质量的 Web 前端开发解决方案。为了更好地满足用户需求,提升项目的实用性和易用性,我们决定发起一项用户调研活动,诚挚邀请您参与。 🔍 调研目的 了解用户需求:收集您在使用 OpenTiny 开源项目过程中的需求、问题和建议,以便我们更好地改进和优化。 提升用户体验:通过您的反馈,我们将找出项目中的不足,并努力提升项目的性能、稳定性和易用性。 促进社区发展:您的参与和建议将有助于 OpenTiny 开源项目的成长和发展,共同构建一个繁荣的开源社区。 📋 调研内容 您目前使用的开源项目。 您对OpenTiny 文档教程的诉求。 您对 OpenTiny 项目的期望和改进建议。 您希望我们在未来版本中增加或优化的功能。 💡 如何参与 填写问卷 :进入https://www.wjx.cn/vm/rsK8GO1.aspx (或扫描二维码)填写我们的调研问卷,分享您的想法和建议。 参与讨论:加入我们的开源社区[添加小助手:openti...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题