Pull to refresh
18
0
Дмитрий Скляров @dimasklyarov

Руководитель проектов

Send message

а можно ссылочку на датасет на котором Вы файнтьюнили модель?

К сожалению пока до темы галлюцинаций в LLM не добрался. Занимаюсь разработкой RAG. Извините, пожалуйста, что не могу помочь в этом вопросе.

  1. На мой взгляд, логика "границы" проходит между SaaS и On Premise решением. Если есть возможность иcпользовать SaaS, то конечно нужно брать SaaS (в данном случае Open AI ассистентов) и использовать их, даже не думая изобретать велосипед. НО! Если бюджет не позволяет, или соображения по информ. безопасности не позволяют, или технические ограничения (2 млн токенов, 20 файлов, форматы файлов и т.д.) не позволяют использовать SaaS решение, то нужно садиться и пилить свой собственный RAG и использовать его.

  2. Очень хотелось бы узнать, что у ассистентов Open AI под капотом :). Надеюсь Open AI когда-нибудь оправдает свое название и сделает свой код открытым. А пока я руководствуюсь логикой из пункта №1: "если можно SaaS, то SaaS, если нет, то пилим "свое" решение".

  1. Скорее не убил, а показал на что надо ориентироваться при создании своего собственного RAG. У OpenAI ассистентов сейчас есть свои ограничения. Во-первых, те самые 20 файлов, т.е. нельзя просто взять и закинуть в ассистента сотни файлов с документами, нужно объединять в 20 файлов. Во-вторых, далеко не все форматы файлов сейчас поддерживаются, из моего опыта только docx и pdf. Другие форматы: txt, cvs, xls и т.д. я не смог добавить, выдает ошибку. И в-третьих, размер файла не более 2 млн токенов. Но я думаю, что это вопрос времени, OpenAI конечно же исправится и будет любое число фалов, любого формата, любого размера. И если у Вас не будет ограничения (ни финансового, ни по соображениям информ безопосности), то скорее всего правильнее использовать Open AI, так как это State Of The Art на данный момент.

  2. У меня есть подозрение (по моим практическим опытам с Open AI ассистентами), что ассистент Open AI все-таки грузит весь документ в контекст, когда это возможно. Потому что если в ассистента Open AI загрузить много больших документов, то он начинает в них путаться и выдавать ответы не очень точные. При этом если взять один документ, вырезать из него нужный раздел и загрузить в ассистента, то он отвечает идеально.

Все, что может делать сейчас LLM модель, это предсказывать следующее слово на основе всего предыдущего контекста. Ожидать от модели "разумного" поведения типа: "мне не хватает вот такой-то информации, дайте мне ее и тогда я вам отвечу" на данном этапе не приходится :). Модель - это просто генератор текста, на основе поданного в нее контекста.

Тем не менее, справедливости ради, надо сказать, что ассистенты Open AI хорошо продвинулись в описанном Вами пути. Они (ассистенты) могут вызвать внешние функции если им не хватает информации для ответа. Например, я программировал ассистента, который получает недостающую ему информацию из Интернета. В системном промпте я писал ассистенту Open AI: "Если тебе не хватает информации для ответа, вызови функцию get_info c параметром search_query, в результате ты получишь первые три страницы из поиска Google". И для простейших вопросов типа "какой курс доллара" ассистент вполне справлялся с полученной задачей - запрашивал недостающую ему информацию. Ассистент реально вызывает внешнюю функцию и подставляет в нее разумный вопрос в качестве параметра.

НО! Ассистенты Open AI это произведение искусства, запрограммировать Ассистента несколько сложнее, чем запрограммировать RAG :).

Согласен:

  1. если бы промпт был бесконечным

  2. если бы скорость обработки промпта была бы неограниченной

  3. если бы модель была бы настолько совершенна, что не сбивалась бы с толку, имея в своем промпте кучу ненужной информации

то тогда да, можно было бы в промпт пихать все подряд, главное чтобы там "среди всего прочего" содержалось то, что нужно модели для ответа.

Но, к сожалению, на данном этапе развития ни одно из вышеперечисленных условий пока не выполняется, поэтому нужен RAG.

Да, конечно, входит. У тех же ассистентов Open AI это реализовано вполне грамотно. Если в ассистенте Open AI включен флажок Retrieval и загружены документы, то в тексте ответа ассистента будут ссылки на части документа, которые были использованы при ответе.

Но, по моим наблюдениям, эта фича не прям супер полезная и юзабельная для конечного пользователя. Объясню почему. Когда пользователь ведет диалог с LLM, то он хочет получать информацию именно в режиме диалога, как будто он говорит с реальным "человеком". Т.е. пользователь читает текст ответа и "идет" дальше. Пользователю проще переспросить, если он что-то недопонял или уточнить информацию у ассистента, чем "копаться" в ссылках. Ссылки на документы, из которых была извлечена информация, в каких-то сценариях возможно и будут интересны конечному потребителю, но в массе своей пользователь хочет видеть четкий, понятный и исчерпывающий ответ в самом тексте ответа.

PS. Ссылки на источники в ответе LLM могут быть полезны в первую очередь тому, кто занимается настройкой ассистента, вот ему/ей надо знать ответ на вопрос: "почему LLM так ответила?".

  1. Если мы говорим про ассистентов OpenAI, то в них да, тоже встроен механизм RAG, точнее его в них можно включить. В каждом ассистенте Open AI есть переключатель с названием "Retrieval" его нужно включить, далее загрузить в Ассистента файлы (до 20 штук на данный момент) и ассистент Open AI получает возможность читать эти файлы и извлекать из них информацию. По умолчанию Retrieval в ассистентах Open AI выключен.

  2. К сожалению далеко не все модели сейчас могут получать на вход в виде контекста 128 тыс токенов как GPT-4 Turbo у OpenAI, поэтому всю базу знаний в контекст не "впихнешь" никак. Да и 128 тыс токенов это тоже не панацея, базы знаний могут быть сильно больше по размеру. Поэтому приходится выбирать только то, что релевантно запросу. Кроме того, LLM в данный момент не совершенны и не могут со 100% точностью выбирать из всего контекста только то, что относится к запросу от клиента. Перегружая контекст "лишней", не относящейся к запросу клиента информацией, Вы "провоцируете" модель отвечать неправильно.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Project Manager
From 1,000,000 ₽