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.
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
- 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
- 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
- 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. - Instalação do NodeRAG
Se você não tiver clonado a base de código, poderá instalá-la diretamente do PyPI:pip install NodeRAG
- 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:5000
A 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:
- montagem
uv
::pip install uv
- 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
temperature
emax_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) emetadata
(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
- 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. - 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. - 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. - 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
- 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 decontent
(texto) emetadata
(por exemplo, autor, data). - 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). - 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. - É necessário o suporte a modelos grandes?
O NodeRAG pode ser integrado a modelos como LLaMA, GPT, etc. Requer o uso doconfig.yaml
Configure APIs de modelo ou caminhos locais no - 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.