Repolode
NovaSearch-Team

NovaSearch-Team/RAG-Retrieval

Полный код для обучения, инференса и дистилляции моделей RAG-поиска: эмбеддингов, ColBERT и reranker-моделей.

Звёзды
1,137
Форки
88
Открытые issues
3
Последний коммит
2 месяца назад

Что это?

RAG-Retrieval — кодовая база для дообучения, развёртывания и дистилляции компонентов поиска, используемых в генерации с дополнением контекста (RAG). Она поддерживает дообучение эмбеддинговых моделей на основе BERT и LLM, моделей ColBERT с поздним взаимодействием, а также reranker-моделей на основе BERT и LLM. Проект совместим с такими семействами open-source-моделей, как bge, bce и gte.

Для инференса проект предоставляет лёгкий Python-пакет rag-retrieval с единым интерфейсом для вызова разных reranker-моделей. Длинные документы обрабатываются усечением либо разбиением на части с выбором максимальной оценки. Новые модели ранжирования можно добавлять, наследуя базовый класс reranker.

В репозитории также есть инструменты дистилляции эмбеддинговых и reranker-моделей: знания из более крупной модели на основе LLM переносятся в компактную, например LLM на 0.5B параметров или BERT-base. Для обучения на нескольких GPU доступны DeepSpeed и FSDP, а в коде для эмбеддингов реализован MRL, позволяющий получать векторы меньшей размерности.

Ключевые возможности

  • 01Дообучает эмбеддинговые модели на основе BERT и LLM, модели ColBERT и reranker-модели.
  • 02Предоставляет единый Python-пакет для вызова разных reranker-моделей.
  • 03Обрабатывает длинные документы усечением либо разбиением на части с выбором максимальной оценки.
  • 04Дистиллирует крупные эмбеддинговые или reranker-модели на основе LLM в компактные модели.
  • 05Реализует функцию потерь MRL для эмбеддингов меньшей размерности.
  • 06Поддерживает обучение на нескольких GPU с DeepSpeed и FSDP.

Сценарии использования

  • Дообучение open-source-модели эмбеддингов на доменных данных для поиска.
  • Добавление этапа reranking в RAG-пайплайн через единый интерфейс Python.
  • Дистилляция крупной LLM reranker-модели в компактную модель BERT для инференса с меньшей задержкой.
  • Эксперименты с поиском на основе позднего взаимодействия в стиле ColBERT на собственных датасетах.

Быстрый старт

  1. 1

    Создайте окружение conda с Python 3.8

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

    Установите пакет PyPI для инференса reranker

    pip install rag-retrieval

Что важно знать

  • Для настройки окружения для обучения необходимо вручную установить локальную версию PyTorch с поддержкой CUDA до установки requirements.
  • Код обучения распределён по подкаталогам в зависимости от типа модели, поэтому для каждого рабочего процесса нужен отдельный README.

В подборках

Темы

Частые вопросы

Что такое RAG-Retrieval?
Полный код для обучения, инференса и дистилляции моделей RAG-поиска: эмбеддингов, ColBERT и reranker-моделей. RAG-Retrieval — кодовая база для дообучения, развёртывания и дистилляции компонентов поиска, используемых в генерации с дополнением контекста (RAG). Она поддерживает дообучение эмбеддинговых моделей на основе BERT и LLM, моделей ColBERT с поздним взаимодействием, а также reranker-моделей на основе BERT и LLM. Проект совместим с такими семействами open-source-моделей, как bge, bce и gte.
RAG-Retrieval можно использовать бесплатно? Какая у него лицензия?
RAG-Retrieval распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
RAG-Retrieval всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в RAG-Retrieval — 28 авг. 2026 г..
Для чего можно использовать RAG-Retrieval?
Дообучение open-source-модели эмбеддингов на доменных данных для поиска. Добавление этапа reranking в RAG-пайплайн через единый интерфейс Python. Дистилляция крупной LLM reranker-модели в компактную модель BERT для инференса с меньшей задержкой. Эксперименты с поиском на основе позднего взаимодействия в стиле ColBERT на собственных датасетах.
Как установить RAG-Retrieval?
Создайте окружение conda с Python 3.8: conda create -n rag-retrieval python=3.8 && conda activate rag-retrieval Установите пакет PyPI для инференса reranker: pip install rag-retrieval
Где скачать RAG-Retrieval?
Исходный код и инструкции по установке — на GitHub: https://github.com/NovaSearch-Team/RAG-Retrieval

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

CLI и веб-воркбенч, который превращает исходные документы в связанную Markdown-вики, поддерживаемую LLM, и использует древовидный поиск PageIndex для больших файлов.

4,9 тыс.+22 за неделю504PythonApache-2.0Обновлён 4 месяца назад

Библиотека для Python в стиле PyTorch, предназначенная для создания LLM-приложений — чат-ботов, RAG-систем и агентов — с автоматической оптимизацией промптов.

4,2 тыс.+1 за неделю389PythonMITАктивно поддерживаетсяОбновлён 6 дней назад