Repolode
NovaSearch-Team

NovaSearch-Team/RAG-Retrieval

Código para treinamento, inferência e destilação de modelos de recuperação para RAG, incluindo modelos de embeddings, ColBERT e rerankers.

Estrelas
1,137
Forks
88
Issues abertas
3
Último commit
há 2 meses

O que é?

RAG-Retrieval é uma base de código para ajustar, servir e destilar os componentes de recuperação usados em geração aumentada por recuperação. Oferece suporte ao ajuste fino de modelos de embeddings (baseados em BERT e em LLMs), modelos ColBERT de interação tardia e modelos reranker (baseados em BERT e em LLMs), além de ser compatível com modelos de código aberto, como as famílias bge, bce e gte.

Para inferência, o projeto disponibiliza um pacote Python leve, rag-retrieval, que oferece uma interface única para chamar diferentes modelos reranker. Ele lida com documentos longos por truncamento ou dividindo-os e usando a pontuação máxima, e permite adicionar novos modelos de ranking por meio de uma subclasse da classe base de reranker.

O repositório também inclui destilação para modelos de embeddings e reranker, transferindo conhecimento de um modelo maior baseado em LLM para um menor, como um LLM de 0.5B ou um modelo BERT-base. O treinamento com várias GPUs está disponível por meio do DeepSpeed e do FSDP, e o código de embeddings implementa MRL para vetores de dimensão reduzida.

Recursos principais

  • 01Ajusta modelos de embeddings baseados em BERT e em LLMs, modelos ColBERT e rerankers.
  • 02Oferece um pacote Python unificado para chamar diferentes modelos reranker.
  • 03Lida com documentos longos por truncamento ou dividindo-os e usando a pontuação máxima.
  • 04Destila modelos maiores de embeddings ou reranker baseados em LLMs em modelos menores.
  • 05Implementa a loss MRL para embeddings de dimensão reduzida.
  • 06Oferece suporte ao treinamento com várias GPUs usando DeepSpeed e FSDP.

Casos de uso

  • Ajustar um modelo de embeddings de código aberto com dados de recuperação específicos de um domínio.
  • Adicionar uma etapa de reranking a um pipeline RAG usando uma única interface Python.
  • Destilar um reranker baseado em LLM de grande porte em um modelo BERT menor para servir com menor latência.
  • Experimentar a recuperação com interação tardia no estilo ColBERT em conjuntos de dados personalizados.

Início rápido

  1. 1

    Crie um ambiente conda com Python 3.8

    conda create -n rag-retrieval python=3.8 && conda activate rag-retrieval
  2. 2

    Instale o pacote do PyPI para inferência do reranker

    pip install rag-retrieval

Antes de usar

  • A configuração do ambiente de treinamento requer a instalação manual local do PyTorch compatível com CUDA antes dos requirements.
  • O código de treinamento está organizado em subdiretórios por tipo de modelo, então cada fluxo de trabalho precisa do próprio README.

Em coleções

Tópicos

Perguntas frequentes

O que é RAG-Retrieval?
Código para treinamento, inferência e destilação de modelos de recuperação para RAG, incluindo modelos de embeddings, ColBERT e rerankers. RAG-Retrieval é uma base de código para ajustar, servir e destilar os componentes de recuperação usados em geração aumentada por recuperação. Oferece suporte ao ajuste fino de modelos de embeddings (baseados em BERT e em LLMs), modelos ColBERT de interação tardia e modelos reranker (baseados em BERT e em LLMs), além de ser compatível com modelos de código aberto, como as famílias bge, bce e gte.
RAG-Retrieval é gratuito? Qual é a licença?
RAG-Retrieval é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
RAG-Retrieval ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de RAG-Retrieval foi em 28 de ago. de 2026.
Para que posso usar RAG-Retrieval?
Ajustar um modelo de embeddings de código aberto com dados de recuperação específicos de um domínio. Adicionar uma etapa de reranking a um pipeline RAG usando uma única interface Python. Destilar um reranker baseado em LLM de grande porte em um modelo BERT menor para servir com menor latência. Experimentar a recuperação com interação tardia no estilo ColBERT em conjuntos de dados personalizados.
Como instalar RAG-Retrieval?
Crie um ambiente conda com Python 3.8: conda create -n rag-retrieval python=3.8 && conda activate rag-retrieval Instale o pacote do PyPI para inferência do reranker: pip install rag-retrieval
Onde consigo RAG-Retrieval?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/NovaSearch-Team/RAG-Retrieval

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados