Инженерная академия ИИ: 2.3BM25 RAG (Retrieval Augmented Generation)

краткое содержание

BM25 Усовершенствованная генерация ответов (BM25 RAG) - это передовая технология, которая сочетает алгоритм BM25 (Best Matching 25) для поиска информации с большой языковой моделью для генерации текста. Благодаря использованию проверенной вероятностной модели поиска этот метод повышает точность и релевантность генерируемых ответов.

 

Рабочий процесс BM25 RAG

AI工程学院:2.3BM25 RAG (检索增强生成)

 

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

Блокнот

Для детального изучения BM25 RAG можно запустить блокнот Jupyter, поставляемый в этой кодовой базе. https://github.com/adithya-s-k/AI-Engineering.academy/tree/main/RAG/01_BM25_RAG

чат-приложение

  1. Установите зависимости:
    pip install -r requirements.txt
    
  2. Запустите приложение:
    python app.py
    
  3. Динамическое поступление данных:
    python app.py --ingest --data_dir /path/to/documents
    

сервер (компьютер)

Запустите сервер:

python server.py

Сервер содержит две конечные точки:

  • /api/ingest: для ввода новых документов
  • /api/query: для запроса BM25 RAG системы

 

Ключевые особенности BM25 RAG

  1. вероятностный поискBM25 использует вероятностную модель для ранжирования документов, обеспечивая теоретически обоснованную основу для поиска.
  2. насыщение частоты слов:: BM25 учитывает уменьшающуюся предельную отдачу от дубликатов и улучшает качество поиска.
  3. Нормализация длины документа: Алгоритм учитывает длину документа и уменьшает смещение в сторону более длинных документов.
  4. контекстуальная значимость: Генерируя ответ на основе полученной информации, BM25 RAG обеспечивает более точный и релевантный ответ.
  5. масштабируемость: Шаг поиска BM25 эффективно обрабатывает большие наборы документов.

 

Преимущества BM25 RAG

  1. Повышенная точность: Сочетание преимуществ вероятностного поиска и нейронной генерации текста.
  2. интерпретируемость: Механизм оценки BM25 является более интерпретируемым, чем метод поиска по плотному вектору.
  3. Работа с длинными запросами: Отлично справляется с запросами, требующими специфической или редкой информации.
  4. Не требуется встраивание: В отличие от векторных RAG, BM25 не требует встраивания документов, что снижает вычислительные затраты.

 

предварительные условия

  • Python 3.7+
  • Jupyter Notebook или JupyterLab (для запуска блокнота)
  • Необходимые пакеты Python (см. requirements.txt)
  • Ключ API для выбранной языковой модели (например, ключ API OpenAI)
© заявление об авторских правах

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

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

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