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

OpenSPG docker 安装教程

文章目录

  • 前言
    • 自述
  • 一、OpenSPG
    • 1.介绍
  • 二、安装步骤
    • 1.安装服务端
    • 2.客户端部署


前言

自述


我最近是想结合chatglm3-6b和知识图谱做一个垂直领域的技术规范的问答系统,过程中也遇到了很多困难,在模型微调上,在数据集收集整理上,在知识图谱的信息抽取上等等,咬咬牙,多学习就可以解决,本文主要写一下利用openspg做技术规范的信息抽取的部署安装过程。

一、OpenSPG

1.介绍

OpenSPG是蚂蚁集团结合多年金融领域多元场景知识图谱构建与应用业务经验的总结,并与OpenKG联合推出的基于SPG(Semantic-enhanced Programmable Graph)框架研发的知识图谱引擎。最近在学习知识图谱方面的内容,所以总结一下,内容太多,这里就简单写一下,以后有时间在补充,提供一些链接地址。

文档地址:https://openspg.yuque.com/ndx6g9/nmwkzz/zk2t3h8m9g8ryrrb
项目地址:https://github.com/OpenSPG/openspg
功能介绍:https://mp.weixin.qq.com/s/1kt9ACiMT4rh8XEO7cUdiQ
openspg网站:http://openkg.cn/
OpenKE: http://oneke.openkg.cn/
konwcoder:https://ict-goknow.github.io/knowcoder/
smartKG: https://github.com/microsoft/SmartKG
博文:https://cloud.tencent.com/developer/article/2243382
博文:https://cloud.tencent.com/developer/article/2302253?areaId=106001

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

二、安装步骤

1.安装服务端

安装docker docker compose
#首先推荐zhumao脚本安装,如果不行的话,在分别安装
#docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.shsudo systemctl start docker
sudo systemctl enable docker
docker --version#docekr compose
sudo curl -L "https://hub.gitmirror.com/https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

下载docker-compose.yml文件,二选一,

#直接下载再上传
https://github.com/OpenSPG/openspg/blob/master/dev/release/docker-compose.yml
#使用wget下载
wget https://github.com/OpenSPG/openspg/blob/master/dev/release/docker-compose.yml

启动服务端

docker-compose -f docker-compose.yml up -d

打开http:{ip}:8887,本地的是127.0.0.1,我用的是云服务器
在这里插入图片描述
在这里插入图片描述

2.客户端部署

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

docker pull --platform linux/x86_64 openspg/openspg-python:latest

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

git clone https://github.com/OpenSPG/openspg

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

# 启动容器,将其中的${project_dir}替换成源码目录
docker run --rm --net=host -v ${project_dir}:/code \-it openspg/openspg-python:latest \"/bin/bash"
${project_dir} ----->pwd查看--->/root/openspg,自定义修改
# 容器启动后,进入/code目录,即openspg项目源码目录
cd /code
# 后续可以安装案例教程,比如进入riskmining目录
cd python/knext/knext/examples/riskmining
# 参考案例教程,执行相应的knext命令,比如
knext project create --prj_path .
knext schema commitknext builder execute ...
knext reasoner execute ...

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

pip install openspg-knext

更多内容可以查看文档

相关文章:

OpenSPG docker 安装教程

文章目录 前言自述 一、OpenSPG1.介绍 二、安装步骤1.安装服务端2.客户端部署 前言 自述 我最近是想结合chatglm3-6b和知识图谱做一个垂直领域的技术规范的问答系统,过程中也遇到了很多困难,在模型微调上,在数据集收集整理上,在知…...

TypeScript学习日志-第十六天(泛型)

泛型 一、函数泛型 当我们有多个函数是一样的不同的的函数的类型不一样时,我们可以使用泛型,这样就可以省去很多重复的书写,例如: 这样的两个函数时一样的,就是类型不一样,我们就可以使用泛型这样写&…...

Flutter路由跳转的两种方式

