MiniRAG: упрощенный поиск с расширенной структурой генерации, индекс графа сущностей Recall Relevant Text Blocks

Общее введение

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

MiniRAG:简化检索增强生成框架,实体图索引召回相关文本块

 

Список функций

  • Механизм индексирования гетерогенных графов: объединение текстовых блоков и именованных сущностей для снижения зависимости от сложного семантического понимания.
  • Облегченный поиск с использованием топологии: эффективное обнаружение знаний с помощью графовых структур.
  • Совместимость с небольшими языковыми моделями: обеспечение эффективной работы RAG в сценариях с ограниченными ресурсами.
  • Обширный эталонный набор данных: набор данных LiHua-World предназначен для оценки производительности легких систем RAG при выполнении сложных запросов.
  • Простая установка: поддерживает установку из исходного кода и PyPI.

 

Использование помощи

Процесс установки

Установка из источника (рекомендуется)

  1. Клонирование репозитория MiniRAG:
   git clone https://github.com/HKUDS/MiniRAG.git
cd MiniRAG
  1. Установите зависимость:
   pip install -e .

Установка из PyPI

MiniRAG основан на LightRAG и поэтому может быть установлен напрямую:

pip install lightrag-hku

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

  1. Загрузите нужный набор данных и поместите его в папку./datasetкаталог. Например, набор данных LiHua-World был помещен в каталог./dataset/LiHua-World/data/Каталог.
  2. Используйте следующую команду для индексирования набора данных:
   python ./reproduce/Step_0_index.py
  1. Запустите модуль "Вопросы и ответы":
   python ./reproduce/Step_1_QA.py
  1. В качестве альтернативы используйте./main.pyПриведенный код инициализирует MiniRAG.

Основные функции

Гетерогенный механизм индексирования карт

MiniRAG создает гетерогенные графовые индексы, объединяя текстовые блоки и именованные сущности в единую структуру. Пользователи могут добиться этого, выполнив следующие действия:

  1. Подготовьте набор данных и убедитесь, что он отформатирован в соответствии с требованиями.
  2. Запустите сценарий индексирования:
   python ./reproduce/Step_0_index.py
  1. После завершения индексирования данные будут сохранены в указанном каталоге для последующего поиска.

Облегченный поиск с улучшенной топологией

MiniRAG использует графовые структуры для эффективного поиска знаний, которые могут быть получены пользователем на следующих этапах:

  1. Инициализируйте MiniRAG:
   from minirag import MiniRAG
model = MiniRAG()
  1. Загрузите набор данных и извлеките его:
   results = model.retrieve("你的查询")
  1. Обрабатывает результаты поиска и генерирует ответ:
   response = model.generate(results)

Выполнив все вышеперечисленные действия, пользователи смогут в полной мере использовать возможности MiniRAG для эффективной генерации улучшений поиска.

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...