AI个人学习
和实操指南

OpenSPG:开源知识图谱引擎

综合介绍

OpenSPG是由蚂蚁集团与OpenKG合作开发的开源知识图谱引擎,基于SPG(语义增强可编程图)框架。该引擎旨在提供显式语义表示、逻辑规则定义和操作框架等功能,支持领域知识图谱的构建和管理。OpenSPG结合了LPG结构的简单性和RDF语义的复杂性,适用于金融等多种业务场景。

OpenSPG:开源知识图谱引擎-1

 

OpenSPG:开源知识图谱引擎-1

 

功能列表

  • 知识建模:支持领域模型约束的知识建模
  • 语义表示:提供显式的语义表示和逻辑规则定义
  • 操作框架:支持构建、推理等操作框架
  • 插件适配:支持基础引擎和算法服务的插件化适配
  • 数据可视化:提供直观的数据探索和分析界面

 

使用帮助

安装流程

服务端安装

服务端基于Docker Compose部署,主要包含4个镜像:

  • openspg-server:提供schema服务
  • openspg-mysql:存储schema数据
  • tugraph:存储图谱数据
  • elasticsearch:索引图谱数据
  1. 下载 docker-compose.yml 文件,并在当前目录下执行以下命令,等待命令执行完成即完成服务端启动:
    docker-compose -f docker-compose.yml up -d
    
  2. openspg-server 在本地启动后,可以打开 http://127.0.0.1:8887 端口看到前端可视化页面。如果 openspg-server 部署在远程,对应的IP地址需要做相应修改。

客户端安装

客户端也提供了Docker镜像,直接执行以下命令会拉取该镜像:

docker pull --platform linux/x86_64 spg-registry.cn-hangzhou.cr.aliyuncs.com/spg/openspg-python:latest

下载完镜像后,可以克隆OpenSPG源码:

git clone --depth=1 https://github.com/OpenSPG/openspg.git

源码克隆完成后,可以体验源码中自带的案例:

# 启动容器,将其中的${project_dir}替换成源码目录
docker run --rm --net=host -v ${project_dir}:/code \
  -it spg-registry.cn-hangzhou.cr.aliyuncs.com/spg/openspg-python:latest \
  "/bin/bash"

# 容器启动后,进入/code目录,即openspg项目源码目录
cd /code

# 后续可以安装案例教程,比如进入riskmining目录
cd python/knext/knext/examples/riskmining

# 参考案例教程,执行相应的knext命令,比如
knext project create --prj_path .
knext schema commit

knext builder execute ...
knext reasoner execute ...

另外,当本地基于IDE去编写图谱项目时,可以执行以下命令安装knext:

pip install openspg-knext

详细操作流程

服务端启动

  1. 克隆 OpenSPG 源码,并在IDE中打开:
    git clone git@github.com:OpenSPG/openspg.git
    

    以下命令假定都执行在openspg代码库的根目录下。

  2. 执行 mvn 编译命令:
    mvn clean install -Dmaven.test.skip=true -Dspotless.check.skip -Dspotless.apply.skip
    
  3. 本地启动MySQL、ElasticSearch、TuGraph等容器:
    sh dev/test/docker-compose.sh
    
  4. 启动 server 入口位于:
    com.antgroup.openspg.server.arks.sofaboot.Application
    

客户端启动

  1. 准备一个 Python 虚拟环境,版本3.8+。
  2. 将 mvn 编译好的 reasoner 和 builder 包复制到 knext 对应目录中:
    cp dev/release/python/lib/builder* python/knext/knext/builder/lib
    cp dev/release/python/lib/reasoner* python/knext/knext/reasoner/lib
    
  3. 本地安装 nn4k:
    cd python/nn4k
    python setup.py develop
    
  4. 本地安装 knext:
    cd python/knext
    python setup.py develop
    
  5. 完成之后就可以在该 Python 虚拟环境中执行knext命令。

核心能力模型

OpenSPG的核心能力模型包括:

  • SPG-Schema语义建模:负责属性图语义增强的Schema框架设计,如主体模型、演化模型、谓词模型等。
  • SPG-Builder知识构建:支持结构化和非结构化知识导入,与大数据架构兼容衔接,提供了知识构建算子框架,实现从数据到知识的转换。抽象了知识加工SDK框架,提供实体链指、概念标化和实体归一等算子能力,结合自然语言处理(NLP)和深度学习算法,提高单个类型中不同实例的唯一性水平,支持领域图谱的持续迭代演化。
  • SPG-Reasoner逻辑规则推理:抽象了KGDSL(Knowledge Graph Domain Specific Language),为逻辑规则提供可编程的符号化表示。以机器可理解的符号表示支持下游规则推理、神经/符号融合学习、KG2Prompt联动LLM知识抽取/知识推理等。通过谓词语义和逻辑规则来定义知识之间的依赖和传递,并且支持对复杂的业务场景的建模和分析。
  • 可编程框架KNext:KNext作为图谱可编程框架,提供了一套可扩展、流程化、对用户友好的组件化能力;抽象了图谱核心能力,沉淀为组件化、框架化、引擎内置的能力;实现引擎与业务逻辑、领域模型的隔离,方便业务快速定义图谱解决方案;构建以OpenSPG引擎为基础,知识驱动的可控AI技术栈,链接LLM、GraphLearning等深度学习能力。
  • 云适配层Cloudext:业务系统通过SDK对接开放引擎,构建自身特色的业务前端;可扩展/适配自定义的图存储/图计算引擎;可扩展/适配适合自身业务特点的机器学习框架。
AI轻松学

普通人的AI入门指南

帮助你以低成本、零基础学会如何利用AI工具。AI就像办公软件一样,是每个人的必备技能。 掌握AI会让你在求职中占据优势,在未来的工作和学习中事半功倍。

查看详情>
未经允许不得转载:首席AI分享圈 » OpenSPG:开源知识图谱引擎
分享到

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们