1.基本路由跳转:文件引入在你要跳转的页面引入 ElevatedButton(onPressed: () {Navigator.of(context).push(MaterialPageRoute(builder: (BuildContext context) {return const NewsPage(arguments: {"title": "基本路由新闻页面传值","a…...

Hydroxyethyl-PEG-Hydroxyethyl,Hy-PEG-Hy是一种由聚乙二醇(PEG)和二酰肼单元构成的嵌段共聚物

【试剂详情】 英文名称 Hydroxyethyl-PEG-Hydroxyethyl,Hy-PEG-Hy 中文名称 聚乙二醇二酰肼,酰肼 PEG 酰肼 外观性状 由分子量决定,固体或者液体。 分子量 0.4k,0.6k,1k,2k,3.4k&#xf…...

链表面试题目:反转一个单链表的两种方法(解析+代码)

我们继续来看一下单链表的题目和代码吧,把学习的知识运用到实际中,大家加油 先看OJ题目 OJ题目(反转单链表) 双指针法 1.创建两个指针,为pre curr,curr指向头结点,curr用来遍历链表 2.curr指向…...

[C++][数据结构]AVL树插入的模拟实现

前言 紧接着上一篇文章,我们来模拟实现一下set的底层结构 引入 对于BSTree,虽然可以缩短查找的效率,但如果数据有序它将退化为单支树 我们可以用AVL树来解决这个问题。 概念 AVL树: 它的每个结点的左右子树高度之差的绝对值…...

力扣每日一题108:将有序数组转换为二叉搜索树

题目 简单 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。 示例 1: 输入:nums [-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] 解释:[0,-10,5,null,-3,null,9] 也…...

保护公司机密:避免员工带着数据说拜拜

公司的核心资产之一就是数据。无论是客户信息、研发代码、内部决议、财务报告、商业合同、设计图纸等都是公司的重要资产。如果这些数据在员工离职时被带走,或在员工在职期间不当行为导致数据泄露,将给公司带来重大损失。 然而,保护这些数据…...

kali apt update报错

错误信息: 获取:http:/dl.google.com/几inux/chrome/.deb stable InRelease 错误:http:/dl.google.com/linux/chrome/deb stable InRelease 由于没有公钥,无法验证下列签名:NO_PUBKEY4EB27DB2A3B88B8B 命中&#xff1a…...

7-1 图图图

某城市有n个景点,部分景点之间有巴士免费来回接送。(1) 给定某个景点x,如果从这个景点出发坐一次免费巴士,可以到达多少个不同的景点?(2) 判断景点a是否可以通过免费巴士(可换乘)到达景点b;(3) …...

Java(多线程)

取水: 主部分: package a0506.Test3;import java.util.Random;public class Test3 {public static void main(String[] args) {Well2 well2new Well2(10);WellThread Zsnew WellThread("------张三------",well2,new Random().nextInt(5));W…...

程序员必备的7大神器,效率飞起!

我们都知道程序员在工作时,会经常遇到任务繁重的情况,为了提高效率,程序员们也会借助一些软件,那么哪些软件可以帮助程序员们提高工作效率呢? 整理不易,关注一波!! 1. Xftp 7 Xft…...

揭秘文件加密利器:24年度最值得信赖的5大加密软件评测

数据安全与隐私保护已成为我们每个人都必须面对的重要问题。 文件加密软件作为保障数据安全的关键工具,其重要性不言而喻。 在众多的加密软件中,哪些软件能够在保障数据安全的同时,又具备良好的易用性和稳定性呢? 本文将为您揭秘…...

【仪酷LabVIEW AI工具包案例】使用LabVIEW AI工具包+YOLOv5结合Dobot机械臂实现智能垃圾分类

‍‍🏡博客主页: virobotics(仪酷智能):LabVIEW深度学习、人工智能博主 🎄所属专栏:『仪酷LabVIEW AI工具包案例』 📑上期文章:『【YOLOv9】实战二:手把手教你使用TensorRT实现YOLOv…...

鸿蒙应用开发系列 EX篇:HarmonyOS应用开发者基础认证

文章目录 系列文章背景认证考试题库参考注意:题库会不定时的进行具备调整甚至整体轮换,此为2024.5月版本注意:题库中题目的选项每次都会随机顺序,请参考内容判断题单选题多选题系列文章 鸿蒙应用开发系列 篇一:鸿蒙系统概述 鸿蒙应用开发系列 篇二:鸿蒙系统开发工具与环…...

基于Linux中的 进程相关知识 综合讲解

目录 一、进程的基本概念 二、pid,ppid,fork函数 三、进程的状态讲解 四、进程的优先级 五、完结撒❀ 一、进程的基本概念 概念: ● 课本概念:程序的一个执行实例,正在执行的程序等 ● 内核观点:担当…...

前端高频面试题 5.08

事件委托 事件委托是前端开发中常用的一种优化性能和代码可维护性的方法,它基于DOM的事件冒泡机制。当一个元素触发事件时,这个事件会按照从顶层到底层的顺序传播,直到最底层的元素(通常是文档的根节点)。事件委托利用…...

python 的继承、封装和多态

1. 继承(Inheritance) 继承是面向对象编程中的一个重要概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。子类可以重用父类的代码,同时也可以扩展或修改父类的行为。 常用…...

数智结合,智慧合同让法务管理发挥内在价值

在当今这个信息化、数字化飞速发展的时代,数据已成为企业重要的战略资源。法务管理作为企业内部控制和风险防范的重要环节,其重要性不言而喻。然而,传统的法务管理模式往往存在效率低下、信息孤岛、反应迟缓等问题。在这样的背景下&#xff0…...

Ubuntu 安装docker

1: 卸载旧版本 如果你曾经安装过旧版本的 Docker,首先需要卸载它们: sudo apt-get remove docker docker-engine docker.io containerd runc2: 安装依赖工具 安装一些必要的工具,以便后续的安装过程能够顺利进行: sudo apt-ge…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...

node.js的初步学习

那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...