Двуязычные китайско-английские модели эмбеддингов и ранжирования от NetEase Youdao для поиска в RAG-приложениях.
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
Создайте окружение conda с Python 3.8
conda create -n rag-retrieval python=3.8 && conda activate rag-retrieval - 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 обновляется ежедневно.
Похожие проекты
Набор инструментов для поиска от BAAI: модели эмбеддингов и реранкеров BGE, а также средства обучения, оценки и руководства для поиска и RAG.
RAG-движок без векторного поиска: строит иерархический древовидный индекс длинных документов, по которому LLM находит ответы.
CLI и веб-воркбенч, который превращает исходные документы в связанную Markdown-вики, поддерживаемую LLM, и использует древовидный поиск PageIndex для больших файлов.
Библиотека для Python в стиле PyTorch, предназначенная для создания LLM-приложений — чат-ботов, RAG-систем и агентов — с автоматической оптимизацией промптов.
Локальная система памяти для AI-агентов с приоритетом доказательств: фильтрует записи, отслеживает изменения фактов и объясняет результаты поиска.