Пейджер

🌍 Привет мир! 👋🏻

🌍 Привет мир! 👋🏻

Продолжаем двигаться в сторону понимания AI, уже поговорили про Vector DB, следующее что на слуху когда речь заходит про AI - это Retrieval-Augmented Generation (RAG).

Какую проблему решает RAG

В больших языковых моделях (БЯМ) ответы генерируются на основе предварительно изученных шаблонов и информации на этапе обучения.

✏️ Пример:

Вопрос: На сколько актуальна база у модели ChatGPT 4o ?

Ответ: Моя база знаний обучена на данных до июня 2024 года.

Более того, некоторые модели ограничены данными, на которых они были обучены, что часто приводит к ответам, которым может не хватать глубины или конкретных знаний.

И тут на помощь 🚨 приходит RAG, который использует данные из внешних источников для дополнения вашего запроса, устраняя указанные выше ограничения.

⁉️ Как работает RAG

1️⃣ Пользователь вводит свой вопрос или промпт.
2️⃣ Запрос уходит в Retriever,
который ищет релевантные документы или части информации, с помощью которых в последующем сформируется полноценный ответ от БЯМ. На выходе из ретривера мы получем context.
3️⃣ Сформированный context и user query передается в БЯМ, за счет контекста мы получаем более точный и детализированный ответ, так как response формируется не только за счет уже имеющихся знаний, но и дополняется (Augmented) конкретными подробностями из извлеченного context.

📝 Типы Retrievers

Retriever – это компонент в RAG, который занимается поиском 🔎 и извлечением 📤 релевантной информации.


📎 Sparse Retriever - поиск по ключевым словам.

➖ Основан на методах сопоставления терминов, таких как TF-IDF или BM25.

Как работает
1. Квери пользователя остаётся в текстовом виде.
2. Поиск идёт по индексированным текстам в базе данных (например, Elasticsearch).
3. Находятся документы 📑 с наибольшим совпадением ключевых слов.

✏️ Пример:

Запрос: "Как работает микроволновка?"

Происходит поиск документов, которые содержат слова "микроволновка", "работает", и возвращает их по степени релевантности.


📎 Dense Retriever - поиск по векторным представлениям.

➖ Использует векторные представления текста.

Как работает
1. Квери пользователя превращается в вектор.
2. Вектор сравнивается с векторами документов в базе данных (например, Chroma, Weaviate...).
3. Возвращаются документы с наибольшей схожестью.

✏️ Пример:

Запрос: "Как работает микроволновка?"

1️⃣ Запрос превращается в вектор (например, [-0.12, 0.58, ...]).
2️⃣ Поиск идёт среди документов, у которых похожие векторные представления.
3️⃣ Находится документ "Инструкция микроволновки...", даже если там нет точного совпадения слов.


📎 Hybrid Retriever - гибридный поиск

➖ Комбинирует Sparse Retriever и Dense Retriever.
➖ Используется для улучшения качества поиска.

🚀 Типы контекста который формирует Retriever?

👉🏻 Структурированный -
организованный набор данных, например JSON.
👉🏻 Неструктурированный - обычный текст из статей, документов, чатов.
👉🏻 Векторный - представляет информацию в виде векторов.

Где применяется RAG

RAG применяют везде, где нужно точное и актуальное извлечение данных + генерация осмысленных ответов (медицина, юриспруденция, финансы и др.) .

👎🏻 Недостатки RAG

1️⃣ Зависимость от качества поиска - если поиск извлекает нерелевантные или устаревшие данные, ответ модели будет неточным, модель может придумывать (галлюцинировать) ответы.
2️⃣ Снижается скорость - RAG требует выполнения поиска + генерации, что делает его медленнее, чем обычные LLM-ответы.
3️⃣ Ограниченный контекст - у LLM есть лимит на длину контекста, поэтому длинные документы могут усекаться или обрабатываться не полностью.

💬 Делитесь своим мнением в комментариях👇! Если вам понравилась статья, не забудьте поставить лайк! 👍

#AI
Медиа 1
Хотите больше таких постов?
Подпишитесь на канал и читайте продолжение в Telegram.
Подписаться на @ivanchikovitclub Открыть пост в Telegram