Modelos bilíngues de embedding e reranking em chinês e inglês da NetEase Youdao, feitos para recuperação de informações em aplicações RAG.
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
Crie um ambiente conda com Python 3.8
conda create -n rag-retrieval python=3.8 && conda activate rag-retrieval - 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
Toolkit de recuperação de informações da BAAI com modelos BGE de embeddings e reranking, além de recursos para treinamento, avaliação e tutoriais de busca e RAG.
Um mecanismo de RAG sem vetores que cria um índice em árvore hierárquica de documentos longos e permite que um LLM navegue por ele para encontrar respostas.
Uma CLI e bancada web que transforma documentos brutos em uma wiki Markdown interligada e mantida por LLM, usando a recuperação em árvore do PageIndex para arquivos longos.
Uma biblioteca Python no estilo PyTorch para criar workflows com LLMs, como chatbots, RAG e agentes, com otimização automática de prompts.
Runtime local de memória para agentes de IA, com foco em evidências: filtra gravações, acompanha mudanças nos fatos ao longo do tempo e explica cada resultado recuperado.