Узел дня. Разбор ВСЕХ нативных узлов в n8n - https://web.tribute.tg/s/FwG
https://t.me/vladimir_kkkkk - телеграм канал (смотрите закреплённый пост)
Ищите материалы к роликам в тг по названию видео
Приватка закрыта!
---------------------------------
Polza AI - https://polza.ai/?referral=n9Nii7iXEs&utm_source=blog&utm_medium=cpc&erid=2VfnxxkPc2U
n8n - https://n8n.partnerlinks.io/9f51nckey33z
beget - https://beget.com/p2340235/cloud/marketplace/n8n
В этом видео я, Владимир Карпухин, покажу как быстро настроить GraphRAG и кардинально повысить точность ваших ИИ агентов. Многие избегают GraphRAG, считая его слишком сложным, но я докажу обратное и научу создавать граф знаний в LightRAG за несколько минут. Разберем почему GraphRAG намного эффективнее обычного RAG - вместо разрозненных чанков, которые теряют контекст, GraphRAG работает с сущностями и связями между ними, как человеческая память. Изучим мощную open source платформу LightRAG для создания графовых баз данных, покажу как загрузить документы и подключить к вашему ИИ агенту в n8n. Объясню принципы работы Graph database на практических примерах и покажу сходство с методом Zettelkasten в Obsidian, где заметки связаны между собой и рождают новые идеи. Сравним Microsoft GraphRAG с другими решениями и рассмотрим возможности Graphiti от Zep AI. Этот полный гайд n8n для работы с графовыми структурами данных решает главную проблему обычного RAG - потерю контекста при разбивке на чанки, ведь Graph database сохраняет связи между данными, что критически важно для точных ответов ИИ агентов. Покажу пошаговую установку LightRAG на сервер и настройку поиска в графовой базе данных. Практический туториал без воды - только работающие решения для ваших проектов с искусственным интеллектом, которые помогут создать по-настоящему умных ИИ агентов с улучшенной памятью и контекстом!
00:00 - Сделай ИИ агента в 10 раз умнее с помощью GraphRAG (n8n)
02:42 - Как работает Graph dB
09:45 - Какие есть Graph RAG фреймворки
16:52 - Как работает поиск в LightRAG
19:10 - Обзор на LightRAG. Загружаем документ
26:58 - Как работает загрузка документов в LightRAG под капотом
30:38 - Режимы и настройки поиска в LightRAG
40:15 - Подключаем LightRAG к n8n
45:58 - Устанавливаем LightRAG на сервер
55:20 - Обычный RAG больше не нужен?
Оглавление (10 сегментов)
Сделай ИИ агента в 10 раз умнее с помощью GraphRAG (n8n)
GraphRAG - это один из лучших способов повысить точность ваших ИИ агентов. Однако многие избегают GraphRAG, считая то, что он слишком сложный для настройки. В этом видео я покажу, как быстро создать граф знаний в GraphRAG, загрузить туда документ, подключить его к вашему и агенту в n8n и сделать всё это за несколько минут. Мы будем использовать open source платформу LightRAG. А ещё я расскажу, почему GraphRAG лучше обычного RAG. План видео такой: мы разберём, что такое GraphRAG, что такое графовые базы данных, что такое LightRAG, как работает LightRAG, как подключить LightRAG к n8n и как установить LightRAG к себе на сервер. И очень много промежуточной информации, которая тут не записана. Поехали. GraphRAG - это новый уровень Retrieval Augmented Generation, то есть обычного RAG. вместо разрозненных чанков тут сущности entities и связывающие их рёбра либо отношения relationships. Всё-таки будем использовать, наверное, relationships терминологию она прикольнее. Как работает обычный RAG? Наверное, вы это помните, но я всё-таки напомню. Текст попадает в embedded модель. Кстати, это может быть и изображение в целом, ну, неважно. Потом embedded модель преобразует наш текст в векторы. Этот вектор запрыгивает в векторную базу данных, где уже предварительно загружены наши данные. он сравнивается с векторами внутри. И мы видим то, что вот наш вектор, например, похож на вот этот вектор, да? Вот я специально это отобразил, нарисовал, старался. Он подтягивает вот этот вектор, получается, для ответа, в котором содержится какая-то информация. Ну, там какая-то инфа, короче, достаётся, и это всё запихивается потом в контекстное окно LLM нашей нашего ИИ агента, который нам впоследствии отвечает. Это всё было в полном гайде на RAG. Можете посмотреть. Отличное видео, советую. Вот тут подсказка где-то будет. Там очень подробное объяснение на 2 часа ролик. Вот так оно работает. Но у этого подхода есть существенное количество изъянов, да? Какие тут есть изъяны? Контекст. То есть когда мы разбиваем наш текст на чанке, загружаем его в векторную базу данных, не на этом этапе, а когда мы вот наполняем нашу векторную базу данных, у нас есть проблема, то, что, э, мы берём текст какой-то наш документ, и он разбивается на отдельный, на много маленьких отдельных фрагментов, которые потом и преобразуются вот в эти вот вектора. И проблема в том, то что там теряется контекст. Это выходит всё как отдельные несвязанные чанки. Есть, конечно, способы сохранить этот контекст. Про это я тоже рассказывал в том ролике. С помощью там модели загрузить весь документ и дописать каждому чанку дополнительно контекст помимо основного информации, которая в нём содержится. Но это не всегда помогает. GraphRAG работает сильно эффективнее. И сейчас вы поймёте, почему по ходу этого видео. Для начала разберёмся,
Как работает Graph dB
как работает граф Database. Пока что не GraphRAG, граф Database, это разные вещи, это тоже важно. Граф database работает следующим образом. А в классическом rec у нас просто отдельные несвязанные вектора, а тут согласно терминологии сущности entities и отношения relationships. Вместо отдельных несвязанных чанков у нас есть сущности и отношения между ними. Вот relationships или рёбра. Как это работает? Вот, например, есть сущность, которую выделила исходя из нашего документа. Мы загрузили документы, и документ сам как бы, а, распарсился, разоединился на вот такие вот сущности и отношения между ними. Рёбра, допустим, у нас есть сущность вот Володя, да, какой-то там был условно текст, например, у нас был текст типа, а, Володя снимает ролики на YouTube, ну, там, короче, продолжается информация, типа какой-то был сплошной текст, допустим, просто текст, как книга или ещё что-нибудь, просто там статья какая-нибудь. И эта статья разбивается на такие вот чанки. Не чанки, а сущности и отношения. Вот у нас Володя, он снимает ролики на YouTube. А YouTube - это проект компании Google. Google есть GM. GM Google. Как связано? То, что GM - это проект компании Google. LM - это GMY. LM - это Open AI. То есть и Open AI, и G являются лмками. Потом а у Open AI есть канал на Ютубе. Open доступен в NVC MAN. Володя пользуется NVC Man. N8N доступен в Gmini. Ну, наоборот, Gmini доступен в NN. То есть, вы понимаете то, что при таком способе записи информации у нас гораздо больше контекста. И вы понимаете то, что если Лэмка будет его использовать, она будет гораздо лучше отвечать, потому что, ну, если вы опять же посмотрите видео про рег, вы поймёте то, что он работает не настолько эффективно, то есть это более разрозненная база данных. Ну, это более разрозненный способ, скорее не база данных. Здесь уже это nextле level, то есть должно работать эффективнее в теории. И оно по факту и работает эффективнее, потому что вы видите то, что есть сущности и есть связи между ними. То есть у модельки гораздо больше информации, гораздо больше контекста будет из-за этого. Это понятно, это база, это нужно понимать, как оно устроено. Интересный момент. Это похоже на зитель castin в обсидиане. Вот написано демонстрация в обсидиан. Кстати, видел на Ютубе, давайте пока проть не будем. Вот демонстрация в обсидиане. Я приближать не буду, чтобы не палить свои заметки. Смотрите, как работает обсидиан. Это не ролик про обсидиан. Это просто дополнительное объяснение, чтобы вы лучше понимали, о чём речь. Обсидиан - это такая штука, которая работает на основе метода зтелькастин. Зителькастин придумал этот Николас Луман, его, по-моему, звали какой-то там немецкий мужик, который придумал способ записи заметок. То есть, короче, вместо разрозненных заметок он придумал способ записи, когда вы каждую заметку объединяете с другими заметками. И благодаря и благодаря этому вы можете там находить необычные связи, да, между заметками, и за счёт этого у вас рождаются какие-то новые там прикольные идеи, да. Ну неважно. Если вам интересна эта тема, посмотрите ролики про обсидиан, их огромное количество. Но прикол в том то, что граф R, графовые базы данных, они как бы по сути похожи на обсидиан. То есть вот есть, допустим, а заметка система продуктивности, есть связаны с ней заметки. Вот, например, вот достижение за жизнь у меня есть заметка. И это всё связано с другими заметками определённым образом. И благодаря этому находятся там необычные связи и так далее. То есть это вот по сути наши сущности, это по сути наши entities и это ещё о сущности. Только в обсидиане вот entities не записаны между ними отношения никак. А интересный момент, да, то, что я на Ютубе видел реализацию graf на основе Obsidian. То есть когда берут заметки в обсидиане, просто есть определённое количество фанатов обсидиана, огромное количество. У них там просто лютые какие-то базы знаний в этом обсидиане, огромное количество заметок. Чтобы по ним быстро всё искать, можно реализовать графрек на основе данных обсидиана и быстро искать информацию по вашим заметкам с помощью ламки. Ну, это всё локально разворачивается. Если интересно, погуглите. Это всё к чему? Граф RК больше похож на человеческую память, чем обычный кг. Именно поэтому он более точный и более прикольный. Ну, потому что это действительно похоже на память. Потому что в нашей памяти нету как бы отдельных чанков не связанных, которые там между собой не связаны. Тавтология. А вот это больше похоже на память. То есть у нас есть какие-то детали, да, например, там город какой-нибудь, там город Лондон. Какие у вас с ними ассоциации? Чай. Почему чай? Вот титис получается. Сущности Лондон, сущности чай. То есть это не просто две отдельных данных, типа вот Лондон, вот чай. То есть у вас между ними вот такая вот связь проходит, типа потому что англичане любят чай. Вот, например, так как тут и отображено в целом. Я просто сериальчик Джентльмены посмотрел. Вот вчера досмотрел Гаричи, вот что-то вспомнил. Ну и вот дописываю, да, то, что граф Рг не теряет контекст и работает значительно эффективнее обычного РГ. К сожалению, просто контекстуализацию сделать, как я показывал в ролике прог, это не так эффективно, но это не значит то, что надо забывать прог. Об этом я в самом конце видео скажу. Просто вот спойлер небольшой. И вот такой важный момент, то, что граф RК не равно граф Database, потому что графрек - это готовое решение, в котором используется игра в Database. И там ещё используются лэмки. Сейчас я попозже об этом расскажу. И лэмки вы можете там выбрать, да, например, вы можете выбрать lлэмку, пользу AI. Вот у меня плавная интеграция. Польза AI - это аналог Openроутера. Здесь, ну, как вы понимаете, да, единый API ключ, через который доступно вам всё. Этот у меня аккаунт, которым я не пользуюсь, огромное количество моделей и LLM модели, да, но разница сроутером в том, то что на роутере там только лэмки, а здесь не только лалэмки, тут ещё вот генерация видео, генерация изображений, скоро появится генерация аудио, то есть всё подряд, очень много всего через единый опя ключ. Это удобно. Преимущество ещё в том то, что здесь, как видите, оплата за рубли, вот за миллион токенов. Цена написана в рублях. То есть вам не нужно конвертировать деньги, платить дополнительно за конверсию валют. И здесь ещё дешёвые цены относительно конкурентов. Здесь вам не нужен VPN, чтобы им пользоваться. Допустим, у вас сервер стоит в России, у вас не будет никаких проблем с подключением, если у вас сервер в России стоит, потому что есть провайдеры как раз, да, вот, например, у Кохir провайдеer, по крайней мере, когда я тестил, они не работали с российскими серверами. А вот тут доступен. Здесь вы можете взять российский сервер обычный и подключить к нему коух через пользу AI. Ссылка в описании. Можете перейти, попробовать протестировать, да, а потом пользоваться. Но внутри граф RG используется граp database, например, Neo 4J. По-моему, это самая популярная граф Database. Graph RG - это не граp database, по сути. Вот это я показывал устройство граp Database именно пока что не только graph RG. В основе graph database нет векторов, оно по-другому работает. Вот тут нет векторов, оно работает по-другому. Но граф RG, в свою очередь, он сочетает в себе и вектора, и графовые базы данных, и поиск по ключевым словам. То есть там много всего. Сейчас расскажу про это. Переходим теперь к следующему.
Какие есть Graph RAG фреймворки
Есть разные graf фреймворки. Я выделил эти graph Microsoft, LightR и Graffity Zap AI. Сейчас скажу, почему я их выделил. граph raг фреймворки - это готовые решения. Нам не надо ничего выстраивать, как мы делали в обычном RG. Их можно развернуть на своём сервере и подключиться по IP. И это и именно это мы и сделаем вот с этим Light R чуть попозже. Смотрите, вообще, а популярность GРG как таковых началось с вот этой штучки, с GH RG от Microsoft. Graph R от Microsoft - это супер такая сложная, тоже крутая, как это даже назвать. Ну, короче, это фреймворк, супер сложный крутой фреймворк. Там поиск работает очень мудрёно. Вот смотрите, у меня тут всё записано в целом, зачем я вам рассказываю. Graf R Microsoft - это база, самый популярный graph Rwork. Он точный, но медленный и дорогой, и это правда. Используется гибридный поиск. Там используется поиск по графу, как я говорил, вот здесь вот. Потом используется поиск по векторам классический и поиск по БМ25 - это тоже, короче, вектора. Можно, ну, можно сказать по ключевым словам поиск. И вот у меня написано: "Покажипо". Показываю Repпо. Вот оно репозиторий. Репозиторий Graph R от Microsoft. То есть можете им воспользоваться, если вы шарите, как это сделать. Почему нет? Едем дальше. Light R быстрее и дешевле, чем GPH RG. У него есть нормальный UI user interfейс. Используется гибридный пояс граф плюс векторы. Он выглядит вот так. То есть вот репозитории Лайтрега. Это, как я считаю, самое адекватное решение среди фреймворков граф RG. Вот смотрите, да, как прикольно написано. Второе место репозитории of the day на GitHub, то есть очень популярная штука, очень прикольная тема. Мы его и будем ставить, и, например, его я буду всё показывать. И есть ещё графити от Zep AI, тоже быстрый и дешёвый, заточен под меняющиеся данные. Используется гибридный польз, граф плюс векторы. Есть ещё Zap Memory. О, он вообще на первом месте repositor of the day. Прикольно. Чем он отличается? Вот давайте вот вкратце расскажу. А Light R - это самое популярное решение, наверное, для NV, потому что там есть нормальный usеer интерфейс. Это вот то, с чего стоит начать вообще погружение в тему Graf. Именно его мы и будем разбирать. А GF RК от Microsof он там нету юзер интерфейса нормального, он большой, дорогой и так далее. То есть не всегда имеет смысл его использовать. Графити от Zep AI - это прикольная штука. Смотрите, на основе этого фреймворка работает память в Zap AI. Сразу говорю, сейчас эту память убрали. Вот смотрите, память удалили. Zap Memory, помните, была раньше память, а у и агента Zap Memory. Что это такое? Ну не знаю, вы, наверное, внимание не обращали вообще. Ей всё равно можно воспользоваться. Просто это нужно делать через HTP реквест. Раньше оно было доступно прямо сразу вот в N8. Часто убрали. А Zep Memory - это такая штука, которая работает на основе графити фреймворка. То есть это, короче, память для Е-агентов, которые используют граф RG. Там так работало то, что вы общаетесь с вашим иагентом, и он вместо того, чтобы обычно записывать а его ответ и ваш вопрос, он записывал это всё в графовую базу данных. И это всё прикольно выглядело, то есть гораздо лучше использовалось. И вместо разрозненной памяти агент помнил о вас более ключевые вещи. То есть он гораздо лучше понимал, кто вы и так далее. Чем вообще примечателен граффити? Light понятно, чем примечателен. Microsoft Gphre тоже понятно, чем примечателен. В чём прикол графити? Почему я эти три выделил, хотя есть и другие? А граффити отлично подходит для меняющихся данных. Как это работает каждой сущности и к каждому вот связям relationships, он, короче, записывает вот временную метку, когда это было сделано. Общаетесь с вашим чатботом, к которому подключена память Z Memory и говорите, типа вот как здесь показывают пример, то, что Кендра любит Adidas Shз. добавлено вот там 2024 сентября, потом у неё Adidas шус, Adidas кроссовочки ломаются. И это всё учитывается в памяти, то, что она теперь их не любит. Вот есть Кендра, есть Adidas Shots. Между ними связь, то, что она их любит. Вот как тут показано, когда они у неё ломаются и она перестаёт любить Adidas Shз. В графите, в этом фреймворке Gphrex, сохраняется как бы вся информация о том, что Кендри сначала нравились Adidas Shoes, а потом они сломались и перестали ей нравиться. То есть, видите, более объёмная инфа вместо того, чтобы а вместо того, чтобы просто обновить эти данные и написать типа Кенry нравится Adidas Shot или Кенry не нравится Adidas Shots. То есть здесь более объёмная информация сохраняется, и это очень круто. Вот поэтому графити примечателен. Вот я записал, можно ли поставить ZП локально. Zap. А это речь именно про память для агента. Короче, эта память для агента, она работает на основе фреймворка граффити. Это немножко разные вещи. А память для агента - это более готовый продукт. Можно ли поставить ZП локально? Я спросил у Пепleксиity. Он мне говорит то, что раньше можно было, но с 2025 года августа локальный выпуск официально снят с поддержки больше не предоставляется. То есть они сейчас работают только в облачной версии, только платно за деньги. Раньше можно было ставить его локально к вам на сервер. Это, конечно, грустно. Если вас эта тема интересует, могу снять отдельный ролик про граффити, про граф R от Майкрософта, но тут мы будем разбирать именно Light RG, потому что это идеальное начало для погружения в тему GРG. Очень коротко покажу, очень упрощённо, как работает поиск по GF RG. А запрос пользователя идёт в векторную базу данных, то есть обычный векторный поиск, и в графовую базу данных. Оттуда достаётся контекст, оттуда, оттуда это всё попадает в M и в ответ. То есть используется и та, и та база данных. Это очень упрощённое объяснение, потому что вот каждый из этих граф Rрег фреймворков работает по-разному. Здесь вообще супермудрённая система. Здесь попроще, и я расскажу подробно, как он работает, потому что его мы и разбираем сегодня. А в граффите, ну, тоже там своя система по-другому работает. На самом деле каждый из них реально работает по-разному. Но вот очень упрощённая тема, как в целом работает graph raг. Вот примерно так. Суть в том то, что GPHR Graph Reg - это общее название для всех Graph Reg фреймворков, то есть и для Graf Microsoft, и для Light, для графти, и для прочих. Что их объединяет вообще, эти грак фреймворки? Это то, что это готовые решение. То есть это какая-то готовая система, которую вы ставите к себе на сервер или на компьютер. Они все онрourсные, то есть с открытым исходным кодом, как я показывал на гитхабе, они доступны репозитория. И вы можете ими пользоваться. Это готовое решение. Это не то же самое, что мы делали с обычным, потому что там мы сами выстраивали, мы там сами разбивали начанки, сами загоняли это всё в embedла векторы, и потом только мы в готовом виде уже загружали это всё в векторную базу данных, да, например, в квадрант. А это сразу готовое решение. Вы, конечно, можете строить графрек фреймворки самостоятельно, там вво тоже это делать, но, откровенно говоря, это бессмысленно абсолютно. Это всё-таки делают такие опытные разработчики, то есть это не так-то и просто сделать. И в Nosmann это нормально работать не будет, поэтому лучше пользоваться готовыми решениями. Так как нормальный UI user интерфейс есть только в Lightrack, его и будем
Как работает поиск в LightRAG
разбирать. Как работает поиск в Lightrack? Смотрите, это именно про Lightтрек идёт речь, не про всё остальное. Там по-другому работает, но схожести есть, их много между другим, между Lightтрек и там между Lightтрекграфрек и граффити. То есть а есть много схожестей по тому принципу, как они работают. Можно сказать то, что, ну, вот и те, и те точно используют поиск по векторной базе данных и по графовой базе данных. Lightrack использует двухуровневый поиск. Допустим, мы спрашиваем вопрос: что такое fтюнинг и как его применять в N8N? Можно ли фантюнить не только LM, но и Vision модели? Чтобы поиск был эффективным, он извлекает локальные ключевые слова. То есть, например, ну вот смотрите, fтюниing, fтюниing, N8N, LLM, LM, Vision модель, Vision модель. То есть он извлекает локально ключевые слова и делает поиск по локальным ключевым словам. А ещё он делает извлечение глобальных ключевых слов, то есть даже не слов, а скорее тем, да? То есть о чём тут идёт речь? О файнтюнинге. Какая-то тема до обучения нейросетей. О чём тут ещё идёт речь? Применение в NV. Какая-то тема код инструменты, да? Потому что NV - это, ну, no cД, lowcд инструмент. Извлекает локальные клю ключевые слова и темы, о которых идёт речь. Короче, благодаря такой системе поиск получается наиболее эффективным, потому что лучше оно ищется, как бы не тупо вектора сравниваются и не тупо ключевые слова. Оно ищется более мудрёно, более как-то грамотно, что ли. И вы можете подумать, понятно, как работает это. просто извлекаются ключевые слова. А как он делает вот это? А как он из этого текста понимает то, что тут речь идёт про обучение нерастей, проуинструмент? Где тут об этом речь? А понимает это он за счёт того, то что внутри каждого графрек фреймворка и внутри lightрек в том числе находится ll. Мы будем там подключать специально, давать наш API клей клюй, давать наш IPI ключ там ко либо к любой другой нейронке. Короче, это работает благодаря тому, что есть внутри LLM, которая из этого текста выделяет темы или глобальные ключевые слова. Вот их можно ещё так назвать. Думаю, это понятно. Текст загоняется в lm. LM там написан сразу системный пром заранее. И она вот делает следующее. Практика
Обзор на LightRAG. Загружаем документ
Light R. Обзор на UI. Загружаем документ, тестим поиск. Подключаемся к NN. Ищем через N8N. Смотрите, Light R. Вы заходите на главную страницу, смотрите, что тут в интерфейсе. Здесь у нас отображаются загрушенные документы. Самое главное, четыре вот вкладки: Documents, Knowledge, Graph, Retrieval и API. Documents. Здесь у нас отображаются наши документы, которые мы загружаем. Тут у меня загружено три документа. Сейчас я их удалю. Будем всё заново загружать. Вот всякие штуки типа all completed, то есть те, которые успешно загружены. Processing, которые в процессе. Paending failed. Ну, понятно. Есть ещё clear. И upload - это как раз, чтобы загрузить новый документ. А теперь knowledge graf. Здесь у нас сама наша вот эта вот knowledge graph, то, что я показывал, вот это вот нам показывается в удобном виде, как оно работает. То есть у нас вот всякие значения, да, вот, например, N8N, он связан с rer model, с fтюнингом, да, например, на каждого мы тыкаем, а у каждого есть ID, у каждого есть properties, есть description. Вот можно вот сюда нажать его поменять. То есть объяснение здесь оно всё записывается на английском языке. Это я загружал своё видео транскрипт на русском языке. Тут есть, ну, то есть это получается entities сущности, это relationship связи. И вот они тут тоже записаны. Вот видите, relationships if subgraph, то есть, короче, тут всё учитывается. И вот показано оно с чем связано, то, что это с ранмоделью, сраate и прочим. Можно вот тут открытие репозиторий на Гитхапе. Можно здесь логат сделать, потому что мы логинились. А здесь можно поменять язык на китайский, французский и тему на тёмную. Ну, лучше светлую. Она мне тут больше нравится. А здесь это всякие штуки просто чтобы вот, чтобы поворачивать там граф, чтобы приближать, отдалять. И настройки тут всякие есть, типа отображение, как-то отображается. Это не так важно. И поиск это понятно. Это чтобы просматривать ваш knowledge graph. Есть retrieval, то есть эта штука. А вот я тут запросы делал по своим видео. Эта штука, чтобы искать, ну, в документе, который вы загрузили в вашем Knowledge graphia. Здесь есть всякие настройки, сейчас мы их разберём. И тут есть API, получается документация для того, чтобы выводить и подключаться через API. Удобная документация, чтобы там сильно не запариваться и подключить это всё там к Nema, например, да, тоже нам пригодится. Давайте по порядку. Для начала я всё удалю. Вот нажмём, наверное, clear. Всё, удаляем вообще всё, что тут есть. Готово. Теперь knowledge graph, мы его обновляем. Всё, он, видите, стал пустым. И что тут можно сделать? Можно загрузить новый документ. Специально для этого я подготовил, только что обновил этот MacOS, ужасный дизайн. Подготовил, короче, вот такой вот файлик. Вот это, короче, транскрипт моего ролика про MCP. Нажимаем upload. Здесь можно загружать вообще самые разные данные, но только текстовые. Тут не работает изображение. То есть, видите, тут формат SQLT, XT, LS и так далее. Загружаем данные. Вот он captions SB. SB, а, unsupported файл показывает. SB он не поддерживает, но мы можем его переименовать просто в текста, он всё равно будет работать. И загрузить его. Нажимаем captions, выгрузить. И смотрите, что происходит. Всё, получается, upload successfully, он загрузился. И теперь происходит процессинг. И тут можно видеть pipeline статус. То есть наш документ происходит с некие с ним взаимодействия некие и некое извлечение чанков происходит. Сейчас про это подробнее поговорим. Про это подробнее поговорим. Для начала я покажу просто, как это работает. Вот у нас чанки извлекаются. Что-то происходит. Чанк 18 19. Короче, он выделил из них 26 чанков. Выделил в каждом чанке сущности entities и relationships. Вот relationships. Таким образом, вы можете загружать сюда вообще что угодно, там книги и прочее. и взаимодействовать с этим, чтобы было круто, чтобы загрузить книгу и с ней там общаться. Да, всё complet, оно загрузило. Заходим в knowledge graf, нажимаем на эту штучку, на звёздочку нажимаем, да, и обновляем. Всё, у нас появилась, а, вот видите, новые данные. То есть я просто загрузил документ с транскриптом про то, что такое MCP видео, ну, всего, да, ничего не делал, и он сам его разбил на чанке, сам произвёл всё, что надо, сам создал ти сущности и relationships и сам связал всякие понятия. И теперь смотрите, что мы можем. Можем зайти в Retrieval, нажмём Clear, чтобы убрать, и напишем что-нибудь. То есть ролик был про MCP. Давайте посмотрим, как он ищет. Ну, напишем MCP. Это что? MCP model context протокол - это многофункционально клиент серверной системы. Общее понятие, оно могло быть просто внутри памяти лэмки. Чтобы убедиться то, что он это взял именно из наших данных, можно сделать следующее. Например, кто такой Лев Толстой? И он сейчас нам скажет, что он не знает, кто такой Лев Толстой. Вот видите, у меня нет достаточно информации. То есть понятно то, что эти данные есть в Лэмке, но тут мка заточена таким образом, что если она не подтягивает вот референсы данные, то она не отвечает на этот вопрос. То есть она отвечает только на основе данных. Тогда спросим следующее. А по-любому видео про MCP я говорил что-то про то-то, что не знает обычная Неронка, чтобы понять, что он именно на основе моего видео отвечает. Давайте вот про Telegram что-нибудь спросим. Что знаешь про Telegram? Telegram - это платформа для обмена сообщениями, которая используется для поиска и доступа к обучающим видео по узлам в Nem. Сю помощью пользователи могут находить обучающий контент, связанный с различными компонентами N8 и настройками. Короче, понятно то, что я рассказывал там про свою приватку видео, он оттуда взял эту информацию. Ну и про общий ТГ канал. Ещё давайте про что-нибудь спросим. Clopп. Это он сейчас скажет, что CLД desktop - это штука, чтобы подключать что-то с MCP. Наверное, программное обеспечение, которое часто используется благодаря более выгодным лимитам на использование токенов по сравнению с MCPI. Оно обеспечивает удобный интерфейс. То есть это именно то, что я говорил в ролике про MCP. можете глянуть, да, и убедиться в этом. То есть я говорил то, что clд des дектоп, вот видите, он даже его написал неправильно, потому что оно так записано в сущностях, отвечает на основе данных из видео. В данных, которые созданы на основе транскрипции видео, говорится о том, что Clot des десктоп - это штука, которая там часто используется благодаря более выгодным лимитам на использование токенов по сравнению с MCPI. Ну то есть да, именно про это я там и говорил. То есть понятно, что он отвечает именно на основе нашего вот этого документа, который мы загрузили. А, смотрите, сразу хочу отметить то, что когда вы здесь загружаете новый документ, он не создаётся в отдельном пространстве, он подгружается сюда же. Из него тоже извлекаются сущности и связи. И они они просто добавляются здесь и связываются вот с текущими сущностями или связями. Вот тут есть уже сущность под названием NV Man Cloud, да, допустим, есть ролик, где я говорил про Nem Cloud. тоже я его сюда загружу, из него выделятся сущности. Одна из этих сущностей будет Envoice MC Cloud, и оно свяжется уже с текущей сущностью Envo Cloud, скорее всего. Ну, единственный минус, то, что оно всё записывается на английском, то есть lolмка обрабатывает тут внутри лайтрега на английском. Как видите, тут вообще ничего сложного нет. Вы просто загрузили документ, он сам распарсился, и тут просто есть поиск, потому что это готовое решение. Не нужно ничего строить, городить, просто развернуть его на сервере. Сейчас попозже расскажу, как. Ну, то есть, да, если вы, короче, загружаете документы, они будут добавляться сюда же, в единое пространство и связываться уже с тем, что есть внутри. Как-то так. И вы создаёте единую такую большую базу знаний. Мы убедились, это очень простой способ. Нам не нужно, как делать в обычном рек, разбивать начанки, загружать это туда, чтобы он на основе этого искал. А как вообще работает загрузка документов в Light? Опять же, тут речь
Как работает загрузка документов в LightRAG под капотом
именно про LightРC, не про все графрек подряд, не про графрек от Microsoft, не про Графти, а именно про Lightrack. Мы загружаем наш документ. Происходит следующее. Сначала идёт фильтрация, то есть удаляются там лишние пробелы и прочее, чтобы документ был более подготовлен для разбиния начанки. Профильтровался, потом он разбивается на чанке. Так же, как в обычном рег разбивается на отдельные чанки, но пока что не векторизуется. Потом он векторизуется, как в обычном и загружается каждый отдельный вектор в векторную базу данных. То есть внутри light reg отдельный элемент есть. Это классический наивный. То есть это там тоже есть, потому что, как я говорю, это готовый, это фреймворк, это готовое решение. Не надо ничего там строить. Там внутри используется много разных поисков. Да, сейчас узнаете про это. Одно из что происходит - это наш документ. Просто как в обычном рек загружается в векторную базу данных. Но вместе с этим, после того, как наш, а, документ разбился на чанке после фильтрации, из него происходит извлечение сущностей и отношений. Как раз вот эти вот штучки извлекаются. Вот они, сущности и отношения. Потом происходит объединение. Объединение - это когда, допустим, вот я говорю, загружаем два документа и в одном и том же документе, допустим, шла речь про N8N Cloud. И это значит то, что N8NC эта сущность уже как бы существует. И чтобы она не была два раза создана, происходит объединение, то есть удаление дубликатов и так далее. То есть объединяются сущности, объединяются отношения. Вот. Потом получается это выгружается граф database в графовую базу данных. То есть у нас уже есть данные в векторной базе данных, есть в графовой базе данных. Но ещё наши сущности и связи и сущности и связи отдельно тоже через bed модель преобразуются векторы. и тоже загружается векторную базу данных. То есть, смотрите, что получается. У нас есть одна векторная база данных для классического REG, именно сущностей связей от векторизованных, и есть графовая база данных, которые загружены просто сущности и связи. То есть вот так это устроено, вот так устроен Light Rрек. Как я говорю, другие фреймворки, графити GF R, они устроены по-другому. Вот грак устроен ещё более сложно, к примеру. Ну, из-за этого он и дороже, и медленнее, потому что внутри там тоже лэмки используются много раз. Ну, и так далее. Это всё можно просмотреть в pipйeline стаatтус. Мы только что загружали, я вам показывал вот pipйeline стаatus, что происходило. Вот у нас документ разбился на чанке, и из каждого чанка вот извлекается семь entти сущностей, шесть relationships. Второго чанка из дцашести. То есть он определил сначала сколько чанков и с каждого начал извлекать то, что извлечено тоже семь сущностей, семь relationships. Потом, видите, он, а, например, вот происходит объединение merge. Смотрите, объединение, кстати, ещё происходит не только если вы подгружаете новый документ. Допустим, внутри одного документа тоже могут быть одни и те же сущности, и тогда происходит объединение. Теперь самое главное, что нужно тут разобрать - это вот у нас есть retrieval и вот эти все настройки, чтобы понимать, как можно делать поиск. То есть как загружать, понятно? Документ тут особо не выберешь, как его загружать. То есть здесь, а настроек загрузки нет. Здесь тоже всё понятно. PI это мы попозже разберём, как подключать. И вот главное понять, как вообще работают все эти настройки. И все эти же настройки поиска доступны по API. И вот ещё в том числе почему выбрал йтрек, потому что тут есть у вас сразу внутри есть чат GPT, ну или что вы там подключили. Короче, большая языковая модель, с которой вы можете общаться и которая сразу вам отвечает на основе ваших данных в knowledge графе. Вот это удобно. То есть не обязательно его куда-то выводить там по пяй. Можно сразу тут общаться. Ну это чтобы протестировать, естественно. Теперь очень важно разобраться во всех этих настройках. Начнём с QY Mode.
Режимы и настройки поиска в LightRAG
Вот этот вот QRY mode. Смотрите, какие тут доступно. Первое - это наивный, это базовый режим, который использует только векторный поиск по семантическому сходству без использования графознаний. То есть это классический, это вот то, что происходит на этом этапе. То есть видите, фильтрация, разбича вектора database. То есть это когда он ищет только вот по вот этим вот векторам. То есть это обычный классический. Дальше едем. Local - это то, о чём шла речь выше. Ищет ключевую информацию с акцентом на сущности для детализированных запросов. Как я говорил, есть вот локальные ключевые слова, вот об этом идёт речь. То есть он ищет больше по локальным ключевым словам, акцентирует внимание больше на локальных ключевых словах и на сущностях. Ищет ключевую инфу с акцентом на сущности. Это для детализированных запросов, для конкретных запросов. Потом глобальный поиск, то, о чём шла речь выше, ищет ключевую инфу с акцентом на отношения, более общие запросы. То есть тут акцент у нас идёт на сущности, то есть вот на сущности, а в глобальном на отношении. И глобальный поиск у нас работает следующим образом. то, что да, то есть вот они глобальные ключевые слова, то есть по темам он ищет скорее, а не по самим сущностям. То есть это для более общих запросов, тематических запросов. Потом гибридный поиск. А гибридный поиск объединяет и локальный, и глобальный. То есть это, чтобы был, ну, добавляет короче эффективности. Потом есть микс. Он объединяет гибридный поиск, то есть вот этот вот. И поиск по векторам обычный наивный. То есть, смотрите ещё раз. Микс объединяет гибридный поиск и вот этот поиск. То есть, по сути, микс - это вот так вот. Это поиск по более общим запросам, по детализированным запросам и по обычной векторной базе данных. Ну, есть ещё байпас, он никакой поиск не использует. Ну, вот так вот. Как вы понимаете, самый точный - это будет микс, потому что он использует всё, что только можно использовать. Но а выбирать режим поиска надо в зависимости от задачи. Но по ходу микс самый крутой. Да, по ходу микс самый крутой. Просто не везде нужен микс. Вообще, на самом деле, везде оно будет работать по-разному. Но если так в большинстве случаев оценить, микс будет лучше всего работать. Давайте вот протестируем, да, как здесь, скорее всего, ответы будут более-менее одинаковые, потому что здесь данных не очень много. Графрек - это всё-таки штука для прямо большого количества данных. Вы можете прямо сюда книги загружать и так далее. То есть там, где очень много данных. Выберем поиск. Вот есть наивный поиск. Cl desktop - это наивно. Это только по векторам. Это классический. Круто то, что он сейчас нам расскажет, откуда он потянул эту инфу. Вот видите, только вот отсюда. Теперь мы поставим поиск локальный. Ну я говорю, тут особо разницы видно не будет, потому что надо прямо много данных загружать и проверять, как это будет работать. Ну и под каждую задачу тестировать, что лучше работает. Вот видите, тут он уже из большего количества референсов данные потянул. Потом глобальный поиск. Тут тоже он подтянул. Уже немножко другие. Видите, тут entitтиies 2, entitтиies о, тут entitтиies уже два. Вот. Ну тут тоже R2, то есть, короче, вот он разный ответ, видите, даёт немножко разный ответ. И есть гибридный поиск. Тоже посмотрим, что подтянул уже другую инфу. И есть микс. А, смотрите, чтобы было понятнее, короче, можно вот тут включить настройку. Сейчас её всё равно разберём. Он линит контекст, если вы её включаете. Так, по дефолту вам даёт именно lлмка ответ. Если вы включаете, он линит контекст, он нам сейчас просто потянет а контекст. Вот эти вот референсы, которые он перечисляет. Вот видите, по факту вот этот контекст загружается в лэмку, которая внутри тут лайтре находится. И она на основе этого вот даёт ответ. Мы спросили, вот потянулись entities, тут идёт информация там про cloud десктоп, про всё остальное. Вот. И как видите, тут много информации подтягивается, и поэтому это нужно регулировать. Что мы делаем? Разбираем остальные штуки. Multiple paragraphs. Ну, это вообще очень просто. Это просто несколько параграфов. Он будет показывать несколько абзацев. Это он разделяет свой ответ на несколько абзацев. Видите, если мы включим сил параграф, то будет всё в одном абзаце. То есть не будет вот таких вот разделений. Всё. То есть он так и отвечает. И есть ещё Bullet Points. Вот видите, Bullet Points - это он тезисы перечисляет просто. Это понятно. Такая простенькая настройка. Теперь идём по другим настройкам. Top ke - это количество наиболее релевантных элементов из графа знаний Entities пationships, которые извлекаются для контекста. То есть, как вы видели, когда мы включали здесь Onlinit context, вот она наша настройка топки key. Он нам выдавал очень много данных. И чтобы этих данных было меньше, мы можем регулировать вот параметр TOP топки, например, напишем пять ch чанки key. Количество наиболее релевантных текстовых чанков из оригинальных документов для векторного поиска, используя в ней и микс режимах. Это, короче, я же говорю, там есть гибридный поиск и так далее. Вот сейчас мы используем mix. И, а, когда мы используем mix, у нас же используется обычный г-режим, как я говорил, вот этот вот базовый г-режим. Там тоже из него из него извлекаются чанки. То есть мы достаём чанки из обычного reg режима. И вот из других режимов. И это способ их регулировать тоже. Можем вот поставить тоже один, чтобы не было их слишком много. Хотя один - это очень мало. Вот видите, как мало извлеклось. Ничего не извлеклось особо. То есть а тут у нас очень много всего извлекалось. Ну давайте хотя бы пять поставим. Не, ну пять много, два. То есть вот у нас извлекается entities, извлекается relationships и извлекаются чанки. То есть вот это у нас работа обычного г-режима. Вот у нас просто извлекаются чанки. Если вам что-то непонятно про чанки и так далее, посмотрите реально видео про regный гайд. Там посмотрите его, вам будет всё понятно, о чём идёт речь. Потом Max Entity Tokens - это максимальное количество токенов для контекста сущности в одном запросе. Ограничивает размер информации о entities, чтобы не превысить контекст Windows LLM. Это ограничивает вот оно Max Entity Tokens. Это вот ограничивает вот эту штучку. То есть мы можем поставить тут, например, 10 токенов, чтобы было прямо наглядно. Вот видите, он вообще ничего не прислал, потому что слишком мало токе. Ну давайте 100. Короче, суть в том то, что мы можем ограничивать лимитами. А вот мало стало, потому что мы достали только 100 штук. Короче, проблема в том, то, что у нас достаётся очень много данных для контекста в LM. Вот это всё подаётся в контекст lм. И вот это вот всё мы и будем выводить в наш N8 CN. По сути, и это будет в контексте лежать. Ну и на основе этого она и будет отвечать. И чтобы регулировать, чтобы этого не было слишком много, потому что, ну, lтрек всё-таки, чем хуже я обычного RG, как минимум тем, что он дороже сильно. Понятно, из-за чего? Из-за такого количества данных. И чтобы это регулировать, вот эти вот настройки существуют. Потом а идёт Max relations tokens. Максимальное количество токенов для отношений. То есть об это Вот теперь про это идёт речь, про эти relationships. Давайте его тоже ограничим до сотки. Что-то он так себе ограничился. Давайте ещё более ограничим. Давайте до тридцати. Вообще ноль стало. Ну ладно, давайте хотя бы там 70. Ну вот сейчас нормально. Сейчас вот немножко. И тут немножко. Потом Max Total Tokens. Max Total Tokens - это общий лимит токенов для всего контекста запроса. Он включает и Entities Tokens, и Relations Tokens, и System Prompt. System prompt - это, короче, внутренние промты внутри Lightreк. Там они есть, потому что там внутри есть лмка. И ещё quy запрос. Ограничение всего количества токенов. Вот, допустим, напишем 1. 000 и посмотрим, что будет. Вот, видите, он не прислал документ Чангт, потому что тут очень много токенов. Вот он ограничил, короче, сильно токены. Интересно он, кстати, ограничивает, то есть он мог тут явно какую-то часть написать. Ну, это было вот так, например, да, и он решил этого не делать, потому что, видимо, ну, слишком мало контекста, настолько мало, что даже писать нет смысла. Так вот решаетк. Теперь у нас идёт user prompt. Что такое user prompt? Смотрите, Userпроompт - это дополнительные кастомные инструкции, которые добавляются к автоматически генерируемым системным промтом внутрика для изменения стиля структуры или поведения ответа lm. Короче, чтобы ответ LLM был немножечко другой, мы можем системные промты, которые работают внутри йтрека, короче, к ним что-то добавить. Вот. Но это optional. Потом есть enable rerank. Можно подключать, можно не подключать. Я подключил при установке ранмо модель от Gна AI. То есть ранкинг - это тоже было в гайде на REC. Это, то есть, у нас достаются чанки, они могут переранжироваться с помощью отдельной специальной модели для этого. Потом он контекст, это я только что показал. То есть это просто контекст без ответа lm, то есть это вот то, что нам сейчас и присылается. Если мы это выключаем, нам присылается полноценный ответ LLM. Вот. Потом Only Needit Prompt. Only Neit Prompt возвращает полностью сформированный внутренний промт, который система Lightrack подготовила бы для отправки LM без выполнения поиска генерации. То есть сейчас покажу, как это выглядит. Вот это, короче, то, что отправляется на вход той лмки, которая отвечает нам в случае, если мы включаем делаем просто вот так, да, смотрите, сейчас нам ответит лэмка. Вот нам отвечает лэмка. И вот этой лмке на в качестве системного промта отправляется вот это то, что было написано сверху. То есть мы видим внутренние промты в лайтреге, которые написаны тут роль, go, think by step, ну и так далее. Например, мы можем скопировать этот промт и закинуть его в нашего Еагента в NVM, чтобы он тоже нормально работал с информации. Потом System Response включает потоковый вывод ответа Lamp по мере генерации. Ну, это просто так он пришлёт ответ сразу. Нет, видите, он постепенно пишет его. То есть по мере генерации сначала это сгенерировалось, оно написалось, потом вторая строчка и третья строчка. Если мы убираем stream response, то он пришлёт ответ сразу. Он сначала весь сгенерируется, а потом отправится. Вот такая вот настроечка. Да, видите, в NN она тоже есть. Это всё понятно. Мы разобрали главные настройки, как это всё работает. Теперь
Подключаем LightRAG к n8n
надо это вывести в N8 MAN, подключить к NAN. Смотрите, в N8 Man мы создадим обычного агента. Onchat message AI agent. Подключим к нему chat model, ну, open i пусть будет. Потом мы подключим к нему HTP request. И внутри HTP реквеста мы всё сделаем. Переходим в Lightrack, заходим в API графу и ищем. А вот у нас есть query text. Берём самое обычная. Тут он нам пишет описание, как делать query. И мы жмём execute. И у нас появляется CURL. В чём прикол CURL? Что мы можем сюда вот нажать его скопировать. Смотрите, кстати, ещё в чём прикол. Перед тем, как это всё делать, вам нужно нажать сюда authorize и здесь ввести ваши настройки. Вот я специально logout сделаю. Тут вы вводите usрнейм, который вы указывали при установке. Сейчас я покажу всё про установку. Вот я вводил Володя. Володя, да? Сохраняем. Apprise. А здесь выводите ваш API key. Короче, ставите сюда API ke и жмёте authorize. И тогда, когда вы будете нажимать вот сюда вот в QY, у вас сразу будет готовый CURL, внутри которого сразу будет введён ваш API и вся нужная аутентификация. Ну, это просто удобно. Жмёте копировать. Заходите в N8 Manage request, жмёте Cverl. ставите всё, что вы скопировали, и нажимаете import. Готово. Теперь надо сделать следующее. Здесь надо написать описание для узла типа используй HTP request для поиска в L. Потом аутентификация не нужна, она уже здесь введена. То есть, видите, всё, всё ввелось, всё есть. Здесь мы что делаем? Сейчас мы можем попробовать это использовать, этот HTP requestст, но у нас выдалась ошибка. Давайте попросим чапи что-нибудь сделать. Найди в Light Rag. Что такое MCP? О, он попытался обратиться, но выдалась ошибка, потому что здесь нужно убрать некоторую инфу. Conversation history, например. Давайте уберём. Про эти все настройки можете почитать отдельно. Вот попробуем вот так сделать. О, вот так сработало. То есть я брал настройки, но он не нашёл инфу. А почему не нашёл инфу? Знаете, почему? Потому что у нас query string написано. То есть тут у нас, короче, идут все настройки. Про них вы можете все подробно прочитать в API. Сейчас я не буду в это сильно углубляться, но по сути это всё те же настройки, которые были вот тут вот записаны, которые мы только что разбирали. То есть вот у нас query - это наш запрос. Мы его сейчас поменяем. Мод - это микс. То есть вот тут мы выбирали mod. Потом only need context мы выбираем. То есть, чтобы он нам прислал контекст, а, то есть, чтобы не было два раза обработка лэмки. То есть здесь всё равно лэмка, допустим, будет один раз обрабатывать и готовый лэмки ответ вот здесь вот, то есть вот такой вот, да, ответ будет присылаться вот в вот сюда вот ещё раз в нашу лалэмку. Зачем нам два раза использовать лалэмку? Всё равно наши токены тратятся и там, и там. Чтобы этого не было, мы присылаем в сыром виде инфу. Ну, короче, вот в таком там виде инфу мы присылаем сразу в NV CN. Поэтому мы ставим need context true. Only need prompt. Я думаю, нам это не надо. Хотя давайте оставим. Response type string. Top key, top chan, ну и так далее. Это всё только что рассказывал. User promp string и enable rerank. Это чтобы был рангиing. И давайте попробуем что-нибудь сделать. Только quy мы поменяем на не F fff. Короче, нажмём expression и query поставим на тут напишем expression. Вот такой вот. Здесь будет query. Короче, это чтобы моделька сама определяла. Вот если так писать. from my query string, то модель будет сама определять наш запрос. Тогда пишем это в systemмте, типа обратись к тулу HTP request и отправь туда запрос в таком виде. Здесь будет два точа текст запроса. Вот. И посмотрим, как сейчас работает. Найти в Трек, что такое MCP. Так, ну оно сработало. Что такое MCP? Но она почему-то пишет: "Sorry, I'm not able to provide answer to that question. " No context он пишет. Давайте вот эти настройки поменяем. Поставим тут 30, тут 20, а здесь токен. Вот давайте поставим 500. Тут 500. Max total ставим там 5. 000. Enable rank true. Only need prompt, я думаю. Ну ладно, давайте оставим ещё раз, попробуем, потому что, мне кажется, оно так отвечает, потому что тут стоят ограничения, и он тупо ничего не присылает. Да, вот видите, он прислал нам ответ. Всё-таки это было из-за этих ограничений, из-за того, что здесь стояли единички. Естественно, он ничего из-за этого не мог прислать. Вот он нам прислал ответ и референс прислал. То есть, так как мы попросили его включить промт, он нам прислал весь промт, типа роль ты AI эксперт, там специализирующийшийся на том-то, том-то, том-то. По сути, сейчас мы просто с помощью вот этого всего промкта мы восстановили вот этого ассистента внутри Lightrack. Но мы можем, кстати, убрать этот системный промт. Вот это вот убрать. Ставить только need context. Ещё раз попросим его рассказать, что такое MCP. Короче, всё, мы подключили к Nv CN. Всё замечательно работает. Именно так. Всё, вот он достал инфу вот отсюда. Вот видите, entities, entities, там, relationships и так далее. То есть вот он нам присылает инфу ровно так же, как она доставалась вот тут. Вот. Это всё понятно. Как это
Устанавливаем LightRAG на сервер
всё делать? Зачем это всё делать, это понятно. Теперь давайте установим Lightтрек на сервер, потому что в облаке Lightтрек недоступен. Ну и в любом случае, да, это open sourceная штука. Почему бы её не поставить к себе на сервер или к себе на ком? Сейчас расскажу, как это сделать и поставить его рядом с N8N, который у вас уже стоит на сервере. Ну, у вас же, скорее всего, стоит N8N на сервере, и вы можете рядом развернуть йтрек. Вот так вот. Чтобы установить йтрек на сервер, нужно следующее. Давайте я прежде всего что скажу. Я буду ставить его рядом с N8N. Вот в видео полный гай на RCK я рассказывал про установку N8N вместе с Supas и так далее с помощью вот этого репозитория. С автором репозитория я списывался. Автору репозитория респект. Вот этот репозиторий, я сначала с помощью него ставлю всё себе на сервер. А ещё важно заметить то, что если вы устанавливаете, там у кого-то в комментах ошибка была, если вы устанавливаете дифе и вместе с ним BASE, то они вместе конфликтуют. Короче, лучше что-то одно выбрать, но в остальном здесь никаких проблем нету. Короче, установка этого репозитория есть видео про regный гайд. Нажимаете, смотрите, как это установить. Там в целом всё просто. Заходите врmus, чтобы вносить все изменения. Всё было в ролике про reg. И у меня вот есть инструкция, которую я сделал с помощью клода. Инструкция по тому, как устанавливать lightтрек. Вот требования убунту. N8N уже установлен. А, ну про конфигурацию не написал, но можете прочитать про конфигурацию типа какая нужна мощность сервиса. Сервера, точнее, для Light Rack. Можете прочитать про это в интернете. Тут подключение к серверу. Мы уже подключились, если вы запустили Термиус. Дальше мы устанавливаем докер. Если не установлен, просто вводим по очереди все вот эти команды. Я этот файлик оставлю. Делаем, короче, всё по порядку, по шагам. Всё, что он рассказывает. Можете этот файлик тоже закинуть в клод или в перплексе и спрашивать у него какие-то вопросы, чтоб, если что-то непонятно. Хотя тут всё просто. Вот я этот файлик оставлю, естественно, в Телеграме. Так, по-моему, докер у меня уже был установлен. Ну, неважно. В любом случае, хуже от этого не будет. Всё готово. Нажали Ctrl C, потому что здесь надо было нажать Ctrl C. Дальше у нас идёт настройка фаервола. Открываем порт 22. Хотя он, по-моему, так открыт. Теперь делаем это. Делаем это и проверяем статус. Угу. Вот у нас показывают порты, какие открыто. Потом делаем следующее. Устанавливаем lтреack. Здесь мы можем в целом, да, нажать shell, копировать сразу вот так все команды. Вы можете зайти потом опять в терминал, нажать command V. Всё. То есть сейчас мы, а, клонируем репозитории Lightrack, типа делаем папку специальную Lightraк, создали папку и скланировали туда репозитории. В целом, вот сейчас всё, оно завершилось. Теперь мы создаём файл ENV. Вот это уже важно. Смотрите, файл ENV, вот это уже важно, да? Это environment. Во-первых, вы должны тут поменять всё, что тут комментарии написаны. Лучше их прочитайте и всё введите. Короче, этих environments их, а, гораздо больше. По факту их все можно посмотреть вот тут, короче, репозиторий. Вот lтреck, вы переходите ниже, и тут было environment example. Вот envample. И он показывает тут все настройки, которые можно настраивать. То есть здесь вы можете выбрать off accounts, то есть что будет использоваться для авторизации в Lightrack Token Secret. Ну, много, короче, параметров. Можете их почитать, можете их изучить с помощью нейронок, скопировать, закинуть нейронки, прочитать про них. Вот. И тут всякие модельки выбираются. То есть вот, например, модель для реранкинга. Вы можете выбрать, допустим, от KIR от Gina AI. Потом вы можете выбрать chunks si for docum spliting, то есть, а, размер чанков для сплита документов. Здесь огромное количество настроек вот llм, которые будет внутри использоваться. Вот это всё вы можете изучить, спросить у неронки, как это делается, и это использовать. Если в файле ENV перед строчкой стоит вот такая решётка, это значит то, что он не будет применён. Если решётка убирается, то это значит то, что он будет применён. Я из этого всего выбрал то, что важно мне. Важно мне следующее. Off accounts. Вы можете в целом вводить то же самое. Off accounts ваш логин пароль. То есть вот тут вы вводите ваш логин, например, Владимир. И пароль тоже поставим Владимир. Пароль здесь после ДВ точи пишется Владимир. Вот он нам приводит пример, да, вот решёточка, например, adдми password. Вот, как я говорю, то, что идёт после решёточки, оно не будет учитываться, поэтому можно это не убирать. И вот это тоже не учитывается, потому что тут решёточка стоит, а тут решёточки не стоит, значит, это будет учитываться. Потом йрекraк key. Здесь вы просто пишите, создаёте API ke вашего йтре, какой угодно. Можете зайти на сайт генерации API ke и так далее. Можете вот набор клавиш ввести, как я сейчас делаю. А, 64 плюс символа надо. Ну, давайте прямо много напишем тогда. Ну, надеюсь, набралось 64 п символа. Тут токен key, тоже какой-нибудь любая случайная строка для GVT токена. Настройка ранк, то есть если вы подключаете ранкиing, то есть если вы хотите, чтобы у вас было переранжирование включено, вы можете это настроить. То есть, во-первых, здесь нужна enable rer rank true. Это я опять же взял из Environments. Min rerank score тоже 0 стоит. Потом ран модуль я выбрал G AI. Почему GA AI? Потому что самая дешёвая ранмодель, которую я в принципе нашёл на рынке. У меня просто была задача найти самую дешёвую ранк модель на рынке. Это не кохir. Кохir очень дорогой, по факту самая дешёвая - это Gina AI. Советую, попробуйте. Очень дешёвая ранкмодель, хорошо работает. Здесь понятно, ничего вводить не надо. Здесь хост просто. И здесь ключ от Gina AI, который нужно взять на сайте G AI. Ну, допустим, вы авторизовались. У Gina AI, кстати, есть, по-моему, 10 млн токенов бесплатное, поэтому можете зарегать, потестить хотя бы. Вот у меня тут есть API токен. Ну, я добавлю ещё один ключ какой-нибудь. Вот нажал сгенерировать новый ключ. Для этого уже требуется пополнение токенов. Тут у меня уже есть токены. Для этого требуется пополнение токенов. Ну давайте вот я его скопирую, например, введу его сюда. Там есть бесплатный пробный режим, можете попробовать. Потом настройкаing, то есть аbed модель, которую вы подключаете. Здесь можно подключить локальную модель, которая у вас на сервере стоит, например, а через аламу подрубить. Тоже касается lm тоже можно взять локальную. Ну вот настройки. Здесь можно взять, ну, я поставил open AI large. Можете поменять тут, что вам надо. Обязательно не забудьте поменять eding dim. Это размер. Размер можно узнать, ну, просто гуглите типа вашу дed модель, вот текстом 1. 3 LE и смотрите, какая у неё размерность. Тут вводите ваш Open IP. Настройки LLM тоже здесь пишете модель, которая вам нужна. Лучше вот так вот не гадать, не писать. Лучше зайти на официальный сайт Openi и посмотреть, как там называется моделька. Ну вот именно вот название конкретно, которое нужно вводить. Потом, ну тут опять же Open IQ надо поставить. И вот тут я выставил такие настройки производительности. Можете их сами поменять, как вы захотите. Теперь вы после того, как всё ввели, просто копируете всё, что тут написано. Вводите это опять же в термиусе. Всё. Теперь что мы делаем дальше? Теперь мы запускаем Lightrack API. Ну он говорит: "Убедитесь то, что вы в нужной папке PvD". Запускаем Docker и проверяем log. Можно всё сразу ввести. Всё, он запускает, получается, нашрекraк установку. А файл Environment его можно менять после установки. То есть, если вы там хотите что-то сделать, изменить, допустим, подключить там ранкер или поменять модель, вы это можете всё сделать. Готово. То есть всё установилось. Вот у нас выдают такую штучку типа lтреck сервер. Всё работает. Красивые всякие смайлики. Теперь, а, Ctrl C надо нажать для выхода из логов. Вот написано press C. На Макее тоже Ctrl C и проверка API. Можно проверять API следующим образом. То есть взять его, скопировать, зайти в NOAN. Пока что уберу этот триггер, добавлю ещё один триггер. К этому триггеру подключить HTP request и вот сюда поставить этот CRL. Только вместо local host написать ваш реальный IP-адрес от сервера. В моём случае IP-адрес - это вот такой вот. И нажать Execute Step. Вот видите, что-то вернулось, значит, по идее, всё работает. Он говорит: "Проверка работоспособности ещё есть". Вот нажать docker ps. Зате опять же в терминус вот это ввести. Видим то, что работает. Вот у нас есть N8N запущен, ready запущено, Light запущен, да? И вот он говорит, чтобы получить доступ к сервисам, нужно вот тут ввести ваш API. Вот так вот сделать. Ввести ваш API, получается HTP API двоето 9621 и зайти туда, куда вам надо. Теперь я захожу в браузер, ввожу ровно тут, что я написал. Открывается йтрек. Поздравляю, вы установили йтрек. Вот так просто. Username и password вводите то, что вы вводили там на этапе установки. Всё, поздравляю. Вот он ваш ваш ваш лайтрек. В чём прикол этой установки, который мы только что произвели? Ну как прикольно, да? Солнце вон светит, смотрите. Вот. Но при этом и вот тоже, кстати, и вот тут вот, вот и вот. Короче, у вас N8N на одном сервере лежат, но при этом вы можете взять N8N на другом сервере и всё равно подключиться к этому лайтреку по API. Вот так вот. Можно вообще на отдельный сервер йтрек поставить из другого сервера отдельного подключаться к нему. То есть на разных серверах Lightrack и NVMN, и вы можете между ними передавать инфу, подключаться друг к другу. Лайтрек мы установили, и возникает следующий вопрос. Так, и что же раг
Обычный RAG больше не нужен?
больше не нужен? Нужен. Он дешёвый, и не для всех задач нужен граф RG. Это первое. Второе, внутри стоит сочетать классический игра Rag. И третье - это есть данные, для которых граф RG не подходит. Он подходит для гник и прочих цельных данных. Смотрите, во-первых, он реально дешёвый и не для всех задач нужен граф RG. Просто иногда это бессмысленно. Всё, тут больше нечего сказать. Внутри Invement стоит сочетать и то, и то. То есть опять же вот у вас есть AI agent, вот у вас Graph RG Light RG, а тут вы можете ему подключить классический узел квадрант и искать и в квадранте тупо по векторам, и по лайтрегу. То есть вы можете это сочетать тут тоже настраивать там поиск гибридный по векторам классический и по BM25, то есть там по ключевым словам. Это тоже вектора, но немного другие. Если хотите про это, тоже могу ролик сделать, напишите в комментах. Тоже прикольная тема. Ну и есть данные, для которых Графрек не подходит. Он подходит для книг и прочих цельных документов. Допустим, у вас какой-нибудь SQL есть, база данных, в которых там разрознены информация о товарах, да, ну, какая-то таблица и связанные таблицы в них, в них есть информация о разных конкретных товарах. И вам не нужно просто это всё загружать в графрек, потому что если у вас и так данные хранятся в таком виде, то что вот есть отдельный товар, есть отдельный товар, есть отдельный товар, вам как бы связь между ними и не требуется. Ну, к примеру, да, для таких случаев графрек вообще не нужен. подаёт обычный векторный поиск, потому что вы берёте просто каждый товар и как раз в один чанк его загружаете. Один чанк, один товар в один чанк, товар фен в один чанк, товар пылесос в другой чанг, товар посудомойка в третий чанк. То есть они между собой не должны быть никак связаны. Афрек подходит для данных таких цельных, типа реально вы берёте там документ или книгу, загружаете, он там парсится на огромное количество entities и relationships на сущности и отношения, рёбра. И вот в таком случае, да, в таком случае графрег будет эффективнее. Ну и плюс внутри графре вы не всё можете настраивать. То есть всё-таки есть такие случаи, когда вам там через квадрант нужно настроить как-то метадату, там поиск по метадате, сделать сбost rankн и так далее. Это всё сложные слова, я про это не рассказывал. Могу рассказать, если вы, ну, в комментах об этом напишите, то, что типа нужно видео более подробное про квадрант, там про гибридный поиск в квадранте, про метадату в квадранте, ну и прочее. Что интересно, есть ещё каг. Не тот KGAG, который вот такой вот был. Вот такой вот casmented generation. Нет, это knowledge segmented generation. Это next level. Он ещё более эффективнее, чем graph reg от Microsoft. Это мы сейчас Light разбирали. Есть ещё Graph R от Microsoft, который круче работает. А есть как knowledge generation. Там вообще люто, то есть он прямо очень круто работает, но он тоже дорогой и медленный. Но пишите в комментах, стоит ли сделать на него обзор. И вот репозиторий, как Open SPG. Это, по-моему, какая-то китайская штучка, да? Короче, он прямо вообще люто работает. Всё, всё мы разобрали. Подписывайтесь на Telegram-канал, подписывайтесь там смотрите, ссылки в описании, там всякая инфа есть. Следите за обновлениями. Спасибо за то, что посмотрели это видео. Смотрите и другие ролики на моём канале, например, вот это. Пока.