Как стать автором
Обновить

Комментарии 11

Интересная статья!!111

Было бы здорово еще про дообучение моделей написать статью

Спасибо!!!!111

Наверное, одно из самых корректных и доходчивых описаний RAG.

Да, было бы неплохо почитать статью про дообучение моделей LoRA, особенно интересует использование langchain для этого.

Спасибо. Я думаю что Lora для этих целей в RAG - все-же костыль, который связан с тем что модель плохо работает с некоторыми аспектами русского языка, и с выходом новых моделей надобности не будет. Но все равно планирую это описать

Спасибо за статью, написал программу с самостоятельным конфигурированием system message и temperature теперь хочу прикрутить к ней RAG, буду использовать статью как руководство.

Спасибо за отличный обзор!

Поясните пожалуйста насчет RELP. Допустим, есть бот, которому мы задаем вопросы по содержанию некоторой внутренней базы документов: список всех договоров, которые мы когда-либо заключали с партнерами. Например: "Сколько килограмм меда было отгружено Винни П. за 2018 год?" С RAG все понятно: сначала подбираем все фрагменты документов, которые семантически и лексически близики к вопросу, а затем LLM использует их все как контекст для ответа на первоначальный вопрос.

А что же RELP? Из каждого найденного контекста (чанка) мы должны сформировать что-то типа инстракт-датасета на 1-2 вопроса? Попытался найти информацию, но нашел лишь одну статью, где в лишь в общих чертах описано

Relp можно давать не самые релевантные варианты данных с точки зрения содержания, но релевантные с точки зрения подхода к ответу. Соответственно это как миниобучение - мы даём LLM примеры, и надеемся что она догадается как правильно ответить

хорошо, но откуда мы берем эти примеры?) Ретривер (модель первого уровня) подобрал нам 10 контекстов разной степени релевантности. как теперь превратить их в "примеры ответа на вопрос"?

https://github.com/jerichosiahaya/RELP/blob/master/predict/predict.py

Вот пример как это делается, делается всё, естественно, добавляя ещё один уровень абстракции, т.е. с помощью LLM

Спасибо за обзор!

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

1) Память текущей беседы (сессии), с учетом ограничения на размер окна LLM. У langchain даже есть специальные классы для этого, например ConversationSummaryMemory

2) Определение смены темы разговора человеком (когда можно сбросить контекст)

спасибо за статью! Как говориться, стильно, модно, молодежно, :) отличный стиль.
Тема секьюрити как то совсем не упомянута, если нужно поиск делать только по документам, доступным для данного пользователя.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий