Introdução geral
O MiniRAG é uma estrutura de Geração Aumentada de Recuperação (RAG) extremamente simples que visa obter um bom desempenho de RAG mesmo para modelos pequenos por meio de indexação de gráficos heterogêneos e recuperação leve com aprimoramento de topologia. Desenvolvido pelo Laboratório de Ciência de Dados da Universidade de Hong Kong (HKUDS), o projeto se concentra na solução do problema de degradação de desempenho enfrentado pelos modelos de linguagem pequenos (SLMs) nas estruturas RAG existentes. O miniRAG reduz a dependência de uma compreensão semântica complexa combinando pedaços de texto e entidades nomeadas em uma única estrutura unificada e explora estruturas de gráficos para a descoberta eficiente de conhecimento. A estrutura atinge um desempenho comparável com apenas 251 TP3T de espaço de armazenamento da abordagem Large Language Model (LLM).
Lista de funções
- Mecanismo de indexação de gráficos heterogêneos: combinação de blocos de texto e entidades nomeadas para reduzir a dependência de um entendimento semântico complexo.
- Recuperação leve e aprimorada por topologia: descoberta eficiente de conhecimento usando estruturas de gráficos.
- Compatível com modelos de linguagem pequenos: fornecendo desempenho RAG eficiente em cenários com recursos limitados.
- Conjunto de dados de referência abrangente: o conjunto de dados LiHua-World é fornecido para avaliar o desempenho de sistemas RAG leves em consultas complexas.
- Fácil instalação: suporta a instalação a partir do código-fonte e do PyPI.
Usando a Ajuda
Processo de instalação
Instalação a partir da fonte (recomendado)
- Clonagem do repositório MiniRAG:
git clone https://github.com/HKUDS/MiniRAG.git
cd MiniRAG
- Instale a dependência:
pip install -e .
Instalação a partir do PyPI
O MiniRAG é baseado no LightRAG e, portanto, pode ser instalado diretamente:
pip install lightrag-hku
Início rápido
- Faça o download do conjunto de dados necessário e coloque-o na pasta
. /dataset
catálogo. Por exemplo, o conjunto de dados LiHua-World foi colocado no catálogo. /dataset/LiHua-World/data/
Catálogo. - Use o seguinte comando para indexar o conjunto de dados:
python . /reproduce/Step_0_index.py
- Execute o módulo de perguntas e respostas:
python . /reproduce/Step_1_QA.py
- Como alternativa, use o
. /main.py
O código em inicializa o MiniRAG.
Funções principais
Mecanismo de indexação de gráficos heterogêneos
O MiniRAG cria índices de gráficos heterogêneos combinando blocos de texto e entidades nomeadas em uma estrutura unificada. Os usuários podem conseguir isso seguindo as etapas abaixo:
- Prepare o conjunto de dados e certifique-se de que o conjunto de dados esteja formatado conforme necessário.
- Execute o script de indexação:
python . /reproduce/Step_0_index.py
- Após a conclusão da indexação, os dados serão armazenados no diretório especificado para recuperação posterior.
Pesquisa aprimorada de topologia leve
O MiniRAG utiliza a estrutura do gráfico para a descoberta eficiente de conhecimento, que pode ser recuperado pelo usuário nas etapas a seguir:
- Inicialize o MiniRAG:
from minirag import MiniRAG
modelo = MiniRAG()
- Carregue o conjunto de dados e recupere-o:
resultados = model.retrieve("sua consulta")
- Processa os resultados da pesquisa e gera uma resposta:
resposta = model.generate(results)
Com as etapas acima, os usuários podem aproveitar ao máximo os recursos do MiniRAG para a geração eficiente de aprimoramentos de pesquisa.