Introdução geral
O OpenSPG é um mecanismo de gráfico de conhecimento de código aberto desenvolvido pelo Ant Group em colaboração com o OpenKG, com base na estrutura SPG (Semantic Enhanced Programmable Graph). O mecanismo foi projetado para dar suporte à construção e ao gerenciamento de gráficos de conhecimento de domínio, fornecendo recursos como representação semântica explícita, definições de regras lógicas e estruturas operacionais. O OpenSPG combina a simplicidade da estrutura LPG com a complexidade da semântica RDF e é adequado para uma ampla gama de cenários comerciais, como finanças.
Lista de funções
- Modelagem de conhecimento: suporte à modelagem de conhecimento das restrições do modelo de domínio
- Representação semântica: forneça representação semântica explícita e definições de regras lógicas
- Estruturas operacionais: suporte para construção, raciocínio e outras estruturas operacionais
- Adaptação de plug-in: oferece suporte à adaptação de plug-in do mecanismo subjacente e dos serviços algorítmicos
- Visualização de dados: fornecer uma interface intuitiva para exploração e análise de dados
Usando a Ajuda
Processo de instalação
Instalação do servidor
O lado do servidor é implantado com base no Docker Compose e contém 4 imagens principais:
- servidor openspgServiços de esquema: fornecer serviços de esquema
- openspg-mysqlArmazenamento de dados do esquema
- tugraphArmazenamento de dados de mapeamento
- pesquisa elásticaDados de mapeamento indexados
- download
docker-compose.yml
e execute os seguintes comandos no diretório atual e aguarde a conclusão da execução do comando para concluir a inicialização do servidor:docker-compose -f docker-compose.yml up -d
- (col.) reprovar (um aluno)
servidor openspg
Após a inicialização local, você pode abrir a porta http://127.0.0.1:8887 para ver a página de visualização do front-end. Seservidor openspg
Implementado remotamente, o endereço IP correspondente precisa ser modificado de acordo.
Instalação do cliente
O cliente também fornece uma imagem do Docker, e a execução direta do comando a seguir extrairá essa imagem:
docker pull --platform linux/x86_64 spg-registry.cn-hangzhou.cr.aliyuncs.com/spg/openspg-python:latest
Depois de fazer o download da imagem, você pode clonar o código-fonte do OpenSPG:
git clone --depth=1 https://github.com/OpenSPG/openspg.git
Quando o clone da fonte estiver concluído, você poderá experimentar os casos que vêm com a fonte:
# Inicie o contêiner, substituindo ${project_dir} nele pelo diretório de origem
execução do docker --rm --net=host -v ${project_dir}:/code \
-it spg-registry.cn-hangzhou.cr.aliyuncs.com/spg/openspg-python:latest \
"/bin/bash"
# Depois que o contêiner for iniciado, vá para o diretório /code, o diretório de origem do projeto openspg
cd /código
# Em seguida, você pode instalar os tutoriais de caso, por exemplo, vá para o diretório diskmining
cd python/knext/knext/examples/riskmining
# Consulte os tutoriais de casos e execute os comandos knext apropriados, por exemplo
knext project create --prj_path .
commit do esquema knext
knext builder executa ...
knext reasoner executa ...
Como alternativa, quando for escrever um projeto de mapeamento localmente com base em um IDE, você poderá instalar o knext executando o seguinte comando:
pip install openspg-knext
Procedimento de operação detalhado
inicialização no lado do servidor
- Clone o código-fonte do OpenSPG e abra-o no IDE:
git clone git@github.com:OpenSPG/openspg.git
Supõe-se que todos os comandos a seguir sejam executados no diretório raiz da base de código do openspg.
- Execute o comando mvn compile:
mvn clean install -Dmaven.test.skip=verdadeiro -Dspotless.check.skip -Dspotless.apply.skip
- Inicie contêineres como MySQL, ElasticSearch, TuGraph etc. localmente:
sh dev/test/docker-compose.sh
- A entrada do servidor de inicialização está localizada:
com.antgroup.openspg.server.arks.sofaboot.Application
Inicialização do cliente
- Prepare um ambiente virtual Python, versão 3.8+.
- Copie os pacotes reasoner e builder compilados pelo mvn para o diretório knext:
cp dev/release/python/lib/builder* python/knext/knext/builder/lib cp dev/release/python/lib/reasoner* python/knext/knext/reasoner/lib
- Instale o nn4k localmente:
cd python/nn4k python setup.py develop
- Instalação local do knext:
cd python/knext python setup.py develop
- Quando terminar, você poderá executar o comando knext nesse ambiente virtual do Python.
Modelo de competências essenciais
O modelo de competência central do OpenSPG inclui:
- Modelagem semântica SPG-SchemaResponsável pelo projeto de estruturas de esquema para aprimoramento semântico de gráficos de atributos, por exemplo, modelos de assunto, modelos evolutivos, modelos de predicados.
- Construção de conhecimento SPG-BuilderSuporte à importação de conhecimento estruturado e não estruturado, compatível e articulado com arquiteturas de big data, além de fornecer uma estrutura de operador de construção de conhecimento para permitir a conversão de dados em conhecimento. Abstrai a estrutura do SDK de processamento de conhecimento, oferece a capacidade de encadeamento de entidades, rotulagem de conceitos e operadores de normalização de entidades, combina processamento de linguagem natural (NLP) e algoritmos de aprendizagem profunda, melhora o nível de exclusividade de diferentes instâncias em um único tipo e oferece suporte à evolução contínua e iterativa do mapeamento de domínio.
- SPG-Reasoner Raciocínio de regra lógicaResumos KGDSL (Knowledge Graph Domain Specific Language) para fornecer representações simbólicas programáveis de regras lógicas. Oferece suporte à inferência de regras downstream, aprendizado de fusão neural/simbólica, inferência de conhecimento/extração de conhecimento LLM vinculado ao KG2Prompt etc. com representações simbólicas compreensíveis por máquina. Defina dependências e transferência de conhecimento por meio de semântica de predicados e regras lógicas, e dê suporte à modelagem e à análise de cenários comerciais complexos.
- Estrutura programável KNextKNext: o KNext, como uma estrutura programável de gráficos, fornece um conjunto de recursos componentizados escalonáveis, orientados a processos e fáceis de usar; abstrai os principais recursos dos gráficos e os precipita em recursos componentizados, enquadrados e criados pelo mecanismo; consegue isolar o mecanismo da lógica de negócios e do modelo de domínio, o que facilita a definição rápida da solução de gráficos pelos negócios; e cria uma tecnologia de IA controlável e orientada pelo conhecimento com base na pilha de mecanismos OpenSPG vinculando recursos de aprendizagem profunda, como LLM e GraphLearning.
- Camada de adaptação à nuvem CloudextOs sistemas empresariais podem acoplar o mecanismo aberto por meio do SDK para criar seu próprio front-end empresarial característico; mecanismo de computação de gráficos/armazenamento de gráficos personalizado expansível/adaptável; estrutura de aprendizado de máquina expansível/adaptável adequada às suas próprias características empresariais.