V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
gr112
V2EX  ›  分享创造

通过 LLM 大模型将「白雪公主的故事」转为图数据存储

  •  
  •   gr112 · 138 天前 · 1056 次点击
    这是一个创建于 138 天前的主题,其中的信息可能已经有所发展或是发生改变。

    💡 本次将使用 LLM 大模型将「白雪公主的故事」转为图数据存储于 neo4j 数据库中,并展示图数据部分的效果

    故事内容

    很久很久以前,在一个遥远的王国里,有一位美丽的**王后**生下了一个皮肤像雪一样白皙、嘴唇像血一样鲜红的**女儿**。王后给她取名为“**白雪公主**”。不幸的是,王后不久就去世了。
    **国王**娶了一位**新王后**,这位新王后非常美丽,但她的心却十分恶毒。她有一面**魔镜**,每天都会问:“魔镜魔镜告诉我,**谁是这个世界上最美的女人**?”魔镜总是回答说:“是你,我的王后。”
    然而有一天,魔镜的回答变了:“王后啊,你是这城堡里最美的女人,但在森林里,白雪公主比你还要美。”新王后听后非常生气,她命令一位**猎人**把白雪公主带到森林里杀死,并带回她的肺和肝作为证据。
    猎人把白雪公主带到了森林深处,但他不忍心杀害这么善良的女孩,于是放走了她,并带回了一只小鹿的肺和肝欺骗了王后。
    白雪公主在森林里迷路了,她遇到了七个**小矮人**。他们住在一座小木屋里。白雪公主告诉了他们自己的遭遇,小矮人们决定保护她。他们教她如何打扫屋子、做饭,白雪公主也很快乐地和他们一起生活。
    新王后得知白雪公主还活着,便三次试图用毒苹果、毒梳子和紧身衣来害死她。但每一次都被小矮人们救了下来。最后,王后自己变成了一个老妇人,带着一个毒苹果再次来到了森林里。这一次,白雪公主吃下了毒苹果,陷入了沉睡。
    小矮人们非常伤心,但他们无法唤醒白雪公主。他们做了一个透明的水晶棺材,将白雪公主安放在里面,并日夜守护着她。
    一天,一位英俊的**王子**路过森林,看到了沉睡中的白雪公主。他被她的美丽所吸引,吻醒了她。毒苹果的咒语被解除了,白雪公主醒了过来。
    王子和白雪公主**相爱**了,他们举行了一场盛大的婚礼,并邀请了所有的朋友,包括七个小矮人。新王后也被邀请了,但她非常嫉妒,最终受到了应有的惩罚。
    从此以后,白雪公主和王子过上了幸福快乐的生活。
    

    基于「通义灵码」完成知识图谱的转换

    转为图数据库

    text2Cypher

    <aside> 💡 Cypher 是图数据的查询或创建语句 </aside>
    CREATE (bq:Person {name: "美丽的王后"})
    CREATE (bp:Person {name: "白雪公主"})
    CREATE (king:Person {name: "国王"})
    CREATE (nwq:Person {name: "新王后"})
    CREATE (hunter:Person {name: "猎人"})
    CREATE (dwarfs:Person {name: "七个小矮人"})
    CREATE (prince:Person {name: "英俊的王子"})
    CREATE (mirror:Object {name: "魔镜"})
    CREATE (forest:Place {name: "森林"})
    CREATE (cottage:Place {name: "小木屋"})
    CREATE (poisonApple:Object {name: "毒苹果"})
    CREATE (poisonComb:Object {name: "毒梳子"})
    CREATE (tightCorset:Object {name: "紧身衣"})
    CREATE (crystalCoffin:Object {name: "水晶棺材"})
    
    
    // 王后生下了白雪公主
    CREATE (bq)-[:BIRTH {date: "很久很久以前"}]->(bp)
    // 国王娶了新王后
    CREATE (king)-[:MARRIED]->(nwq)
    // 新王后每天询问魔镜
    CREATE (nwq)-[:ASKS {daily: true}]->(mirror)
    // 魔镜回答新王后的问题
    CREATE (mirror)-[:ANSWERS]->(nwq)
    // 新王后命令猎人杀死白雪公主
    CREATE (nwq)-[:COMMANDS]->(hunter)
    // 猎人欺骗了新王后
    CREATE (hunter)-[:DECEIVED]->(nwq)
    // 白雪公主遇到七个小矮人
    CREATE (bp)-[:MEETS]->(dwarfs)
    // 七个小矮人保护白雪公主
    CREATE (dwarfs)-[:PROTECTS]->(bp)
    // 白雪公主与七个小矮人一起生活
    CREATE (bp)-[:LIVES_WITH]->(dwarfs)
    // 新王后试图用各种方法杀死白雪公主
    // 毒苹果
    CREATE (nwq)-[:TRIES_TO_KILL]->(poisonApple)
    // 毒梳子
    CREATE (nwq)-[:TRIES_TO_KILL]->(poisonComb)
    // 紧身衣
    CREATE (nwq)-[:TRIES_TO_KILL]->(tightCorset)
    // 英俊的王子吻醒了白雪公主
    CREATE (prince)-[:KISSED]->(bp)
    // 白雪公主与英俊的王子相爱
    CREATE (bp)-[:LOVES]->(prince)
    CREATE (prince)-[:LOVES]->(bp)
    // 白雪公主与英俊的王子结婚
    CREATE (bp)-[:MARRIED]->(prince)
    // 新王后自我惩罚
    CREATE (nwq)-[:PUNISHED]->(nwq)
    // 白雪公主在森林里
    CREATE (bp)-[:IN]->(forest)
    // 七个小矮人在小木屋里
    CREATE (dwarfs)-[:IN]->(cottage)
    // 白雪公主被安置在水晶棺材里
    CREATE (bp)-[:PLACED_IN]->(crystalCoffin)
    

    neo4j browers 运行 Cypher 语句

    查看不同关系的图数据

    基于本地化 LLM 大模型转为知识图谱

    关于代码实现可以查看往期内容

    基于 LangChain 从文章到图数据库的转换

    查看转换后的关系

    MATCH p=()-->() RETURN p 
    

    查看标签的节点

    人物标签

    MATCH (n:Person) RETURN n 
    

    持续时间及位置标签

    MATCH (n:Duration) RETURN n
    MATCH (n:Location) RETURN n
    

    总结

    通过在线与离线 LLM 大模型将文章转换为图,以一个耳熟能详的方式对图数据有一个初步体验。

    联系我

    Bilibili 学习站

    Fun_Fox 投稿视频-Fun_Fox 视频分享-哔哩哔哩视频

    个人博客

    www.funfox.icu

    由于图上传不上来,完整文章请点击查看

    2 条回复    2024-08-09 15:00:05 +08:00
    MRG0
        1
    MRG0  
       138 天前
    图都裂了
    gr112
        2
    gr112  
    OP
       138 天前
    @MRG0 不知道为啥上传图片失败
    [点这里,看完整文章]( https://www.funfox.icu/article/ef30c52c-5214-481c-aa6a-7f481c90b750)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1047 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:37 · PVG 06:37 · LAX 14:37 · JFK 17:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.