TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Интересное что-то

14 Nov 2024, 12:12

Открыть в Telegram Поделиться Пожаловаться

Репост из: Start Career in DS
🦜RAG: Классический подход и современные улучшения [Ч.2]

📖 В прошлой статьей мы разбирали для чего нужны и какую задачу решают RAG-системы.
Сегодня мы перейдем к описанию классических подходов и как они строятся, а также поговорим про более продвинутые техники.

🔍 Базовая архитектура RAG:

❗️Пререквизит:
В своей системе RAG использует так называемые векторные представления — способ представления текста в виде вектора (точки в многомерном пространстве). Чем ближе друг к другу в этом пространстве находятся две точки, тем больше их текстовые представления похожи по смыслу. Это позволяет находить релевантные части контекста, даже если они используют другие слова или фразы.

1️⃣ Чанкинг базы знаний
Чанкинг — разбиение больших документов на маленькие части (чанки). Например, длинный текст книги можно разбить на абзацы или предложения. Таким образом, система может искать ответ в средних отрывках текста и получать более конкретные результаты без потери контекста или его избыточности. Ответы по большим или очень маленьким блокам зачастую ухудшают RAG-систему.

2️⃣ Сохранение векторов чанков в векторную БД
После этапа чанкирования необходимо векторизовать все полученные куски и сохранить их в векторную базу данных для дальнейшего семантического поиска и извлечения наиболее релевантных.

3️⃣ Получение пользовательского запроса и его векторизация
Для того, чтобы сравнивать пользовательский запрос с теми частями, которые мы сохранили в базу данных, нам также необходимо его векторизовать.

4️⃣ Отбор релевантных чанков
Здесь начинается процесс семантического поиска. В RAG-системе вектор пользовательского запроса сравнивается со всеми векторами в БД через какую-либо меру сходства. Куски, имеющие наибольшую величину сходства, передаются на следующий этап.

5️⃣ Передача найденных чанков в генеративную модель
После отбора самых релевантных чанков RAG передает их в LLM, которая генерирует ответ на все тот же пользовательский запрос, но уже с использованием полученного контекста.

🔝 Однако, такой классический подход не всегда даёт должного результата, и в таком случае стоит переходить к более продвинутым техникам и улучшениям:

- Подробная статья про Advanced RAG
- Про хитрости и улучшения RAG на ODS
- Совсем недавний подход от Anthropic по построению контекстного поиска в RAG
- Статья с набором придвинутых техник в RAG
- Серия постов на Хабре про RAG

📚 Ещё дополнительной литературы на эту тему:

- Простое и понятное объяснение RAG
Дополнительная статья про векторные БД
- Advanced RAG [ENG]
- Алгоритм BM25, который иногда используется для поиска в RAG

Обязательно ставьте лайки❤️
До скорых встреч👋🏻

33 0 4
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot