Introdução geral
O SimGRAG (SimGRAG: Leveraging Similar Subgraphs for Knowledge Graphs Driven Retrieval-Augmented Generation) é uma abordagem baseada em RAG (Knowledge Graphs Driven Retrieval-Augmented Generation). O projeto tem como objetivo aprimorar o desempenho dos gráficos de conhecimento em tarefas como perguntas e respostas e verificação de fatos por meio da utilização de subgrafos semelhantes. O SimGRAG é compatível com o uso plug-and-play, combinando grandes modelos de linguagem, modelos de incorporação e bancos de dados vetoriais para fornecer recursos eficientes de pesquisa e geração de semelhanças. O projeto se baseia em soluções de código aberto, como Ollama, modelos de incorporação Nomic e bancos de dados de vetores Milvus, e os usuários podem substituir esses componentes conforme necessário.
Lista de funções
- Geração de modelos de idiomas grandesTarefa de geração usando o modelo Llama 3 70B.
- Incorporação de nós e relacionamentosIncorporação de nós e relações usando o modelo de incorporação Nomic.
- banco de dados de vetoresSuporte à pesquisa de similaridade eficiente usando o Milvus para armazenar embeddings de nós e relações.
- Preparação de dadosSuporte para download e preparação de conjuntos de dados MetaQA e FactKG.
- arquivo de configuraçãoFornecer perfis modificáveis para atender a diferentes necessidades.
- Operação do oleodutoFornecimento de scripts para execução de pipelines, suporte à indexação e às consultas do MetaQA e do FactKG.
Usando a Ajuda
Processo de instalação
- Instalação da Ollama::
- Visite o site oficial do Ollama e siga as instruções para instalar o Ollama.
- Após a conclusão da instalação, execute o seguinte comando para iniciar o modelo Llama 3 70B:
ollama executar llama3:70b
- Inicie os serviços exigidos pelo SimGRAG:
bash ollama_server.sh
- Instalação dos modelos incorporados da Nomic::
- Clonagem de modelos de incorporação nômica:
mkdir -p data/raw cd data/raw git clone https://huggingface.co/nomic-ai/nomic-embed-text-v1
- Instalação do Milvus::
- Visite o site do Milvus e siga a documentação para instalar o Milvus.
- Quando a instalação estiver concluída, inicie o serviço Milvus.
Preparação de dados
- Conjunto de dados MetaQA::
- Faça o download do conjunto de dados do MetaQA e coloque-o na pasta
dados/brutos
pasta.
- Faça o download do conjunto de dados do MetaQA e coloque-o na pasta
- Conjunto de dados FactKG::
- Faça o download do conjunto de dados FactKG e coloque-o na pasta
dados/brutos
pasta.
- Faça o download do conjunto de dados FactKG e coloque-o na pasta
Tubos de corrida
- MetaQA::
- Execute os seguintes comandos para indexação e consulta:
cd pipeline python metaQA_index.py python metaQA_query1hop.py python metaQA_query2hop.py python metaQA_query3hop.py
- FatoKG::
- Execute os seguintes comandos para indexação e consulta:
bash
CD pipeline
python factKG_index.py
python factKG_query.py
- Execute os seguintes comandos para indexação e consulta:
arquivo de configuração
- O arquivo de configuração está localizado no diretório
configurações
o usuário pode modificar o perfil para adequá-lo a diferentes tarefas e conjuntos de dados, conforme necessário.
Visualização de resultados
- Os resultados da consulta serão salvos no arquivo de saída especificado no arquivo de configuração, por exemplo
resultados/FactKG_query.txt
. O resultado de cada linha é um dicionário com a chavecorreto
Indica a exatidão da resposta final.
Com as etapas acima, os usuários podem começar rapidamente com a tarefa de geração de aprimoramento de recuperação orientada por gráficos de conhecimento usando o SimGRAG.