NebulaGraph+DeepSeek:轻松掌握《哪吒2》人物关系全攻略!

“难道你还想改变这世界?”

“我想试试。”

《哪吒2》票房已破百亿大关,并成功问顶全球动画电影票榜首,这不仅标志着中国动画电影在商业上的巨大成功,更是中国文化自信的有力体现。电影中人物较多,且属性颇多,你可还记得殷夫人的气象属性?太乙真人又属于哪个阵营?本文将带大家通过 NebulaGraphDeepSeek 带大家盘一盘《哪吒2》中的人物关系和属性。

对于影视 IP 的人物关系,如《哪吒》中的人物,虽然可以用传统的行列表格进行展示。但是对于多重关系,比如“曾经恋人,现在敌对”或者“明面霸总,暗面大哥”,表格这种展示方式显然不如图结构来的直观、清晰。

NebulaGraph

NebulaGraph 是一款强大的开源图数据库,能够承载包含数千亿个点和数万亿条边的超大规模数据集,并且提供毫秒级查询。

NebulaGraph 提供了多种可视化工具,主要包括 NebulaGraph StudioNebulaGraph 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》的人物关系模型,具体如下表。image

接下来,将数据模型转化生成适用于 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;  

image

image

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 项目落地生花

在这里插入图片描述

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值