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

Быстрый старт
Блокнот
Для детального изучения BM25 RAG можно запустить блокнот Jupyter, поставляемый в этой кодовой базе. https://github.com/adithya-s-k/AI-Engineering.academy/tree/main/RAG/01_BM25_RAG
чат-приложение
- Установите зависимости:
pip install -r requirements.txt
- Запустите приложение:
python app.py
- Динамическое поступление данных:
python app.py --ingest --data_dir /path/to/documents
сервер (компьютер)
Запустите сервер:
python server.py
Сервер содержит две конечные точки:
/api/ingest
: для ввода новых документов/api/query
: для запроса BM25 RAG системы
Ключевые особенности BM25 RAG
- вероятностный поискBM25 использует вероятностную модель для ранжирования документов, обеспечивая теоретически обоснованную основу для поиска.
- насыщение частоты слов:: BM25 учитывает уменьшающуюся предельную отдачу от дубликатов и улучшает качество поиска.
- Нормализация длины документа: Алгоритм учитывает длину документа и уменьшает смещение в сторону более длинных документов.
- контекстуальная значимость: Генерируя ответ на основе полученной информации, BM25 RAG обеспечивает более точный и релевантный ответ.
- масштабируемость: Шаг поиска BM25 эффективно обрабатывает большие наборы документов.
Преимущества BM25 RAG
- Повышенная точность: Сочетание преимуществ вероятностного поиска и нейронной генерации текста.
- интерпретируемость: Механизм оценки BM25 является более интерпретируемым, чем метод поиска по плотному вектору.
- Работа с длинными запросами: Отлично справляется с запросами, требующими специфической или редкой информации.
- Не требуется встраивание: В отличие от векторных RAG, BM25 не требует встраивания документов, что снижает вычислительные затраты.
предварительные условия
- Python 3.7+
- Jupyter Notebook или JupyterLab (для запуска блокнота)
- Необходимые пакеты Python (см.
requirements.txt
) - Ключ API для выбранной языковой модели (например, ключ API OpenAI)
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...