Comments 45
Для визуализации компонентов и создания RAG, лично для себя нашел удобным визуализацию и быстрое построение систем в Flowise.

Хостить можно локально.
Весь проект можно переносить (export/import) в JSON формате.
А есть какие то функции для построения ROG или graphrog в микромасштабе? Например у меня вся база данных это 200 записей faq. Если просто их скормить llm, она уже начинает плохо работать. Хотелось бы использовать подход из статьи но без поднятия сложных и тяжёлых фреймворков
"Это может звучать не очень впечатляюще, но на самом деле это огромный шаг вперед. Они буквально могут понять любую чепуху, которую вводят ваши пользователи, и превратить ее во что-то осмысленное".
"Это особенно верно для общедоступных моделей, таких как ChatGPT или Gemini. Они обучены с учётом множества сомнительных политик,". К описываемым в данной работе технологиям RAG это не имеет никакого отношения, т.к. используются локальные данные.
Такое ощущение, что сей труд - плод глюков слабенькой LLM
позволяю
а что по Вашему тут не так?
"а что по Вашему тут не так?"
- а то не так, что Автор не понимает принципы работы RAG, что RAG работает только с локальными данными и процесс обучения "таких как ChatGPT или Gemini " не имеет никакого отношения к работе RAG;
а то не так, что Автор не разбирается в теме и не отвечает за свои слова. А если отвечает, то пусть объяснит конкретно, с примерами как "множества сомнительных политик" мешают работе RAG, какие политики Автор считает сомнительными
Я написал не один RAG и мешали мне не "сомнительные политики", а многое другое.
и что же вам мешало?
Всё, что мешает/затрудняет развёртыванию RAG уже хорошо и подробно описано на Хабре.
Если коротко:
Организационная - запутанная структура исходных данных;
Технологическая - отсутствие небольших LLM, хорошо работающих с нашим языком;
Техническая, она же финансовая - дорогие графические карточки
Вопросы со сложной структурой данных возможно частично снимутся применением графовых RAG. Вопросы технологические и технические со временем, надеюсь, сами собой разрешаться
а почему вы непременно хотите развернуть РАГ локально?
Это не я хочу. Это правила такие, связанные с соблюдением конфиденциальности и актуальности данных. Корпоративные данные не должны покидать контролируемый и защищённый контур корпорации. Надо иметь возможность обновлять БД с режиме реального времени
Ажур private open AI (Azure AI Services)? вообще куча корпораций с вами в США не согласна, это какой то рудимент российского корпоративного мышления что все должно стоять непременно у нас в подвале
"рудимент российского корпоративного мышления" - а это уже не ко мне. Я решаю конкретные задачи по тем правилам, которые сформулированы здесь и сейчас и на остальное абсолютно наплевать. Остальное - словоблудие, не имеющее никакого отношения к RAG. На эти вопросы нет времени и нет желания желания
а кем они вам были сформированы?
Есть такое понятие как ТЗ
хорошо, переформулирую. какого типа компании вам это тз составляют и что там сказано?
"какого типа компании" Извините, не в моей компетенции обсуждать эти вопросы
"что там сказано?" Извините, с Вами прекращаю любой разговор
ответ похож на генерацию слабенькой LLM
Почитал ваш диалог. Вы знаете, тонна крупных российских компаний (ок, министерства и ОИВы/ФОИВы тоже компаниями считаем тут) сейчас (на декабрь 24 ситуация была такой же) старается разворачивать LLM (и использовать РАГи) внутри себя (тот самый подвальный рудимент). Я работал (до буквально последних дней марта) в одном таком министерстве и да, у нас внутри мы подняли Квен, к которому прикрутили РАГ-поиск. Притом, что это министерство в десна обнималось и с ребятами из Яндекса, и с ребятами из Сбера с их GigaLegal. Но вот поди ж ты - в интернет нельзя и все тут, хоть какими бумажками обложись по части соблюдения приватностей. Нельзя. Хоть бери и даже те же платные модели он-премис разворачивай (( Рудимент это или не рудимент - вопрос без вопроса, по сути, об этом вам и написали.
Ну, предположим, рудимент. И что теперь? Зарплату-то платит компания, а не облачный провайдер. И регулирование во многих индустриях есть не только корпоративное, но и государственное - и не только в России. И даже без санкций облако может быть запрещено.
И, кстати, я бы поспорил, дешевле ли облако, чем самохост.
Запрос к джемини флеш стоит меньше 5 копеек (в текстовом чате с историей ограниченной 10 запросами). Ответ приходит очень быстро. Сравнимого по качеству ответа по картинкам у открытых моделей нет даже близко. Локальное решение не только дороже но еще и неспособно дать нужного качества.
Запросы по картинкам - что то типа снимка автомобиля ночью в движении и вопроса какой у нее номер. Бесплатные модели а так же платные аутсайдеры(гига, яндекс итп) очень сильно заметно проигрывают мелкой модельке от гугла(и опенаи).
Интересно, что ни разу не видел, чтобы данные перед ретривалом пропускали через LLM. Так то выходит, что, фактически, LLM только агент вывода, и, если юзер плохо сформулировал запрос, что он не "зацепил" нужные чанки, то, все, никакой LLM не спасет. Как будто бы, если LLMом переформулировать запрос, чистить его от ошибок, разные варианты пробовать, то должно повышать вероятность того, что ретривал нужные данные вытянет (особенно, если пользователь плохо владеет языком, или терминологией сферы)?
Да, как будто можно попросить llm вычленить ключевые слова и пересобрать запрос в более строгой форме
"Интересно, что ни разу не видел, чтобы данные перед ретривалом пропускали через LLM " Если говорить о Базе Данных, то это embeddings.
"если юзер плохо сформулировал запрос, что он не "зацепил" нужные чанки, то, все, никакой LLM не спасет." Иногда в этой ситуации помогает MultiQueryRetriever.
Такая техника тоже существует, это Agent RAG
я видел, и это не редкость. несколько примеров описал тут https://habr.com/ru/companies/raft/articles/791034/
в целом, если отбросить стоимость такого препроцессинга, это хорошая идея
Честно говоря, пора принять закон на планетарном уровне, чтобы запретить PDF формат.
А чем заменить?
А djvu текста ещё поболее будет...
Большое спасибо за статью! Очень интересен ваш взгляд на регулярно попадающиеся запрос: хочу чат-бот, который будет консультировать клиентов на основе данных моего сайта. Сайт обычно - крупный интернет-магазин с десятками тысяч позиций и массой характеристик каждой позиции. Как вы думаете, можно в теории реализовать такой сервис набором имеющихся общедоступных инструментов? То есть по сути порядок примерно такой:
ИИ понимает, чего хочет клиент
Идёт на целевой сайт, идёт нужные данные
Собирает внятный ответ и передает его клиенту
Вроде все просто, но как реализовать п.2 пока не понятно.
А с п. 1 всё понятно??? Завидую!!!!
Это сделать можно, мы неоднократно делали похожие системы. Пункт 2 обычно решается индексированием сайта в векторную базу
А есть пример использования GraphRAG на каком-то реальном кейсе?
есть, тут больше были общие размышления, я планирую написать более техническую статью с разбором
Примером может быть например бот который консультирует по ТК РФ, или налоговому кодексу. В этих документах есть структура, и многие подпункты не имеют смысла вне главных пунктов закона,и здесь важно учитывать структуру при ответах
Как раз думаю как реализовать бота в слак, который был бы обучен по истории ответов в канале. Но в тредах много нерелевантных ответов и кажется, так как там идут обсуждения. Это так? Если да, то как бы вы поступили если была бы такая задача? Может например как то отмечать правильный ответ или типа того, чтобы можно было генерировать эмбеддинги
Поэтому в программе минимум просто по Вики обучить. Ваш материал очень помог в понимании в какую сторону двигаться. Подскажите, какой фреймворк вы бы использовали? Я так понимаю надо всю вики сначала в векторную базу сгрузить и потом как то использовать llm, скормив ей релевантные документы?
LLamaIndex + GPT4o + Quadrant для прототипа. Нерелевантные ответы можно фильтровать на уровне ingestion (черз LLM например, ранжировать ответы по полезности и сохранять только то что имеет смысл), retreival с помошью re-ranking, и на уровне самой LLM при выдаче ответа. В целом LLM хорошо справляется с пониманием какой ответ был полезным
Нужно сделать прототип и итеративно улучшать его, я бы начал с этого. Дополнилельные данные типа вики тоже не помешают.
Можно ли научить нейросеть на документации к программе или API и задавать ей вопросы?
Например сделать специализированную нейросеть, которая ничего не знает кроме того что сказано в документации.
Можете чуть подробнее рассказать, что нужно делать с данными, чтобы поместить их в векторную ДБ? Рубить руками на чанки, вручную размечать и тегать?
И вопрос про версионность и противоречия: есть ли инструменты, которые проанализируют хранилище документов и скажут "тут несколько похожих, но разных документов, посмотри и грохни лишнее, пожалуйста"?
Information
- Website
- raftds.ru
- Registered
- Founded
- Employees
- 101–200 employees
- Location
- Россия
- Representative
- Евгений Кокуйкин
Построение базы знаний компании и поиска документов на LLM и RAG