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

DeepSeek和Kimi在Neo4j中的表现

以下是2个最近爆火的人工智能工具,

DeepSeek:DeepSeek

Kimi: Kimi - 会推理解析,能深度思考的AI助手

1、提示词:

你能帮我生成一个知识图谱吗,等一下我会给你一篇文章,帮我从内容中提取关键要素,然后以Neo4j的语法的形式构建知识图谱

2、待处理文字:

喂给它的文字是从 https://www.zhihu.com/question/361137050/answer/3186161914 复制的一段,(此段文字可以是任意的,不需要理解,复制即可)。

3、DeepSeek生成的Cypher代码:

// 创建实体:NebulaGraph

CREATE (ng:NebulaGraph {name: 'NebulaGraph', description: '开源的、分布式的、易扩展的原生图数据库'});

// 创建实体:图数据库

CREATE (gdb:DatabaseType {name: '图数据库', description: '专门存储庞大的图形网络并从中检索信息的数据库'});

// 创建关系:NebulaGraph 是一种 图数据库

CREATE (ng)-[:IS_A]->(gdb);

// 创建属性节点

CREATE (opensource:Attribute {name: '开源', description: '在 Apache 2.0 条款下开发'});

CREATE (highperformance:Attribute {name: '高性能', description: '提供毫秒级查询'});

CREATE (scalable:Attribute {name: '易扩展', description: '支持在不停止数据库服务的情况下扩缩容'});

CREATE (developerFriendly:Attribute {name: '易开发', description: '提供多种编程语言的客户端'});

CREATE (reliable:Attribute {name: '高可靠', description: '支持严格的角色访问控制和 LDAP 认证'});

CREATE (ecosystem:Attribute {name: '生态多样化', description: '提供多种原生工具和与其他产品的整合能力'});

CREATE (openCypher:Attribute {name: '兼容 openCypher', description: '部分兼容 openCypher 的查询语言'});

CREATE (futureHardware:Attribute {name: '面向未来硬件', description: '面向 SSD 设计,读写平衡'});

CREATE (flexibleModeling:Attribute {name: '灵活数据建模', description: '用户可以轻松建立数据模型'});

// 创建关系:NebulaGraph 具有这些属性

CREATE (ng)-[:HAS_ATTRIBUTE]->(opensource);

CREATE (ng)-[:HAS_ATTRIBUTE]->(highperformance);

CREATE (ng)-[:HAS_ATTRIBUTE]->(scalable);

CREATE (ng)-[:HAS_ATTRIBUTE]->(developerFriendly);

CREATE (ng)-[:HAS_ATTRIBUTE]->(reliable);

CREATE (ng)-[:HAS_ATTRIBUTE]->(ecosystem);

CREATE (ng)-[:HAS_ATTRIBUTE]->(openCypher);

CREATE (ng)-[:HAS_ATTRIBUTE]->(futureHardware);

CREATE (ng)-[:HAS_ATTRIBUTE]->(flexibleModeling);

// 创建适用场景节点

CREATE (fraudDetection:Scenario {name: '欺诈检测', description: '检测潜在的金融欺诈行为'});

CREATE (realTimeRecommendation:Scenario {name: '实时推荐', description: '精准推送文章、视频、产品和服务'});

CREATE (knowledgeGraph:Scenario {name: '知识图谱', description: '将自然语言转化为知识图谱'});

CREATE (socialNetwork:Scenario {name: '社交网络', description: '处理数十亿人和数万亿人际关系的信息'});

// 创建关系:NebulaGraph 适用于这些场景

CREATE (ng)-[:APPLIES_TO]->(fraudDetection);

CREATE (ng)-[:APPLIES_TO]->(realTimeRecommendation);

CREATE (ng)-[:APPLIES_TO]->(knowledgeGraph);

CREATE (ng)-[:APPLIES_TO]->(socialNetwork);

// 创建公司节点

CREATE (tencent:Company {name: '腾讯'});

CREATE (meituan:Company {name: '美团'});

CREATE (jd:Company {name: '京东'});

CREATE (kuaishou:Company {name: '快手'});

CREATE (qihoo360:Company {name: '360'});

// 创建关系:这些公司使用 NebulaGraph

CREATE (tencent)-[:USES]->(ng);

CREATE (meituan)-[:USES]->(ng);

CREATE (jd)-[:USES]->(ng);

CREATE (kuaishou)-[:USES]->(ng);

CREATE (qihoo360)-[:USES]->(ng);

4、把DeepSeek生成的Cypher 代码插入到Neo4j中

先删除所有节点:  match (n) detach delete n;

把DeepSeek生成的Cypher 代码插入到Neo4j中。

节点分散,如下图:

5、Kimi生成的Cypher代码:

// 创建实体节点

CREATE (ng:NebulaGraph {name: "NebulaGraph", description: "开源图数据库"})

CREATE (gd:GraphDatabase {name: "图数据库", description: "存储图形网络的数据库"})

CREATE (cpp:ProgrammingLanguage {name: "C++", description: "编程语言"})

CREATE (java:ProgrammingLanguage {name: "Java", description: "编程语言"})

CREATE (python:ProgrammingLanguage {name: "Python", description: "编程语言"})

CREATE (go:ProgrammingLanguage {name: "Go", description: "编程语言"})

CREATE (apache:License {name: "Apache 2.0", description: "开源许可协议"})

CREATE (github:Platform {name: "GitHub", description: "代码托管平台"})

CREATE (ldap:Protocol {name: "LDAP", description: "轻量级目录访问协议"})

