10,3 тыс подписчиков
🛠 Что такое RAG?
RAG - это техника, которая повышает производительность языковых моделей путём предоставления модели контекста вместе с вопросом.
Существуют разные подходы к использованию RAG. В некоторых случаях используют две LLM, в некоторые встраивают классификаторы или проводят поиск контекста по базе документов. Зависит от целей.
Мы возьмём самый простой:
Последовательность действий:
Передадим модели информацию о нашем заводе без дополнительного тюнинга;
Создадим базу векторов, где будут храниться ембеддинги ранее заданных вопросов (кэш);
При обращении к модели, будем проверять, задавались ли ранее похожие вопросы. Если да, то отдаём ранее сгенерированные ответы.
Зачем использовать кэш?
🟡Чтобы увеличить скорость ответов для вопросов, которые задавались ранее.
🟡Снизить затраты при использовании платных API (GTP-3.5, GPT-4) для ответов на однотипные и повторяющиеся вопросы.
❓Деконструкция RAG❓
Бывает трудно уследить за всеми стратегиями RAG, появившимися за последние месяцы.
Вот несколько основных тем, с ссылками на доп. материалы:
1️⃣ Преобразование запросов - вопросы пользователей могут быть не совсем удачно сформулированы для поиска.
3️⃣ Построение запросов - Для доступа к структурированным данным естественный язык должен быть преобразован в определенный синтаксис запроса.
4️⃣ Построение индексов - Один из наиболее полезных приемов, который можно использовать, - это разделение: разделите то, что вы индексируете для поиска, и то, что вы передаете llm для синтеза ответа.
4️⃣.1️⃣ Полуструктурированные - В этом руководстве показано, как можно использовать RAG для работы с документами (статьями), содержащими таблицы.
5️⃣ Постпроцессинг - Получив найденные документы, можно по-разному их ранжировать/фильтровать их.
1 минута
23 ноября 2023