Aprendizagem pessoal com IA
e orientação prática
TRAE

NodeRAG: uma ferramenta baseada em gráficos heterogêneos para recuperação e geração de informações precisas

Introdução geral

O NodeRAG é um sistema de código aberto Retrieval Augmented Generation (RAG) hospedado no GitHub e desenvolvido por Terry-Xu-666, que otimiza a recuperação e a geração de informações por meio de estruturas gráficas heterogêneas para melhorar significativamente a precisão da recuperação e a relevância contextual. Ele otimiza a recuperação e a geração de informações por meio de estruturas gráficas heterogêneas, melhorando significativamente a precisão da recuperação e a relevância contextual. O NodeRAG oferece suporte à implantação local e fornece interfaces fáceis de usar e ferramentas de visualização para pesquisa acadêmica, gerenciamento de conhecimento e análise de dados. A primeira versão estável (v0.1.0) será lançada em março de 2025 e pode ser instalada via PyPI. A documentação oficial é completa, e a comunidade é ativa e atualizada. Em comparação com o tradicional RAG o NodeRAG tem melhor desempenho em raciocínio multi-hop, velocidade de recuperação e eficiência de armazenamento, e é particularmente adequado para o processamento de conjuntos de dados complexos.

NodeRAG: uma ferramenta heterogênea baseada em gráficos para recuperação e geração de informações precisas-1


 

Lista de funções

  • Estrutura de gráfico heterogênea: suporta vários tipos de nós (por exemplo, documentos, entidades, palavras-chave) para melhorar a precisão da recuperação.
  • Pesquisa precisa: o raciocínio multihop e as consultas contextualmente relevantes são suportados por meio de decomposição, aumento, enriquecimento e pesquisa de gráficos.
  • Visualização de dados: fornece visualização de estrutura gráfica interativa para facilitar a compreensão de relações complexas de dados.
  • Interface de implantação local: oferece suporte à operação local e proporciona uma experiência intuitiva de interação com o usuário.
  • Instalação em várias plataformas: suporte à instalação do Conda, Docker e PyPI, compatível com vários ambientes.
  • Atualização incremental: suporta a atualização dinâmica da estrutura do gráfico sem reconstruir todo o banco de dados do gráfico.
  • Otimização de alto desempenho: indexação e consulta rápidas para processamento de conjuntos de dados em grande escala.
  • Documentação aberta: fornece tutoriais detalhados, exemplos de código e artigos acadêmicos para facilitar o aprendizado.

 

Usando a Ajuda

Processo de instalação

O NodeRAG oferece suporte a uma variedade de métodos de instalação. A seguir, descrevemos as etapas de instalação via Conda e PyPI. Certifique-se de que o Python 3.10 ou posterior esteja instalado em seu sistema.

1. instalação por meio do Conda

  1. Criação de um ambiente virtual
    Abra um terminal e execute o seguinte comando para criar e ativar um ambiente Conda:

    conda create -n NodeRAG python=3.10
    conda activate NodeRAG
  1. Clonar a base de código (opcional)
    Se você precisar do código-fonte ou de uma versão de desenvolvimento, poderá cloná-lo no GitHub:

    git clone https://github.com/Terry-Xu-666/NodeRAG.git
    cd NodeRAG
    
  2. Instalação de dependências
    No diretório do projeto, execute o seguinte comando para instalar as dependências:

    pip install -r requirements.txt
    

    As dependências incluem networkx(Operação da figura),numpy(cálculos numéricos),flask(interface da Web), etc.

  3. Instalação do NodeRAG
    Se você não tiver clonado a base de código, poderá instalá-la diretamente do PyPI:

    pip install NodeRAG
    
  4. Execução da interface local
    Execute o seguinte comando para iniciar a interface da Web local:

    python -m NodeRAG.app
    

    Abra seu navegador e acesse http://localhost:5000A interface do NodeRAG está acessível.

2. instalação acelerada usando raios ultravioleta (opcional)

Para aumentar a velocidade da instalação, use a opção uv Ferramentas:

  1. montagem uv::
    pip install uv
    
  2. fazer uso de uv Instale o NodeRAG:
    uv pip install NodeRAG
    

3. verificação da instalação

Após iniciar a interface, carregue o conjunto de dados de exemplo fornecido oficialmente (localizado na pasta data/sample catálogo ou documentação on-line), verifique se a visualização do diagrama está sendo exibida corretamente. Se tiver algum problema, consulte as perguntas frequentes oficiais.

Uso das funções principais