CREATE (studio:Tool {name: "NebulaGraph Studio", description: "原生工具"})

CREATE (console:Tool {name: "NebulaGraph Console", description: "原生工具"})

CREATE (exchange:Tool {name: "NebulaGraph Exchange", description: "原生工具"})

CREATE (spark:Product {name: "Spark", description: "大数据处理框架"})

CREATE (flink:Product {name: "Flink", description: "流处理框架"})

CREATE (hbase:Product {name: "HBase", description: "分布式存储系统"})

CREATE (tencent:Company {name: "腾讯", description: "科技公司"})

CREATE (meituan:Company {name: "美团", description: "科技公司"})

CREATE (jd:Company {name: "京东", description: "科技公司"})

CREATE (kuaishou:Company {name: "快手", description: "科技公司"})

CREATE (qihoo:Company {name: "360", description: "科技公司"})

CREATE (fraud:Application {name: "欺诈检测", description: "应用场景"})

CREATE (recommendation:Application {name: "实时推荐", description: "应用场景"})

CREATE (kg:Application {name: "知识图谱", description: "应用场景"})

CREATE (social:Application {name: "社交网络", description: "应用场景"})

// 创建关系

CREATE (ng)-[:IS_A]->(gd)

CREATE (ng)-[:WRITTEN_IN]->(cpp)

CREATE (ng)-[:SUPPORTS]->(java)

CREATE (ng)-[:SUPPORTS]->(python)

CREATE (ng)-[:SUPPORTS]->(go)

CREATE (ng)-[:FOLLOWS]->(apache)

CREATE (ng)-[:HOSTED_ON]->(github)

CREATE (ng)-[:SUPPORTS]->(ldap)

CREATE (ng)-[:INCLUDES]->(studio)

CREATE (ng)-[:INCLUDES]->(console)

CREATE (ng)-[:INCLUDES]->(exchange)

CREATE (ng)-[:INTEGRATES_WITH]->(spark)

CREATE (ng)-[:INTEGRATES_WITH]->(flink)

CREATE (ng)-[:INTEGRATES_WITH]->(hbase)

CREATE (tencent)-[:USES]->(ng)

CREATE (meituan)-[:USES]->(ng)

CREATE (jd)-[:USES]->(ng)

CREATE (kuaishou)-[:USES]->(ng)

CREATE (qihoo)-[:USES]->(ng)

CREATE (ng)-[:APPLICABLE_FOR]->(fraud)

CREATE (ng)-[:APPLICABLE_FOR]->(recommendation)

CREATE (ng)-[:APPLICABLE_FOR]->(kg)

CREATE (ng)-[:APPLICABLE_FOR]->(social)

6、把Kimi生成的Cypher代码插入到Neo4j中

先删除所有节点:  match (n) detach delete n;

把Kimi生成的Cypher代码插入到Neo4j中,节点分散,如下图:

7、两幅图不同的原因

在使用Cypher语言生成图数据时,即使使用相同的文字数据,最终生成的图可能会有巨大的不同,这主要是由于以下几个原因:

  1. 布局算法:不同的布局算法会导致节点和边的排列方式不同。Cypher本身不负责布局,布局通常由图可视化工具(如Neo4j Browser、Gephi等)完成。不同的工具或同一工具中的不同布局算法可能会导致图的视觉表现差异很大。

  2. 节点和边的属性:如果节点和边的属性不同(例如,权重、标签、颜色等),即使使用相同的数据,布局算法可能会根据这些属性来调整节点的位置和边的显示方式。

  3. 数据模型:数据模型的设计(例如,节点之间的关系类型、节点的属性等)也会影响图的生成。不同的数据模型可能会导致不同的图结构。

  4. 图的复杂性:如果图非常复杂(例如,包含大量的节点和边),布局算法可能会采用不同的策略来避免节点重叠或边交叉,从而导致不同的视觉效果。

  5. 参数设置:布局算法通常有一些参数可以调整,例如节点之间的距离、边的弯曲程度等。不同的参数设置会导致不同的布局结果。

  6. 随机性:某些布局算法可能包含随机性,这意味着每次运行时生成的图可能会有所不同。

注:随着时间的变化,在之后再次向大语言模型询问相同问题时,给出的代码表现效果相比实验记录时优化了很多,相关模型都在飞速提升。


http://www.kler.cn/a/596436.html

相关文章:

  • Python在图像处理领域的核心能力及典型应用场景(二)
  • 8 两数相加
  • Elasticsearch 在航空行业:数据管理的游戏规则改变者
  • 香橙派连接摄像头过程
  • 网络安全之前端学习(HTML属性篇)
  • RabbitMQ的高级特性介绍(一)
  • LangChain Chat Model学习笔记
  • 项目生命周期 和 项目管理生命周期的差异
  • 嘉为科技 前端实习 面经(OC)
  • C/C++转换为字符串宏和字符串拼接宏的综合使用
  • 人工智能在医疗影像诊断中的应用与挑战
  • 第十四章:模板实例化_《C++ Templates》notes
  • 【数据结构】线段树算法介绍及模板代码
  • Java EE(15)——网络原理——TCP协议解析一
  • 精度与效率双突破!CASAIM 智能检测系统为制造装上“智慧之眼”
  • [特殊字符] 树莓派声卡驱动原理全解析:从模拟耳机口到HiFi DAC
  • 利用I2C_bus(I2C总线)为挂接在I2C总线上的设备AP3216C编写驱动程序
  • 大数据环境搭建
  • 利用 QOpenGLWidget 实现 GPU 加速视频帧绘制
  • 138. 随机链表的复制