MiniRAG: упрощенный поиск с расширенной структурой генерации, индекс графа сущностей Recall Relevant Text Blocks
Общее введение
MiniRAG - это очень простой фреймворк Retrieval Augmented Generation (RAG), целью которого является достижение хорошей производительности RAG даже для небольших моделей за счет гетерогенного индексирования графов и облегченного поиска с использованием топологии. Проект, разработанный Лабораторией науки о данных Гонконгского университета (HKUDS), нацелен на решение проблемы снижения производительности, с которой сталкиваются небольшие языковые модели (SLM) в существующих системах RAG. miniRAG снижает зависимость от сложного семантического понимания, объединяя фрагменты текста и именованные сущности в единую структуру, и использует графовые структуры для эффективного обнаружения знаний. Фреймворк достигает сопоставимой производительности, занимая всего 251 TP3T пространства для хранения данных по сравнению с подходом на основе большой языковой модели (LLM).

Список функций
- Механизм индексирования гетерогенных графов: объединение текстовых блоков и именованных сущностей для снижения зависимости от сложного семантического понимания.
- Облегченный поиск с использованием топологии: эффективное обнаружение знаний с помощью графовых структур.
- Совместимость с небольшими языковыми моделями: обеспечение эффективной работы RAG в сценариях с ограниченными ресурсами.
- Обширный эталонный набор данных: набор данных LiHua-World предназначен для оценки производительности легких систем RAG при выполнении сложных запросов.
- Простая установка: поддерживает установку из исходного кода и PyPI.
Использование помощи
Процесс установки
Установка из источника (рекомендуется)
- Клонирование репозитория MiniRAG:
git clone https://github.com/HKUDS/MiniRAG.git
cd MiniRAG
- Установите зависимость:
pip install -e .
Установка из PyPI
MiniRAG основан на LightRAG и поэтому может быть установлен напрямую:
pip install lightrag-hku
Быстрый старт
- Загрузите нужный набор данных и поместите его в папку
./dataset
каталог. Например, набор данных LiHua-World был помещен в каталог./dataset/LiHua-World/data/
Каталог. - Используйте следующую команду для индексирования набора данных:
python ./reproduce/Step_0_index.py
- Запустите модуль "Вопросы и ответы":
python ./reproduce/Step_1_QA.py
- В качестве альтернативы используйте
./main.py
Приведенный код инициализирует MiniRAG.
Основные функции
Гетерогенный механизм индексирования карт
MiniRAG создает гетерогенные графовые индексы, объединяя текстовые блоки и именованные сущности в единую структуру. Пользователи могут добиться этого, выполнив следующие действия:
- Подготовьте набор данных и убедитесь, что он отформатирован в соответствии с требованиями.
- Запустите сценарий индексирования:
python ./reproduce/Step_0_index.py
- После завершения индексирования данные будут сохранены в указанном каталоге для последующего поиска.
Облегченный поиск с улучшенной топологией
MiniRAG использует графовые структуры для эффективного поиска знаний, которые могут быть получены пользователем на следующих этапах:
- Инициализируйте MiniRAG:
from minirag import MiniRAG
model = MiniRAG()
- Загрузите набор данных и извлеките его:
results = model.retrieve("你的查询")
- Обрабатывает результаты поиска и генерирует ответ:
response = model.generate(results)
Выполнив все вышеперечисленные действия, пользователи смогут в полной мере использовать возможности MiniRAG для эффективной генерации улучшений поиска.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...