O núcleo do NodeRAG está na construção, recuperação e geração de gráficos heterogêneos. A seguir, descrevemos o processo de operação em detalhes.

1. construção de mapas heterogêneos

O NodeRAG usa gráficos heterogêneos para armazenar dados, e os tipos de nós incluem documentos, entidades, palavras-chave etc. Os usuários precisam preparar os dados no formato JSON ou CSV contendo texto e metadados (por exemplo, título, autor). Etapas:

  • Faça login na interface da Web e clique em "Data Import" (Importação de dados).
  • Selecione o arquivo de dados e defina o tipo de nó (por exemplo, "Document") e a relação de borda (por exemplo, "Document-Keyword").
  • Clique em "Build Diagram" (Criar diagrama), o sistema gera a estrutura do diagrama e a salva no banco de dados local.
    Exemplo: ao importar um conjunto de dados de artigos acadêmicos, o sistema extrai títulos, autores e palavras-chave e gera um gráfico de conhecimento.

2. recuperação de informações executivas

A recuperação do NodeRAG é baseada em um algoritmo de pesquisa de gráficos e suporta raciocínio de vários saltos. Etapas da operação:

  • Digite uma consulta na interface, como "Deep Learning in Healthcare".
  • Selecione a profundidade da pesquisa (recomenda-se 2-3 hops) e clique em "Search" (Pesquisar).
  • O sistema retorna nós, bordas e caminhos relevantes, demonstrando relações contextuais.
  • Os resultados são apresentados como uma lista e um gráfico, e os usuários podem clicar nos nós para visualizar os detalhes.
    A pesquisa suporta consultas complexas, como combinações de vários critérios ou pesquisas entre campos.

3. geração de conteúdo

O NodeRAG gera respostas contextualmente relevantes em conjunto com o Big Model. Etapas operacionais:

  • Na tela de resultados da pesquisa, clique em "Generate answer" (Gerar resposta).
  • O sistema gera texto com base nos nós recuperados, invocando o grande modelo.
  • Parâmetros ajustáveis pelo usuário (por exemplo temperatureemax_tokens) controla o estilo de saída.
    Exemplo: A consulta "Avanços recentes na computação quântica" gera uma resposta que inclui desenvolvimentos recentes de pesquisa.

4. visualização de dados

O NodeRAG fornece ferramentas interativas de visualização de gráficos para ajudar os usuários a analisar visualmente as relações de dados. Etapas da operação:

  • Selecione "Graph Visualisation" (Visualização de gráficos) na interface.
  • O sistema exibe os nós e as bordas do gráfico e suporta zoom, arrastamento e filtragem.
  • Clique em um nó para ver os atributos (por exemplo, conteúdo de texto) e clique em uma borda para ver o tipo de relacionamento.
    Esse recurso é adequado para a exploração de conjuntos de dados complexos, como gráficos de conhecimento e redes sociais.

5. atualização incremental

O NodeRAG suporta a atualização dinâmica da estrutura do gráfico sem reconstruir o gráfico inteiro. Etapas da operação:

  • Selecione "Incremental Update" (Atualização incremental) na tela.
  • Faça o upload de novos arquivos de dados e o sistema os integrará automaticamente à estrutura de diagrama existente.
  • Após a atualização, execute novamente a consulta para verificar os resultados.
    Esse recurso é adequado para cenários de atualização contínua, como bancos de dados de notícias ou repositórios de documentos corporativos.

6. configuração personalizada

Os usuários avançados podem editar o config.yaml O arquivo ajusta a estrutura do gráfico e os parâmetros do algoritmo, como pesos dos nós, tipos de borda e profundidade de recuperação. Após a modificação, execute o seguinte comando para recarregar:

python -m NodeRAG.reload_config

Operação da função em destaque

A estrutura de gráfico heterogêneo do NodeRAG é seu ponto forte, otimizando a recuperação e a geração por meio das quatro etapas a seguir:

  • decomposição gráfica Divisão de consultas complexas em subtarefas e atribuição das mesmas a diferentes tipos de nós.
  • aprimoramento gráfico Relações implícitas complementares entre nós para melhorar a integridade contextual.
  • Enriquecimento de gráficos Conhecimento externo: Integre conhecimento externo (por exemplo, conjuntos de dados disponíveis publicamente) ao gráfico.
  • pesquisa de imagens Use algoritmos eficientes para localizar rapidamente os nós relevantes.
    Procedimento operacional:
  • Ative "Graph Enhancement" (Aprimoramento de gráfico) ou "Graph Enrichment" (Enriquecimento de gráfico) nas "Advanced Settings" (Configurações avançadas) da interface.
  • Depois de inserir uma consulta, o sistema aplica automaticamente essas etapas para gerar resultados mais precisos.
    Esses recursos aprimoram significativamente o raciocínio multihop e são adequados para a análise de problemas complexos.

