170 похожих чатов

Всем привет! Хочу решить задачу для Q&A с использованием LLM,

хотел узнать какие подходы для решения уже существуют.
Есть у кого был опыт?
Для контекста, условно есть документ на n предложений (например, конституция/свод правил), и хочется, чтобы модель отвечала на вопрос по документу
Пример:
Вопрос: Я ушел из магазина не заплатив за хлеб, что будет мне за это?
Ответ: Это статья такая-то такая-то, Вам может грозить а, б, в, г итд итп

9 ответов

12 просмотров

Скормите ЛЛМ сам вопрос и простыню документа, с инструкцией: смотри при ответе на вот этот фрагмент

Temirlan- Автор вопроса
Konstantin Galagan
Скормите ЛЛМ сам вопрос и простыню документа, с ин...

На моем железе у меня контекст выше 512 не помещается, боюсь весь документ может не влезть. Слышал про идею, где мы конкатенируем эмбеддинг документа/его частей в инпут с промптом, и потом уже генерим на этой же основе

Temirlan- Автор вопроса
Konstantin Galagan
Скормите ЛЛМ сам вопрос и простыню документа, с ин...

А какая средняя длина документов у Вас была? В токенах, если посчитать, и какой контекст влазил в Ваших экспериментах?

Могу рассказать исходят из опыта работы с эмбеддингами openai, там вроде есть какие модели получше, но не сильно 53 балла против 55. Эмбеддинги в приведенном кейсе вообще не помогут, если вы не хотите сильно раздувать длину промпта. Есть вероятность, что они вообще не будут работать в приведенном кейсе. Вам нужно тестировать. Почему мне видится, что эмбеддинги не ваш подход: 1. статей ук очень много, они довольно длинные и подставлять 6-7 статей в надежде на то, что попадется нужная – так себе. Да и чем больше контекстов – тем хуже они будут находится. 2. «я ушел из магазина не заплатив за хлеб» – эмбеддинги не найдут статьи о краже, они даже не будут знать о том, что хлеб стоит менее 3к рублей. Они будут искать хлеб, магазин и неоплату. Если конкретно говорить о УК и снижать кол-во галлюцинаций, то нужно обучить модельку выдавать вам по описание какие УК подходят, а уже в другую модельку подставлять нужные статьи для ответа. Если такой точности не хватит, то можно попробовать сделать так: модель выдала вам статьи, вы взяли эмбеддинги этой статьи и нашли еще 1-3 похожие и засунули их дополнительно в LLM, которая будет отвечать. Особо не шарю – можно ли дообучить эмбеддинги именно на такой выборке. Т.е. нужен датасет вопрос – статья, в любом случае.

Temirlan- Автор вопроса
Bletusmanov
Могу рассказать исходят из опыта работы с эмбеддин...

Понял, спасибо. Пример с хлебом, наверное был слишком далёким, в реальности будет, что документ это FAQ, и соответственно хочется отвечать по частым вопросам в FAQ, причем вопросы могут быть не самыми очевидными. Правильно понял, по запросу и условной модели классификации будем находить n ближайших статей по смыслу, их эмбеддинг потом будем подавать как контекст для ответа?

Temirlan
Понял, спасибо. Пример с хлебом, наверное был слиш...

Найденный по эмбеддингу текст подаём как контекст

Temirlan
Понял, спасибо. Пример с хлебом, наверное был слиш...

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

Temirlan
Понял, спасибо. Пример с хлебом, наверное был слиш...

Если дадите более четкий пример вашего FAQ, то скажу точнее. Но в таком описании эмбеддингов вам хватит.

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта