Modelos bilingües de embeddings y reranking chino-inglés de NetEase Youdao, diseñados para la recuperación de información en aplicaciones RAG.
NovaSearch-Team/RAG-Retrieval
Código integral para entrenar, ejecutar y destilar modelos de recuperación para RAG, incluidos modelos de embeddings, ColBERT y rerankers.
- Estrellas
- 1,137
- Forks
- 88
- Issues abiertos
- 3
- Último commit
- hace 2 meses
¿Qué es?
RAG-Retrieval es una base de código para ajustar, servir y destilar los componentes de recuperación que se usan en la generación aumentada por recuperación. Permite ajustar modelos de embeddings (basados en BERT y en LLM), modelos ColBERT de interacción tardía y rerankers (basados en BERT y en LLM), y es compatible con modelos open source como las familias bge, bce y gte.
Para la inferencia, el proyecto publica un paquete ligero de Python, rag-retrieval, que ofrece una interfaz única para invocar distintos modelos reranker. Gestiona los documentos largos truncándolos o dividiéndolos y tomando la puntuación máxima. Se pueden añadir nuevos modelos de ranking mediante subclases de una clase base de reranker.
El repositorio también incluye destilación para modelos de embeddings y rerankers, que transfiere conocimiento de un modelo más grande basado en LLM a uno más pequeño, como un LLM de 0.5B o un modelo BERT-base. El entrenamiento con varias GPU está disponible mediante DeepSpeed y FSDP, y el código de embeddings implementa MRL para generar vectores de dimensión reducida.
Funciones clave
- 01Ajusta modelos de embeddings basados en BERT y LLM, modelos ColBERT y rerankers.
- 02Ofrece un paquete unificado de Python para invocar distintos modelos reranker.
- 03Gestiona documentos largos truncándolos o dividiéndolos y tomando la puntuación máxima.
- 04Destila modelos grandes de embeddings o rerankers basados en LLM para obtener modelos más pequeños.
- 05Implementa la función de pérdida MRL para embeddings de dimensión reducida.
- 06Permite entrenar con varias GPU mediante DeepSpeed y FSDP.
Casos de uso
- Ajustar un modelo de embeddings open source con datos de recuperación específicos de un dominio.
- Añadir una etapa de reranking a un pipeline de RAG mediante una única interfaz de Python.
- Destilar un reranker LLM grande en un modelo BERT más pequeño para servirlo con menor latencia.
- Experimentar con recuperación de interacción tardía al estilo ColBERT en conjuntos de datos personalizados.
Inicio rápido
- 1
Crea un entorno conda con Python 3.8
conda create -n rag-retrieval python=3.8 && conda activate rag-retrieval - 2
Instala el paquete de PyPI para la inferencia del reranker
pip install rag-retrieval
Antes de usarlo
- La configuración del entorno de entrenamiento requiere instalar manualmente PyTorch compatible con CUDA en local antes de instalar los requirements.
- El código de entrenamiento está organizado en subdirectorios según el tipo de modelo, por lo que cada flujo de trabajo necesita su propio README.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es RAG-Retrieval?
- Código integral para entrenar, ejecutar y destilar modelos de recuperación para RAG, incluidos modelos de embeddings, ColBERT y rerankers. RAG-Retrieval es una base de código para ajustar, servir y destilar los componentes de recuperación que se usan en la generación aumentada por recuperación. Permite ajustar modelos de embeddings (basados en BERT y en LLM), modelos ColBERT de interacción tardía y rerankers (basados en BERT y en LLM), y es compatible con modelos open source como las familias bge, bce y gte.
- ¿RAG-Retrieval es gratuito? ¿Qué licencia tiene?
- RAG-Retrieval es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿RAG-Retrieval sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de RAG-Retrieval fue el 28 ago 2026.
- ¿Para qué puedo usar RAG-Retrieval?
- Ajustar un modelo de embeddings open source con datos de recuperación específicos de un dominio. Añadir una etapa de reranking a un pipeline de RAG mediante una única interfaz de Python. Destilar un reranker LLM grande en un modelo BERT más pequeño para servirlo con menor latencia. Experimentar con recuperación de interacción tardía al estilo ColBERT en conjuntos de datos personalizados.
- ¿Cómo se instala RAG-Retrieval?
- Crea un entorno conda con Python 3.8: conda create -n rag-retrieval python=3.8 && conda activate rag-retrieval Instala el paquete de PyPI para la inferencia del reranker: pip install rag-retrieval
- ¿Dónde consigo RAG-Retrieval?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/NovaSearch-Team/RAG-Retrieval
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Toolkit de recuperación de BAAI con modelos de embeddings y reranking BGE, además de herramientas de entrenamiento, evaluación y tutoriales para búsqueda y RAG.
Un motor RAG sin vectores que crea un índice jerárquico en forma de árbol para documentos extensos y permite que un LLM lo recorra para encontrar respuestas.
CLI y espacio de trabajo web que convierte documentos sin procesar en una wiki Markdown interconectada y mantenida por un LLM, con recuperación en árbol de PageIndex para archivos extensos.
Una biblioteca de Python al estilo de PyTorch para crear flujos de trabajo con LLM, como chatbots, RAG y agentes, y optimizar prompts automáticamente.
Entorno de ejecución de memoria local y basada en evidencias para agentes de IA que filtra las escrituras, registra cambios en los hechos a lo largo del tiempo y explica cada resultado recuperado.