文章目录
前言
自述
我最近是想结合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.安装服务端
bash
安装docker docker compose
#首先推荐zhumao脚本安装,如果不行的话,在分别安装
#docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo 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文件,二选一,
bash
#直接下载再上传
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
启动服务端
bash
docker-compose -f docker-compose.yml up -d
打开http:{ip}:8887,本地的是127.0.0.1,我用的是云服务器
2.客户端部署
客户端也提供了docker镜像,直接执行以下命令会拉取该镜像:
bash
docker pull --platform linux/x86_64 openspg/openspg-python:latest
下载完镜像后,可以克隆OpenSPG源码:
bash
git clone https://github.com/OpenSPG/openspg
源码克隆完成后,可以体验源码中自带的案例:
bash
# 启动容器,将其中的${project_dir}替换成源码目录
docker run --rm --net=host -v ${project_dir}:/code \
-it openspg/openspg-python:latest \
"/bin/bash"
bash
${project_dir} ----->pwd查看--->/root/openspg,自定义修改
bash
# 容器启动后,进入/code目录,即openspg项目源码目录
cd /code
bash
# 后续可以安装案例教程,比如进入riskmining目录
cd python/knext/knext/examples/riskmining
bash
# 参考案例教程,执行相应的knext命令,比如
knext project create --prj_path .
knext schema commit
knext builder execute ...
knext reasoner execute ...
另外,当本地基于IDE去编写图谱项目时,可以执行以下命令安装knext:
bash
pip install openspg-knext
更多内容可以查看文档