Perguntas frequentes

  • falha na instalação Verifique a versão do Python (é necessário ter mais de 3.10) e a conexão de rede. Use uma fonte espelho doméstica para acelerar a instalação:
pip install NodeRAG -i https://pypi.tuna.tsinghua.edu.cn/simple
  • A interface está inacessível : Reconhecimento NodeRAG.app estiver em execução, verifique se a porta 5000 está ocupada.
  • Resultados de pesquisa imprecisos Otimizar os dados de entrada (garantir que os metadados estejam completos) ou aumentar a profundidade da pesquisa.
  • Problemas de integração de modelos grandes : em config.yaml A API do modelo ou o caminho do modelo local está configurado corretamente no
    Mais perguntas podem ser encontradas na documentação oficial:NodeRAG_web.

Nota suplementar

  • Preparação de dados Dados de entrada devem ser estruturados, recomenda-se o formato JSON, contendo content(texto) e metadata(Metadados).
  • otimização do desempenho NodeRAG: o NodeRAG usa um algoritmo unificado e um mecanismo de indexação, e os tempos de resposta da consulta estão normalmente na faixa de segundos, mesmo quando se lida com conjuntos de dados de grande escala.
  • Suporte à comunidade O repositório do GitHub fornece uma página de problemas onde os usuários podem enviar problemas ou participar de discussões.

 

cenário do aplicativo

  1. pesquisa acadêmica
    Os pesquisadores podem usar o NodeRAG para organizar os dados da literatura e construir um gráfico de relacionamento de teses. Depois de importar o conjunto de dados da tese, o sistema extrai palavras-chave, autores e relações de citação para gerar um gráfico de conhecimento. Os usuários podem consultar o tópico de pesquisa, obter a literatura relacionada e a análise contextual, adequada para a revisão da literatura ou o planejamento do tópico.
  2. Gestão do conhecimento empresarial
    As empresas podem usar o NodeRAG para gerenciar documentos internos e criar uma base de conhecimento. Após a importação de documentos técnicos e relatórios de projetos, o sistema gera um diagrama de relacionamento de documentos. Os funcionários podem pesquisar informações rapidamente e aumentar a eficiência do compartilhamento de conhecimento, o que é adequado para equipes técnicas ou colaboração entre departamentos.
  3. Análise e visualização de dados
    Os analistas de dados podem usar o NodeRAG para analisar conjuntos de dados complexos, como redes sociais ou dados de relacionamento com clientes. O sistema ajuda a descobrir padrões ocultos, visualizando as conexões de dados por meio de gráficos, e é adequado para análise de mercado, avaliação de riscos ou desenvolvimento de sistemas de recomendação.
  4. Processamento de informações em tempo real
    O recurso de atualização incremental do NodeRAG é adequado para o processamento de dados dinâmicos, como notícias ou conteúdo de mídia social. Os usuários podem importar continuamente novos dados e o sistema atualiza automaticamente a estrutura do gráfico para manter os resultados da pesquisa atualizados.

 

QA

  1. Quais formatos de dados são compatíveis com o NodeRAG?
    Os formatos JSON, CSV e TXT são compatíveis. O JSON é recomendado e requer a inclusão de content(texto) e metadata(por exemplo, autor, data).
  2. Como melhorar a precisão da pesquisa?
    Certifique-se de que os dados contenham meta-informações valiosas, permita o aprimoramento ou enriquecimento de gráficos e aumente a profundidade da pesquisa conforme apropriado (2-3 hops).
  3. O NodeRAG oferece suporte a atualizações ao vivo?
    Suporta atualizações incrementais, os usuários podem carregar novos dados para atualizar dinamicamente a estrutura do gráfico sem reconstruir o gráfico inteiro.
  4. É necessário o suporte a modelos grandes?
    O NodeRAG pode ser integrado a modelos como LLaMA, GPT, etc. Requer o uso do config.yaml Configure APIs de modelo ou caminhos locais no
  5. Como posso visualizar os benchmarks de desempenho?
    A documentação oficial fornece gráficos de comparação de desempenho para demonstrar os benefícios do NodeRAG em termos de qualidade e velocidade de recuperação, consulte NodeRAG_web.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " NodeRAG: uma ferramenta baseada em gráficos heterogêneos para recuperação e geração de informações precisas
pt_BRPortuguês do Brasil