Как юристу выбрать правильный вектор для ответа на вопрос с помощью RAG
В этой заметке продолжаю тему, поднятую здесь. Рассказываю, как применять эмбеддинги, в т.ч. в системе RAG, которая позволит получить релевантную информацию из большого документа (например регламента) или базы данных и отдать пользователю, например менеджеру вашей компании в боте, который я надеюсь вы уже сделали по этому гайду ;)
Для примера я взял Единую оферту Сбермегамаркета отсюда. Закинул её в гугл-табличку и с помощью вот этого кода:
получил в правом столбце эмбеддинги каждого абзаца. Результат можно посмотреть здесь.
Теперь все что нужно сделать, чтобы ответить на вопрос по оферте, это найти наиболее близкий к вопросу эмбеддинг и отдать его чатуГПТ. Сделать это можно вот так:
Первая функция получит вспомогательный текст, который мы отправим чатуГПТ для подготовки ответа. Здесь я взял все эмбеддинги косинусное сходство с которыми давало больше 0,8.
Вторая функция непосредственно обращается к чатуГПТ с вопросом, добавляя к нему вспомогательный текст-подсказку, который мы получили выше.
В следующей заметке расскажу как прикрутить эту функцию к боту.
Кому, как и мне, интересно автоматизировать юридические процессы, присоединяйтесь ко мне в телеграме