Узел дня. Разбор ВСЕХ нативных узлов в n8n - https://web.tribute.tg/s/FwG
https://t.me/vladimir_kkkkk - телеграм канал (смотрите закреплённый пост)
Приватка закрыта!
---------------------------------
n8n - https://n8n.partnerlinks.io/9f51nckey33z
beget - https://beget.com/p2340235/cloud/marketplace/n8n
Ищите материалы к роликам в тг по названию видео
ИИ АГЕНТЫ в n8n: Полный гайд для начинающих 2025. Полный гайд по n8n 2025 от А до Я для новичков! Изучите n8n с нуля без кода в этом полном курсе по созданию ИИ агентов. В данном полном руководстве по n8n разберём все узлы в n8n, развертывание на сервере beget против официальной n8n подписки, интеграцию ChatGPT в n8n и создание RAG агентов (retrieval augmented generation). Этот n8n tutorial покрывает основы n8n и создание workflow, все главные узлы включая if, switch, merge, split в batches, как создавать ИИ агентов в n8n, развертывание n8n на сервере против облачной подписки, HTTP requests, webhooks и обработку ошибок, а также RAG системы для работы с документами. После этого n8n туториала вы будете разбираться в н8н лучше 80% пользователей. Полное руководство с практическими примерами и шаблонами доступно вместе с файлами в Telegram-канале для изучения автоматизации без программирования
00:00 - n8n: Полный гайд для начинающих 2025
01:15 - Ключевые понятия n8n
03:05 - n8n подписка или сервер?
07:32 - Создание базового ИИ агента
12:13 - n8n это кодинг без кода
16:25 - Виды главных узлов n8n
19:26 - Как пользоваться узлами в n8n
42:23 - Webhook и HTTP Request это
45:23 - Автоматическая обработка ошибок n8n
47:53 - Инструменты памяти и что такое RAG
51:08 - Обучение и развитие в n8n
Оглавление (11 сегментов)
n8n: Полный гайд для начинающих 2025
Это полный гайд по N8N, в котором мы шаг за шагом разберём эту программу от базовых до продвинутых функций. Даже если вы вообще не разбираетесь в N8N и не понимаете, как она работает, после того, как вы досмотрите это видео, вы будете разбираться в ней лучше, чем 80% пользователей. N8N - это платформа для автоматизации рабочих процессов, предназначенная для замены рутинных и повторяющихся задач. Я просто текст прочитал, но вы в целом и так в курсе, что такое NV CMN, раз пришли смотреть гайд по этой программе, она позиционируется как low-кодко-код инструмент. Это что значит? Это значит то, что, чтобы в ней создавать рабочие процессы, вам не нужно программирование, либо нужно, но совсем чуть-чуть. И программировать в любом случае можно будет с помощью нейросетей, того же чата GPT или клода. А, несмотря на эту, на то, что она типа без программирования и простая для новичков, в ней есть продвинутые функции. И если вы умеете кодить и вам не хватает функционала N8N, вы можете встроить туда код. Основная цель N8N - это оптимизация бизнес-процессов или личных задач в основном с помощью EИ. Ну, это вы всё и так в курсе. Автоматизация с N8N уменьшает количество ошибок, экономить деньги, время и так далее. Это всё понятно. Теперь к базе. Ключевые
Ключевые понятия n8n
понятия. Workflow. Что такое workflow? Workflow - это рабочий процесс. То есть вот это всё, что у нас есть. Я специально его назвал как просто workflow, но вы можете дать ему вот тут любое название в это, ну, как хотите. Короче, по сути, это вот набор инструкций, которые N8N выполняет для автоматизации задач. Дальше рабочий процесс состоит из узлов, которые по-английски называются nodes. Ну, я их иногда ещё ноды называю. Вы знаете, что такое узлы? Скорее всего, это вот такие вот штучки. То есть это каждый из этих элементов айтемов - это узел. Это чтобы определиться с терминологией, не возникало никакой путаницы. Триггер. Триггер - это, короче, то, что запускает просто рабочий процесс. Они бывают разными. Самое главное - это то, что они бывают из сторонних сервисов, таких как Telegram. Они бывают на заполнение форм, они бывают на срабатывание по расписанию. Это триггер, который запускает рабочий процесс просто, когда вы нажимаете test workflow. А сейчас у меня не работает, потому что много разных узлов. Ну, я впоследствии покажу. он запускает рабочий процесс сразу. То есть, если мы здесь поставим триггер по времени, он будет дожидаться времени. Если триггер по форме, он не будет запускаться, пока мы не заполним форму. Если триггер по Телеграму, он не будет запускаться, пока мы не отправим сообщение, да? А этот будет запускаться сразу. Это просто удобно, когда вы делаете рабочий процесс. Все узлы, которые идут дальше, вот эти вот, они называются action notes. Всё, я не знаю, здесь больше в целом ничего говорить не надо. И каждый запуск рабочего процесса называется execution, то есть выполнение. Зачем это надо знать? Потому что вот тут есть кнопочка специальная Executions. Здесь у меня их нет. Но когда они будут? Когда вы будете запускать свой рабочий процесс через test workflow или когда вы его активируете вот тут, то есть он будет постоянно активен и вы будете с ним взаимодействовать, а каждое ваше взаимодействие будет отображаться вот здесь. То есть, если будут возникать ошибки, вы сможете вот здесь вот посмотреть, на каком этапе возникла ошибка. Это понятно. Дальше у нас идёт
n8n подписка или сервер?
развёртывание. N8N - это проект с открытым исходным кодом. Так задумали разработчики. Что это вообще значит? Это значит то, что его можно установить к себе на компьютер, его можно установить на сервер, и это будет бесплатно. То есть, если вы установите его к себе на компьютер, то у вас, по сути, будет бесплатный NN. Но устанавливать его к себе на компьютер я крайне не рекомендую, потому что это муторно. Вам же нужно, чтобы ваши боты работали круглосуточно для обслуживания клиентов. К примеру, если вы выключаете свой компьютер, всё, бот не работает. Поэтому ваше решение либо сервер, который вы арендуете, либо это официальная подписка на N8N. По сути тоже сервер, но немножко по-другому. Если у вас есть офис, да, у вас какая-то компания, и вы можете себе позволить, к примеру, купить отдельный компьютер, на котором будет постоянно запущен N8N, то есть по сути организовать свой сервер, то это тоже в целом решение, если для вас важна конфиденциальность, чтобы ваши данные никуда не утекли и оставались строго вашей компании. Но это отдельная тема. Какие плюсы у самостоятельного размещения, то есть размещение N8N на сервере? На каком сервере? На любом. Вот у меня, к примеру, N 8N установлено на сервере Begет. А какие плюсы? Плюсы то, что это дёшево. Минусы: сложнее интеграция с сервисами, к примеру, Гугла. Это значит то, что если вы вот тут берёте сервис Гугла какой-нибудь, ну, допустим, Google Drive, да, а копифайл нормально. Если у вас официальная подписка на NVO CMEN, то всё, что вам нужно сделать, когда вы добавляете новый кредил, да, вот здесь вот, как обычно помните, как мы добавляли прошлых видео, показывал, это просто войти в аккаунт Гугла, но у меня он развёрнут на своём сервере, и здесь просто так уже подключить не получится. Здесь нужно разворачивать через 2, а это значит то, что это более муторно. Не то, чтобы это нереально, просто это дольше, да, и на первых порах такая тема, вот такие мелкие трудности, они могут убить у вас желание развиваться в этой программе. Это не очень хорошо, стоит задуматься, да, сейчас дальше раскрою свою мысль. Едем дальше. Вам нужно самостоятельно обеспечивать безопасность. У вас нет и ассистента, который на первых этапах сильно помогает. Что это такое? Вот тут у меня его как раз нет, потому что у меня на сервере, но а если вы запустите пробную версию, да, на 14 не8N или уже купите прямо подписку, у вас здесь будет такая вот звёздочка. Это будет ассистент, у которого будет доступ к вашему workflow. Он будет понимать, что вы тут делаете, и вы можете у него какие-то вопросы спрашивать. И он на основе документации и на основе N8N сообщества, того, что там пользователи друг другу отвечают, будет давать вам реально внятные ответы. Это прикольная штука. Если у вас на сервере N8N, у вас этого нет. Нет у вас расширенной поддержки, опять же, долгое развёртывание, да, развёртывание оно дольше, вам нужно покупать ещё домен. Вам нужно ждать, пока это домен активируется какое-то количество времени обычно, ну, я где-то день ждал. И обновлять N8 CNN сложнее, то есть его нужно обновлять через консоль, подключаться к серверу, ну, и так далее. Сейчас я не буду показывать, как разворачивать N CA на сервере Begет, но видео я про это выпущу впоследствии, поэтому подписывайтесь, обязательно подписывайтесь. У меня вообще крутой контент. И есть ещё ролики до этого тоже посмотрите хорошие. В любом случае вы можете сами разобраться, если вы не хотите дожидаться видео. Вот, если что, моя ссылка. Это моя партнёрская ссылка. Если вы по ней перейдёте и оформите подписку на бигет, то мне копеечка упадёт за это. Поэтому я благодарен по стоимости. Главный минус, понятно, да, тут есть безопасность, ваши данные сохраняются, но это дорого. Дорого, вот 24 евро в месяц. А про это пока что даже не думайте. Если вы начинающий пользователь, у вас уже закончился free trial, то есть 14 дней пробный период, и у вас есть возможность, вы там богатый человек, вы можете позволить себе оформить эту подписку для вас 24 доллара в месяц. Это, ну, типа, не особо дорого. Наверное, стоит это сделать, потому что вы облегчите себе порог вхождения в эту программу. Если вы этого не сделаете, риск того, что вы её забросите, возрастает. А забрасывать эту программу точно не стоит, по что не надо будет возиться с Гуглом, со всякими другими штуками, с обновлением. То есть вам и так нужно разбираться с нуля в новой программе, а тут у вас ещё и добавляются какие-то дополнительные сложные действия для того, чтобы эта программа просто работала. Поэтому, если у вас реально есть возможность, берите подписку. Вы её можете отменить в любой момент. Если у вас нет возможности, тогда, да, нужно разворачивать N8N на своём сервере. У меня это стоит, я оформлял через биет, стоит 22 руб. в день, 6 660 руб. в месяц. Едем дальше. Создание базового
Создание базового ИИ агента
иагента. Ну, вкратце разберём, да, как работает базовый агент. Начнём с Onchat Message. Это мы будем внутри интерфейса N8N. Прямо здесь отправлять ему сообщения. Если вы смотрели мои предыдущие видео, вы видели то, что я это делал обычно через Telegram. Если вы не в курсе, как это всё делается, посмотрите предыдущее видео, там нормально всё подробно объясняется. То есть вот он чатмеessдж, потом идёт AI, выбираем AI эта, выбираем, открываем его заново и выбираем здесь define below, чтобы ниже заполнить ему prompt. Нажимаем add option или Add option и нажимаем system message. Что такое add prompt? Что такое system message? Промт - это то, что мы отправляем непосредственно нашему боту. Показываю, как это работает. Чтобы его запустить, чтобы он не выдавал ошибок никаких, нужно выбрать чат-модель. Чат модель - это мы выбираем ему нейронку мозг. Чтобы было максимально понятно, самый популярный у нас чат GPT. Вот и возьмём чат GPT. Давайте возьмём ну сейчас самая оптимальная модель для чата GPT по цене и по всему остальному. Это, конечно, GPT 4. 1. Вот давайте GPT 4. 1 mini. Подойдёт. Мы выбрали чатмодель. То есть та lmмка, которая будет ll - это large language model. Расшифровывается большая языковая модель. Это и ch GPT, и deepsek, иклод, и грок, и какие там ещё есть неросети, и дммини от Гугла. Это всё лмки, большие языковые модели. Так вот, мы подключили её, она будет у нас внутри принимать решение. Пока что не будет принимать решение, потому что тул инструмента мы подключать не будем. Короче, что нужно сделать дальше? Открываем и нажмём пока здесь любую букву, иначе ничего не заработает. Открываем чат и пишем что-нибудь. Ждём. Отвечает он нам: "Hello, how can I assist you today? " Что мы делаем дальше? Открываем. И чтобы здесь отправлялась не буковка F, а наше сообщение, которое мы отправили, берём вот чат input и перетаскиваем сюда. Здесь у нас выбрано expression по дефолту. Это динамическое значение. Оно будет меняться, несмотря на то, что вот здесь вот конкретно здесь текст написан. написан один и додже. Вот здесь вот внизу будет отображаться то, что мы по факту написали. Это понятно. System message. Это наши кастомные инструкции или же системный промт, который мы даём нашему агенту, боту, кому угодно. То есть на нашему нашей нейросети. Это то, что отправляется нашей нейросети перед нашим сообщением. Что мы тут ему напишем? То есть мы даём ему тут какие-то инструкции, как он должен себя вести, какие у него есть инструменты, кто он такой и так далее. Давайте мы ему напишем: "Ты агент по созданию постов Telegram-каналя". Ну, допустим, да, и а он будет вести себя соответствующим образом. То, что он агент по созданию постов в Telegram-канале. Я пока что не хочу ему никаких инструкций дальше писать, потому что это демонстрационный образец. Так вот, дальше здесь мы выбираем, ну, если мы, допустим, в Телеграме, да, если бы у нас был здесь Telegram триггер подключён, здесь бы мы выбрали то, что нужно отправить стекстмеедж в Телеграме, но так как нам это не надо, потому что мы общаемся внутри чата, это в целом всё, что нужно. И мы можем подключить память, чтобы он помнил контекст. Ну вот тут пусть будет пять, потому что если мы память не подключим, он Ну давайте я продемонстрирую, что будет, если мы не подключим память. Ну вот напишем ему, да, привет, кто ты? Он нам отвечает, то, что я твой помощник по созданию постов для Telegram-канала. Это то, что мы ему прописали. Но если мы ему сейчас напишем: "Продблируй своё предыдущее сообщение", он нам скажет: "К сожалению, у меня нет доступа к предыдущим сообщениям, потому что у него нету контекста". Нету контекста. То есть это изолированные друг от друга запросы, несмотря на то, что они у нас происходят в одном чате. Он по факту их так не видит. Чтобы он их так видел, нужно подключить память. Возьмём пока что Sample Memory контекст пять, то есть пять сообщений он может видеть. Протестируем. Нажмём на save. Да, у меня тут комар летает лето всё-таки. Короче, протестируем опять. Нажмём на save, нажмём Open Chat, пишем ему опять, кто ты? И копируем. Вот он отвечает, кто он такой. Теперь пишем ему заново. Продублирую сообщение. Он понял. Ты помнишь своё предыдущее сообщение? И он говорит: "Да, я помню, вот оно написано. Всё отлично, с этим понятно. Это самый базовый и агент". То есть всё, что мы сделали, это мы вывели в наше N8N чат GPT. Всё. Также можно вывести его в Telegram. Это самое первое, что стоит сделать, когда вы только свайте, когда вы только осваиваете N8N, если вы уже лучше разбираетесь. Ну, просто для наглядности. Мы создали базовые агента, и теперь нам нужно поговорить про
n8n это кодинг без кода
обработку и трансформацию данных. Только я воды попью сейчас. Так вот, можно сказать, что N8N - это программирование без кода. Почему я так считаю? Потому что, по сути, вы реально программируете, но только через интерфейс. То есть вы перетаскиваете тут что-то, нажимаете, то есть всё выглядит максимально просто и дружелюбно, как в игре какой-то. Но по факту тот файл, который у нас появляется, он записывается как JON а код. То есть вы можете нажать сюда, можете нажать download, наш рабочий процесс скачается, мы его откроем. И вот это он написан в видя GSON кода. То есть это, по сути, полноценный код, это программирование, но при этом мы не кодим, мы ничего не делаем, мы взаимодействуем через интерфейс. Вот поэтому 8N - это реально крутая программа, потому что в ней всё очень круто реализовано. Также вы можете восстанавливать это всё, импортируя из этого же файла. Вот сейчас копируется весь workflow. Надо его убрать. Всё, вернёмся обратно. То есть, да, по сути, каждый проект - это JSON код, который можно скопировать. Более того, вы можете даже тут ничего не нажимать. Вы можете просто выделить вот так весь ваш проект, нажать Command C и нажать рядом Command V. Он вставится также, но чтобы было более наглядно. Вот я нажал, выделил всё, нажал Command C. И давайте откроем, ну, вот Telegram, переписку с ботом и нажмём Command V. и видим то, что оно вставляется в видя кода, в виде JSON кода. Программирование без кода, конечно, реализовано не только в N8N, но здесь это реализовано очень круто и очень грамотно. Едем дальше. Это я уже сказал, да, то, что GSON. JSON - это JavaScript Object Notation. Он используется для передачи данных между приложениями в интернете, но это к делу не относится. Так вот, а также в нём есть expressions, то есть вот они динамические выражения, что добавляет очень круто гибкости. Я их только что вам показывал. Вот если мы откроем нашего и ассистента, вот видите, написано expression выражение. То есть по сути здесь написано одно и то же, но в зависимости от того, что мы ему отправили, давайте вот поменяем. Сейчас написано: "Ты помнишь своё предыдущее сообщение? " Мы можем зайти в чат, отправить ему просто что-нибудь. Вот так. И видим то, что здесь отобразилось то, что мы отправили. При том, что здесь написано ровно то же самое, что и было. Это динамическое выражение. Также можно нажать фиed. Тогда будет отправляться ровно то, что тут написано. То есть никакого динамического выражения не будет. Будет отправляться вот ровно тот текст, который тут есть, и всё. Ну это не круто. А вот это круто. Но вот этот фикст, он тоже периодически нужен. И эти вкладочки, они доступны везде. Здесь тоже доступно. Здесь доступно. Везде это доступно. Везде, где можно что-то ввести, доступно Expression, доступно Fixed. Также её ещё есть прикольная фишечка в Expression. Если вы нажимаете Expression, fix этого недоступно. Вот у вас, видите, такая кнопочка есть. Если вы её нажимаете, у вас на большом экране отображается, ну, всё, что вам нужно. Потому что когда бывают большие промты, очень удобно нажать на эту кнопочку и посмотреть, что тут происходит. Тут у нас показывается выражение, тут показывается результат нашего выражения. Крутая тема. Едем дальше. Также есть различные типы данных, такие как строки, числа, логические булин, ну, выражения, массивы и объекты. Что это такое? Может звучать сложно, как я тут написал, но это просто нужно знать. Впоследствии, когда вы с этим столкнётесь, вы будете более подготовленными. Чтобы вы понимали, где это всё находится. Оля узел edit. Давайте его откроем. Он называется либо Set, либо Edit. Ну, давайте наберём Set. Вот он. Edit fields, set, modify, add or remove item fields. Нажимаем строки, числа, логические массивы, объекты. Вот они где все находятся. Не только возле edit, но много где они бывают. Вот они. String, number, bullan, array, object. То есть string - это просто текст, просто текст выражения. Number - это числа, а - это правило, типа true, false. А array - это массив. И object - это объект. Не пугайтесь то, что непонятно. Вы как бы я вам зеюрну, так сказать, в голову посеял. Когда надо будет, вы об этом вспомните. Едем
Виды главных узлов n8n
дальше. Виды главных узлов в N8N. Сейчас мы разберём, а, основные узлы в N8N, которыми вы будете пользоваться. Ну, типа, 90% времени. Поехали. Все они у меня в отдельном workflow, чтобы лучше это всё было организовано. А, ну давайте, да, достанем сначала каждого из поиск, чтобы вы поняли, кто из них кто. Поехали. Первое - это if. Это узел, который выполняет условия в зависимости от истинности или ложности. Вот он if. Открываем. Да, пока что просто поставлю. Сейчас будем каждый разбирать. Дальше у нас идёт узел switch. Направление по разным путям в зависимости от условия. Дальше фильтр. Фильтр - это штучка, которая, пишем в поиске фильтров, отсеивает ненужные данные. Ну, на тонный фильтр. То есть мне не нравится, что-то соединилось. Дальше. Дальше у нас идёт merch. Он объединяет данные из разных веток рабочего процесса в один поток. Попозже разберём, что именно он умеет. Дальше у нас идёт Split in batches. Такой вот он. Он ещё называется Loop over Item Split in batches. Вот можете напить. Написано он. Короче, разбивает набор данных на порции бача для поэтапной обработки. Здесь можно настраивать эти порции бача. Либо один айтем, либо можно их поставить 10. Сейчас покажу, как это всё работает. Уже 1. 000 раз я это сказал. Да, он у нас вот так вот он вызывается по дефолту. Это мы заменяем, покажу попозже. Узел weight - это очень простой, полезный узел, который мы используем, когда нам нужно подождать какое-то время, прежде чем продолжить выполнение рабочего процесса. Узел се - это вы с ним уже все хорошо знакомы. Самый полезный узел, наверное, из таких системных, это узел, когда мы, ну, грубо говоря, преобразуем наши данные. Узел agгate - это узел для комбинации. Это узел для объединения данных. Комары лето всё-таки. Потом узел sort - это узел для сортировки данных. Узел Split out - это узел для разъединения данных. Узел Code - это то, о чём я говорил. Это когда, если вам не хватает функционала N8N, вы здесь можете в джавакрипте либо в Пайthне написать код. Для новичков, не переживайте, основного функционала N8N вам хватит на начальных этапах за глаза, но нужно знать о том, что тут есть такие возможности. И если вы уже умеете программировать, если вы кодер и пришли мои видео смотреть его вот освайте N8N, вот, да, знаете то, что если вам не хватает функционала, пожалуйста. И мой любимый узел, я его обожаю, он называется Do nothing. Он абсолютно бессмысленный, потому что здесь буквально написано, этот узел не имеет никаких параметров, он буквально делает ничего. Я его просто иногда люблю ставить в конце рабочих процессов, обозначая то, что он завершён рабочий процесс чисто ради эстетического наслаждения, визуального удовольствия. Но по факту к практическому применению это никак не относится. Никак. Я вот так
Как пользоваться узлами в n8n
всё оставлю нормально. Теперь давайте разберём подробно функционал каждого из этих узлов. Для этого я создал отдельный рабочий процесс. Каждый из рабочих процессов, который я показываю в видео, можно будет скачать в моём Telegram-канале. И я вам советую это сделать. Это вам поможет. Поехали. Начнём мы с узла if. Чтобы его активировать, мы берём обычный триггер, который активируется при нажатии вот workflow. Всё, он активировался. Да, изначально в этом триггере нет никаких данных, потому что он служит только для того, чтобы активировать workflow, но в него можно запихнуть данные. Полезная тема. Можно нажать на, а, вот карандашик и вот здесь вот написать следующие слова. А, кавычка, query, то есть запрос, кавычка закрывается, двоеточия, и опять кавычка открывается. И пишем то слово, которое нам нужно, чтобы он передал, да, какие-то данные. Ну, давайте слово пусть будет море. Всё-таки сейчас лето, всё на море ходят. Пусть будет море с большой буквой, да? Вот это уже, можно сказать, частично программирование, да? Вообще не совсем. Ну ладно. Вот мы нажимаем save. Готово. Да. Смотрите, что произошло. Вот открываем поле. Написано море. Открываем схема моря. Наш запрос. Если мы поменяем quy что-нибудь другое, здесь будет написано, ну, не Qy, а давайте, да, протестим. Можем написать вот так вот. Запрос. Готово. Нажимаем схема. Отображается теперь как запрос. Ну, это просто полезный лайфхак. Вот мы его закрепили. Если мы открепим, сейчас данные удалятся, поэтому откреплять я не собираюсь. Что мы делаем дальше? Вот у нас есть слово моря. Я вам демонстрирую, как работает узел if. Открываем. Мы берём, а, string, потому что у нас слово будет. Слово - это, ну, буквенное значение. Буквенное значение - это string, да. Если бы было число, было б number. Number, можно ещё дату time взять, кстати, да. Ну и так далее. Правила, массив и объект. Но мы берём сначала слова. Это самое простое. Можно выбрать разные значения. exist существует, не существует, пустой, не пустой, там содержит и так далее. Мы возьмём из equal to или из над equal to. Изту - это значит равен. То есть мы берём наш а запрос, переносим сюда. Что мы делаем? Нужно, чтобы результат этого запроса, ещё раз вот нажимаем на эту штучку, открывается на весь экран. Вот результат этого запроса, вот написано result моря, потому что мы добавили в данных море. Нужно, чтобы результат этого запроса, то есть слово моря, было равно чему? Допустим, слову тоже моря. И если оно равно, то тогда а направят его вот сюда вот true. Если оно неровно, то будет false. Давайте для наглядности я присоединю их вот сюда, да, а эту сюда, чтобы было лучше видно. Поехали. Сейчас должно всё сработать, потому что наш запрос моря, мы прописали то, что запрос входящий должен равняться море. и проверим, он должен сработать, да? Нажимаем test workflow и да, видим то, что он пошёл по линеечке true и активировался weight, про который я пока что вам рассказывать не буду. Попозже расскажу вот по ходу повествования. Вот ежели мы что сделаем, если мы напишем не море, а вот так морео, то вот он ушёл в узел флSс, да? Подключим ещё раз, чтобы было видно. Он не пошёл сюда, он пошёл вниз в узелфс, потому что наш запрос не равняется тому, что мы тут прописали. Это понятно. Есть очень полезная кнопочка здесь. Вот она. Нажимаем Add Option и нажимаем Ignore Case. Что это такое? Вот активируем. Это значит игнорировать регистр, да, по-моему, это называется. Если у нас, допустим, запрос моря, да, с большой буквы, а мы напишем здесь с маленькой буквы, то оно всё равно отобразится как труue и пойдёт вот сюда вот. Если мы уберём это значение, то всё сломается и оно будет отображаться как фолse. Вот видите? Поэтому очень удобная фича. Отлично. Узел if мы разобрали. Едем дальше. Узел switch. Здесь мы что можем сделать? Здесь мы можем, ну, здесь, по сути, можно сделать то же самое, только здесь это немножко более круто и продвинуто. Поэтому я всегда пользуюсь услом switch. Мы ставим сюда тот же запрос. Запросы. Вот видите, море. Если оно равно море, у нас пока что добавлен один выход. И в этом никакого смысла нет. Видите, один выход. Если мы нажмём сюда и нажмём add routing rule, во, у нас появится второй выход. Это значит, и мы можем их сделать огромное количество, хоть три, хоть там четыре пять и так далее. В зависимости от того, какое условие нам нужно, по тому пути мы можем направить наши данные. Вот по одному из трёх. Они оди один может пойти сюда, другой сюда, ну там и так далее. То есть это очень крутой инструмент, я им постоянно пользуюсь. Ну и это логично, он всем нужен. Здесь у нас как работает? То же самое. Всё, берём, если у нас те же значения, берём из equal to для простоты, то есть равен, если наш запрос моря равен моря, то он пойдёт вот сюда. Ну и здесь мы можем ставить другие значения, да? То есть, допустим, наш запрос равен горы. То есть, если он будет равен моря, он пойдёт сюда. Если горы, сюда. Здесь ещё есть прикольная фича. Можно нажать rename output и вот тут добавить море. А вот тут добавить горы. И теперь вот здесь вот в интерфейсе будут обозначаться не как 01, а как море и горы. То есть это очень удобно, чтобы ориентироваться в workflow. Здесь также можно нажать Ignore Case. Вот оно. То есть игнорировать написание. И это сработает точно так же. Нажимаем ещё раз. Да, вот оно активировалось. То, что море в горы не пошло, потому что у нас здесь значение моря. Если мы его поменяем вот тут вот на горы, то и, соответственно, он пойдёт по этому пути. Здесь всё понятно. Очень крутой инструмент. Пользуйтесь им. Ну, скорее всего, вы будете им пользоваться, потому что он реально постоянно пригождается. Едем дальше. Узелфильтр. Это узел, который фильтрует данные. Как это будет работать? Берём наше море, которое было, ставим сюда. И, а, здесь нужно, чтобы результат был небо. Это значит, что произойдёт? То, что вот он не пропустил дальше, потому что он отфильтровал наши данные, потому что они не соответствуют нашим условиям. Но если мы тут напишем опять же море, да, и включим опять же вот, да, ё-моё, море и включим вот эту штучку ignнорй, то да, видим, оно соответствует нашему условию и пропускает данные. Здесь всё понятно, просто фильтр тоже иногда пригождается. Едем дальше. Дальше, что я поставил дальше у нас узел merge. Он объединяет данные из двух разных рабочих процессов. Объединяет он данные данные. Сейчас покажу, как именно. Тут уже немножечко посложнее правила этого видео. Если вы не совсем до конца это понимаете и не понимаете, зачем вам это нужно, просто посмотрите, когда а в вашем Workflow, в вашем проекте каком-нибудь у вас возникнет проблема, которую можно решить с помощью вот тех инструментов, которые я тут показываю, вы вспомните об этом видео, посмотрите его ещё раз и тогда уже этим воспользуйтесь. То есть нужно, чтобы оно у вас там лежало где-то на подсознании, то, что такая опция имеется, это важно. Узел Merch, что он делает, да? Здесь уже для примера нам нужны, а Google таблица. Вот они, эти таблицы. Эта таблица input 1, а вот эта таблица inputт 2. Видите, здесь прописаны разные значения. Да, ё-моё, мушки, лето. Зачем тут прописаны эти значения? А вот зачем. Начнём с append. Она просто объединяет вот эти пять айтемов, и на выходе получается 10 айтемов. У нас было здесь пять в табличке. Вот мы нажимаем схема Jon таблица. Табличка. Тут их пять штучек. Здесь тоже пять штучек. Они у нас вместе объединяются. Получается 10 штучек. Просто объединяются, несмотря на то, есть ли в этих таблицах схожие значение, они тут есть. То есть вот, к примеру, молоко, сыр, яйца, сыр. Сыр с трюфелем 45%, да, и дальше всё тоже совпадает. Его это не волнует, он всё объединяет. Почему это важно? Потому что дальше у нас идёт комбайн. Что такое комбайн? Это машина для полей. Нет, комбайн - это такая штука, которая А вот Match and Fields мы разберём. Matching fields это значит совпадающие поля, да? Что мы делаем? А мы выбираем здесь поле для совпадения. То есть на основе какого поля мы будем сравнивать совпадение. Вот мы берём, да, наименование товара и, но только нужно не так написать, нужно написать вот так вот наименование товара. И что мы тут делаем? У нас есть, а, output types keep matches, то есть проверим, да, что это работает. Получается три штуки. То есть, что он сделал? Он сравнил, какие данные в этой таблице и в этой таблице совпадает. СРФ с труфлем совпадает. А, творожное зерно совпадает, и шоколад очень горкий, 100 г совпадает. И вывел нам только те значения, которые совпадают в двух таблицах, потому что мы выбрали keep matches, сохранить совпадение. Если мы выбираем keep non matches, то он делает ровно наоборот. Он, а, выдаёт нам те значения, которые есть в единственном числе. А те значения, которые у нас совпадают, вот эти вот, он не учитывает, зато учитывает вот эти, да, которые у нас оригинальные. Дальше. Keep everything. Keep everything значи, что он сохраняет всё, но не совсем всё, потому что здесь написано семь айтемов, а у нас их всего 10, пять и пять. Keep everything - это значит то, что он объединяет, а данные отсюда и данные отсюда. Но если есть совпадение, вот сыр с трюфелем, он оставляет его только один раз. Вот где сыр с трюфелем, он его оставил только один раз. Поэтому так как у нас А здесь три значения одинаковые и здесь три значения одинаковые, он убрал их один раз и получилось семь айтемов. 10 - 3, получается семь. Вот. А если же мы хотим, чтобы он сохранял всё, несмотря на совпадение, как я уже говорил, мы нажимаем append, тестируем, и получается 10 айтемов. Вот, отличная штучка. Также здесь можно подключать огромное количество инпутов. Можем нажать два, можем нажать хоть пять. И вот из пяти разных таблиц вот сюда их подсоединять. Вот так работает узел merch. Дальше по плану я написал split in batches. Получается, разбивать на бурданах на порции бача для поэтапной разработки. Это у нас вот такая штучка, да? Как я уже говорил, если мы его вызываем заново, только не по-русски, а по-английски, split and batches loop over items. Он выглядит вот так вот. Где он? А вот он. Он выглядит вот так вот, если мы вызываем его заново. Тут штучка написана replace me. Мы её заменяем. Я её вот в данном случае заменил полем Edit Fields, чтобы было понятно, что он делает. Что-нибудь надо подсоединить сюда. И давайте мы подсоединим как раз наш предыдущий процесс для демонстрации. Loop over Items это штука, которая делает так, чтобы каждый из десяти айтемов обрабатывался по одному. И до тех пор, пока они вот так все не обработаются, вот такой раз пошёл, два пошёл, три пошёл, он их вот так всех по одному обрабатывает, пока они все не закончатся. Их может быть тут 500, да, когда парсинком вы занимаетесь. А здесь я вместо каких-то там других инструментов я покажу на примере Edit Field. Что нам нужно сделать? Открываем, нажимаем Open, нажимаем fixed. А batch size. Что это такое? Это сколько айтемов мы обрабатываем за раз. Мы можем поставить пять, и тогда у нас эта штука два раза всего прокрутится. Можем поставить один. Обычно это один. Давайте оставим один. Тогда у нас оно 10 раз прокрутится, чтобы каждый атом обработать. Что мы делаем возле сет? Открываем уet. И у нас возле set. А давайте мылet, как я говорил в предыдущих видео, он, а, как бы меняет лейбл, который висит на наших данных. То есть, к примеру, у нас есть категория, да, ну, давайте я уберу, чтобы было понятнее. То есть он меняет лейбл, который написан на наших данных. Вот у нас лейбл на наших данных написан в данном случае категория молоко, сыр, яйца, да? Поставим его сюда. И, допустим, мы хотим его поменять и напишем не категория, а слово. Здесь мы, допустим, возьмём состав, тоже пере перенесём сюда и напишем содержание. А здесь пусть будет белки. Напишем протеин, потому что мы хотим поменять этот лейбел. Ну, давайте сразу нажмём test workflow. Он очень быстро отработался. Если бы тут было 500 айтемов, он бы их вот так прогонял, прогонял. И что мы тут сделали? Да, получается, у нас на входе а были данные категория, теперь стало слово, да? Смотрим, что тут написано: "Молоко, сырь яйца". Теперь написано слово молоко, сырь яйца. То есть те же данные, просто лейбл, этикетка на них поменялась. То же самое с протеином и так далее. Вот как раз, да, демонстрация, зачем а этот split and bches нужен, чтобы разделить массив данных на it по одному, чтобы оно обрабатывалось по одному айтему. И с этим каждым айтемом мы могли сделать какие-то операции, какие-то преобразования. По факту тут они не отображаются, но если вот у нас появилась возможность их посмотреть. Вот у нас первый айтем, да, смотрим. Молоко, сырьяйца, содержание молоко, нормализованное, пастеризованной, регулятор кислотности. То есть это у нас для вот для этого значения можно нажать второе, оно меняется, третье меняется, четвёртое меняется, потому что по сути мы взяли наш массив данных, вот он, который существует в виде таблицы, и каждый из них обработали по очереди, потому что если не поставить вот эту штучку split and баes, то они будут обрабатываться как массив, а нам нужно, чтобы они обрабатывались не как массив, а как каждый отдельный айтем. Каждая строчка - это равно отдельный айтем. В виде table оно отображается как 10 разных значений, но в виде схема оно не отображается как 10 разных значений, оно отображается как одно значение. Просто вот они, да, все категория там и так далее. А здесь теперь мы можем посмотреть, да, теперь каждый из них вот отображается как разные значения. Вот оно творог, вот оно шоколад, вот оно творожное зерно. Здесь у нас таких возможностей вот, ну, не было. Зато была таблица сразу с данными. А, надеюсь, понятно, зачем это надо. Пример, на самом деле, не очень хороший, но для более наглядного примера я не успел подготовиться. Ну нет, на самом деле более наглядный пример, как мне показалось, он был бы сложным, поэтому пока что так. То есть это штучка, чтобы обрабатывать каждый айтем по отдельности. Так вот, мы обработали И вот я добавил Google Sheet Append to Sheet. То есть вот сюда вот мы сейчас добавим наш результат. А вот у нас получается остаётся только слово содержание и протеин и только они у нас будут на выходе. Нажимаем test workflow. Оно заполняется в таблицу. Вот слово содержание протеин. Только они и остались. Просто мы, по сути, поменяли этикетки. Готово. С этим разобрались. Разобрались. Дальше узел Wй. Слава богу, с узлом Weight всё очень просто, да? Тоже его перенесём сюда к нашему массиву данных, потому что так будет проще. Поэтому можем, ну, не удалить. Давайте просто вверх перетащим или вниз. Вот сюда вот сейчас покажу, что умеет узел Wightй. А, допустим, мы ставим, да, 5 секунд задержку. Включаем. Опа, да, дошло до узлавей, он ждёт 5 секунд. Я считать не буду. Проходит 5 секунд, он активирует то, что идёт дальше. Также здесь можно выставить, ну, не в секундах, в минутах, там, в часах, в днях, да, удобно. А после определённого времени, а в специальное время тоже addified time, то есть в специальную дату время он может активироваться по узлуй здесь всё просто, просто ждёт узел. Угадайте, что такое усеet? Это то, что мы использовали уже миллион раз. Вот он наш уелсе, который меняет нам, ну, грубо говоря, лейбл этикетки. Также он работает с другими данными. Отличная тема, очень часто его использую. Едем дальше. Дальше у нас есть узел Aggгреate. Это уже узел для как раз создания массива. Что он делает? Я вот сюда перенёс, сюда нажал. А если мы нажмём all item data into single list и нажмём step, вот что он нам сделал, да? Сделал единое поле, в которое а в таблице вписал все наши данные, которые идут отсюда. А что он вырубился? По сути, узел Aggгреate - это вот эта штука, которая преобразует наши данные специальным образом. Это тоже периодически используется в N8N. Пока что вам это не пригодится, кстати, да, на начальных этапах, но я почему-то решил это включить видео. Едем дальше. Дальше у нас узел сорт. Ну, узелсорт здесь всё просто. Он просто сортирует данные, да, вот от нисходящего к восходящему и наоборот. Но он сортирует, поэтому давайте возьмём какое-нибуд числовое значение. Давайте с углеводами попробуем. Вот. Нажимаем тест и обращаем внимание, что он сделал, да, отсортировал по возрастанию, только он ориентировался на углеводы. То есть вот оно от нуля до 2 3 26. Если мы поставим descendди, нажмём тестп, он отсортировал наоборот. Также мы можем здесь использовать значение не только углевода, любое, которое тут есть. К примеру, row number, да, видите, оно сейчас в разброску, типа 62. Поставим row number descendent, то есть нисходящее 666 554 322 и восходящее. Отлично работает. Также тут можно включить код. Ну код не надо сейчас на этом этапе можно включить рандом. Он тогда будет просто, ну, на рандом по-разному сортировать, как ему хочется эти данные. Может пригодиться. Дальше, что у нас идёт дальше? Есть узел Split Out. Что у нас делает узел сплита? Вот он у нас, как я тут написал, он что он делает? Отделяет, да? Да, вот именно отделяет данные. А как это работает? Возьмём наш, ну, допустим, категория, да? Только не вот так нужно именно так, как оно вот здесь написано. Категория. Мы выбираем поля для разделения. Ну, давайте нажмём no other fields. Он видит таблицы. Нам оставляет только категория, то есть все остальные столбцы он убрал. Мы можем здесь включить разные значения, типа, а all other fields, то есть все поля. Получается, он выдаёт просто то же самое, да, так это и должно работать, но категорию он передвинул, кстати, в самый конец. А если мы нажмём selected other fields, то есть мы выводим поле категория и можем добавить ещё какие поля нужно выводить. Ну, допустим, да, белки. Нажимаем test. Видите, он выделяет категория и выделяет белки. Больше ничего не выделяет. Мы можем добавить сюда, например, ещё и жиры. Почему бы и нет? Да. Вот мы добавили сюда ещё и жиры. Вот через запятую их нужно добавлять. И можем добавить ещё там, ну, углевода. Всё. У нас на входе получается были вот такие данные, а теперь такие. Мы убрали лишние столбцы, оставили только те, которые нам нужны. Это удобно для преобразования данных. Отлично. Такой инструмент есть. Вы запомнили? Узел код. Мы его разбирать не будем, потому что узел код - это, ну, тема, что писать код буквально. То есть здесь можно на Пайthне, можно на Джава скрипте. Python бета, кстати. И, ну, здесь вы можете прописать код, если вам не хватает функционала. Если вы начинающий пользователь, опять же, вам это не надо. А впоследствии, даже если вы не умеете кодить, есть такое целое направление, как vibe cing. Это когда вы с помощью неросети кодите, вы научитесь работать с нейросетью специально, заточите её конкретно под N8N и какой-нибудь Clot Opus 4, да, к примеру, про который у меня тоже ролик был, а, предыдущий. И сможете уже, когда вам не будет хватать функционала N8N, и вы сможете вот с помощью нерасти что-то кодить, сюда ставить и будет срабатывать. Дальше узел Execute Workflow - это очень интересная тема. Что он делает? Это узел, который вызывает другой рабочий процесс. Опять же, отслась к своим видео. Ну ладно, почему нет? Но они реально хорошие, посмотрите. Вот у меня было второе видео, где я разбирал то, что я создал армию и агентов. Там это я уже использовал. Вот у нас есть один целый рабочий процесс, как я объяснял. Вот он, я назвал его узлы. Но мы можем внутри нашего рабочего процесса поставить узел execute workflow, чтобы вызвать другой рабочий процесс. К примеру, вот базовый и агент. Вот у нас есть Execute Workflow. Мы вызываем наше другое рабочее пространство. Здесь мы ставим триггер, то, что он активируется, когда оно вызывается с помощью этого узла. Открываем. И здесь нам нужно выбрать, какое рабочее пространство мы вызываем. Здесь можно нажать from list. И вот я выбрал базовый и агент. Теперь сейчас я спину почешу. О, кайф. Нажимаем тест workflow. Оно вызывает сейчас вот этот вот workflow. Он его вызывает. Готово. Он нам выдал output. То есть он перешёл в нашего базового агента. И агент прочитал наш запрос, ответил нам, и его ответ уже вышел вот здесь вот. Вот мы его можем посмотреть. Он выдал: "Привет, пожалуйста, напиши, какой именно запрос или тему ты хочешь". То есть мы вызвали вот этот рабочий процесс внутри этого рабочего процесса. К примеру, когда вы создаёте и агентов, а сейчас покажу, как это, да, выглядит. Вот вы создаёте и агентов, и в тулах вы можете подключить ему call hour workflow tool. То есть это, по сути, то же самое, но в виде инструмента. Здесь уже будет работать по-другому. Это было в моём втором видео про армию иагентов. То есть здесь будет иагент, который у нас будет думать и принимать решения. А здесь будут разные такие инструменты. Когда нам нужно будет обратиться к календарю, к примеру, он будет обращаться к специальному тулу, который вызывает наш workflow. Мы, допустим, откроем другой workflow, и тут у нас будет наш календарь. То есть это очень удобно. Вместо того, чтобы нагромождать большим количеством инструментов нашего и агента, мы разделяем это на других маленьких агентов, которых он может вызывать. Это наиболее частый сценарий использования. от инструмента Execute Workflow. Дальше у нас Do nothing. Вот он, мой любимый узел, как я уже сказал, который делает буквально ничего. Ну давайте вот нажмём, да, ещё раз. Вот я получаю своеобразное эстетическое наслаждение, когда происходит это, когда у нас как бы завершается рабочий процесс, и мне нравится в конце поставить штучку doфиing, зная то, что всё готово и дальше ничего не должно происходить.
Webhook и HTTP Request это
Едем дальше. Мы разобрали виды главных узлов, и у нас есть узлы Webhook и HTTP request. Вот написано: N8N позволяет подключать множество разных приложений с помощью более 400 встроенных интеграций: Gmail, Twitter, Outlook. Все они существуют в качестве тылов для иагента и как узлы. И по сути это и есть HTTP requст. Именно так. Смотрим, да, http request. Если мы напишем вот так, здесь что-то сложное и непонятное, но по сути, по сути все наши инструменты, которые мы тут вызываем, Google документы, да, create документ, вот он инструмент. Или мы вызываем инструмент какой-нибудь, ну, давайте по Гуглу пойдём, да, Google Sheets. Это всё и есть HTTP реквесты. Это HTTP реквесты, которые уже разработчиками N8N заранее преднастроены для определённых задач. То есть этот преднастроен конкретно для создания Google документов. Это для создания Google таблиц. Но бывает такое, да, несмотря на то, что здесь более четырёх встроенных интеграций, бывает такое, то, что вам нужно обратиться к сервису, которого нет в N8N. Но это не беда, потому что тогда вы можете настроить это вручную, этот HTTP request, и обратиться к любому, абсолютно к любому сервису, у которого есть API. Ну, у всех сервисах есть API, да, напомню то, что API - это мост между N8N и сервисом. Вот если что-то не будет, не будет каких-то сервисов, в любом случае можно разобраться и вызвать это через HTP request. Я вот тут вызывал нерасеть перплексе для поиска в интернете. То есть вот у меня URL, я сейчас объяснять не буду, что тут происходит. Авторизация, то есть тот же API ключ, данные, почта. И здесь мы пишем наш запрос, наш промт тоже определённым способом. Об этом позже на этом же канале обязательно расскажу. Едем дальше. Да, вебхуки. Вебхуки - это наши триггеры. По сути вот вебху является инструментом для получения данных из внешних источников в режиме реального времени и запуска рабочих процессов по событиям. Это те же триггеры. Вот у нас вебхуки, которые я показывал. Вот у нас вебху Telegram. Веху может быть на приём сообщения в Gmail. Может Webхуhook на изменение файла в Google Drive. Ну, на что угодно, может быть, Webhook. Опять же, все эти вебхуки, которые сейчас я говорил, там Google, Telegram и так далее, это разработчики N8N упросили нам задачу, точно так же, как и здесь. И там запариваться особо не нужно. Можно их просто выбрать, они будут работать. Но если нет какого-то сервиса, который вы бы хотели сделать триггером, то есть, допустим, какой-нибудь сервис, я не знаю, там Одноклассники, вряд ли он тут есть, ну, допустим, мало ли, вдруг вам нужны Одноклассники, и вы хотите, чтобы у вас рабочий процесс запускался там на то, что у вас под постом пользователь оставил комментарий, тут его не будет. И в таком случае, опять же, можно вот тут набрать webхуhook, вот, который, да, отображается как триггер, и тут уже настроить это подключение. Едем дальше.
Автоматическая обработка ошибок n8n
Узел обработки ошибок. Вот это тоже крутая тема. Сейчас продемонстрирую. Это NMN предоставляет механизмы для обработки ошибок, позволяя настроить выполнение других рабочих процессов при возникновении сбоев в основной автоматизации. Показываю, как это работает, да? Берём опять же нашего базового агента, нажимаем active, то есть активируем, нажимаем на эти три точки и жмём Settings. Здесь можно настроить вот этот параметр Error Workflow. То есть, что происходит, когда у нас происходит ошибка в нашем рабочем процессе, и мы можем выбрать здесь запустить другой рабочий процесс, точно так же, как и мы делали наш Execute Workflow, только здесь он будет запускаться именно на ошибку. Как это можно использовать? Нажмём save. Уберём здесь чат моде, нажмём save. Если мы сейчас отправим ему сообщение в телеграме, он 100% выдаст ошибку, потому что у него нет чат модул. Давайте проверим. Нажимаем, пишем. Вот. И он нам ответил. Тут ошибка. Как он это сделал? Да, давайте проверим. Нажимаем Executions. Мы видим вот только что 173307, сейчас 1733, я вам обещаю. Мы видим то, что вот мы убрали чатмо, он нам выдал ошибку и активировался другой рабочий процесс. Какой рабочий процесс активировался? Я его назвал error workflow. Вот он активировался этот рабочий процесс. Нажимаем Executions и видим то, что вот 1733. В этом рабочем процессе мы поставили отправление сообщения в Телеграме. И мне отправилось сообщение в Телеграме о том, что тут ошибка. Вот я продемонстрирую. Я нажимаю open. Вот я написал, тут ошибка. А сейчас покажу, как это всё сделать, да? А вот так. Нам нужен как раз error trigger. Жмём сюда и пишем error trigger. Вот эта штука и активирует наш рабочий процесс, когда в другом рабочем процессе у нас возникает ошибка. Вот. Здесь можно настроить что угодно, чтобы вам на почту отправлялось в Телеграме, где угодно. Как это настроить, я уже показал. То есть вот наш основной рабочий процесс. Нажимаем сюда, Settings. И вот тут вот мы выбираем тот рабочий процесс, который должен запускаться при ошибке. Очень крутая тема. Если вы какие-то, ну, готовые решения делаете для компаний, и важно, чтобы всё работало. И если возникала ошибка, важно моментально это всё исправить или пофиксить, вот эту тему настроить, будет круто. Допустим, у вас сломался бот, вам приходят сообщение в Телеграме, и вы, ну, пишите своей команде то, что нужно исправлять ошибку прямо сейчас. Ну, скорее всего, это не так будет. Скорее всего, в вашей команде напрямую будут отправляться сообщения о том, что произошла ошибка, и они моментально смогут её исправить. Очень прикольная тема. Едем дальше. Дальше у
Инструменты памяти и что такое RAG
нас есть инструменты памяти. Инструменты памяти следующие. А, есть Simple Memory. Это самая простая память, которая сохраняет контекст. только что показывал в базовом и агенте то, что он не помнит контекст, если мы не даём ему память. Он это воспринимает как разрозненные сообщения. Мы даём ему простую память. Можно не только простую, но пока что пусть будет простая. И он помнит весь контекст. Есть также Simple Vector Store. Это векторная память, более продвинутая, но здесь уже мы переходим вот endдинг, мы переходим уже к raг агентам, к рагстеме. Но вкратце рак, ну вот, чтобы более подробно рассказать чуть-чуть, рак - это переводится как вот retrieval augmented generation, получается поисковая дополненная генерация. Это когда, ну, зачем он нужен? У каждой языковой модели, у чата GPC есть ограничение. Оно считается в токенах, то есть у него есть контекстное окно. Это максимальное количество токенов, которое он может принять за запрос. Допустим, для простоты мы прировняем слова и токены. И пусть будет контекстное окно, хотя оно на самом деле больше, там несколько сотен тысяч. Ну, допустим, оно у него 50, да, 50 слов контекстно окно учата GPT. То есть вы можете отправить ему сообщение из 40 слов, он его поймёт. Сообщение из пся Но если вы отправите сообщение из 60 слов, то он обрежет ваше сообщение. А последние 10 слов, которые будут в вашем сообщении, он просто обрежет. Чтобы решать такие проблемы, да, когда вы, допустим, хотите, ну, не хотите читать книгу. Книга - это достаточно большой источник информации по объёму. Вы её не хотите читать, вы хотите её изучить с помощью чата GPT. И вот для этого и нужен раг. То есть книга не влазит в контекст, она точно не влезет в 50 слов по ограничению, но вам хочется работать с этой книгой, чтобы её не читать, а чтобы спросить вопрос: упоминается ли в этой книге то-то? Упоминается ли в книге Властелин колец там Фрода, и чтобы он мог вам ответить. Для таких задач существуют рагагенты, как раз Retrieval Auged Generation. Вкратце он разбивает книгу. Вотлин колец в данном случае разбивает его на векторы, то есть на небольшие вот такие вот кусочки. Когда вы пишете запрос типа фигурирует ли Фрода в книге Властелин колец, специальная поисковая система сначала ищет а вот эти фрагменты, которые соответствуют вашему запросу, а потом берут этот фрагмент и добавляют его в промт. Наверное, я сложно объяснил. Суть в том то, что раг система позволяет брать файлы и, ну, вообще информацию в целом, которая не влазит в контекстное окно нейросетей, и делать так, чтобы с ними можно было работать. Вот, если вкратце, я говорю, это тема для отдельного ролика, здесь нужно подробно объяснять, но вы можете подписаться на мой приватный Telegram-канал, где можно задать мне любой вопрос. Я его подробно разберу. Также там будет выходить дополнительный углублённый контент. Если у вас будут возникать ещё вопросы по этому углублённому контенту, я буду вам отвечать. В целом в текстовом виде я смогу вам ответить и пояснить то, что вам не понятно и то, что вас интересует, и помочь вам. Всё это будет реализовано в моём закрытом приватном Telegram-канале. Все подробности об этом Telegram-канале я напишу в своём основном Telegram-канале. Вот ещё один повод подписаться на основной Telegram-канал. Едем дальше. Ресурсы для
Обучение и развитие в n8n
обущения и развития. N8N предлагает обширную документацию и большую библиотеку шаблонов активного сообщества, который можно использовать для быстрого старта, изучениние идей решения типовых задач. А есть вот сайт docs nv8@gmail. com. Вы можете его читать. Есть сайт комьюниity, где люди переписываются, задают вопросы. Здесь можно искать шаблоны, здесь люди делятся своими шаблонами. Это реально полезная тема. Но как можно сделать это? Можно частично автоматизировать через стента внутри официального LMN. Опять же, если вы купили вот, э, если вы купили подписку на N8N официально, у вас тут будет ассистент, который подвязан уже сразу к документации и к коммьюнити, и он видит ваш рабочий процесс. У него вы можете спрашивать, он вам будет всё хорошо отвечать. Если у вас пробная версия 14 дней, то он у вас тоже тут будет. Что ещё есть? Есть CloudД Opus 4, который умеет генерировать сразу готовый GSON код, экономить время на начале создания проектов. Это я показывал в своём предыдущем ролике. Это тоже прикольно работает. Сейчас я про это подробно говорить не буду. Просто посмотрите предыдущий ролик, и тогда вы вам он сможет генерировать готовый шаблон, который вы будете вот так вот ставить в N8N, и вам будет проще начинать работу над новым проектом. И важность практики для эффективного освоения N8N крайне важна практика. Создание собственных рабочих процессов. Старайтесь чаще собирать workflow с нуля, либо воссоздавать поэтапно, но не копировать готовые шаблоны. На начальных этапах это даст вам огромное количество полезного опыта. Я знаю то, что многие любят посмотреть видео в Ютубе, просто взять готовый шаблон и всё, не разбирать его, ничего, просто сделать то, что говорят ролики, как-то там добавить криеншилы в шаблоне, и сразу всё работает. Но проблема в том, то что это вас особо не развивает. А чтобы развиваться, вам нужно, ну, к примеру, задумать собственный проект и попытаться его реализовать с нуля. Начните с самого простого. Начните с бота вот такого же, да, базового и агент. Потом придумайте то, что вы можете к нему подвязать Google календарь и какие-то действия совершать. Потом то, что вы можете к нему подвязать Google диск и какие-то действия совершать. Ну и так далее. То есть нужно практиковаться. Ещё один хороший инструмент, да, как я написал, в вы можете брать готовые шаблоны с Ютуба N8N, можете их копировать, э, в ваш workкflow, опять же, да, в рабочий процесс, и можете их дублировать поэтапно, копировать поэтапно. То есть вы видите их выше, но не заглядываете внутрь, либо по памяти, да, вот увидели их и пытайтесь также восстановить. Вы знаете, какой у них функционал, вы их там потыкали и так далее. Смотрите, если у вас что-то не получается, вы смотрите на оригинал, да, шаблона. Смотрите, как это решено, и думаете: "Ага, понятно. То есть, если у меня возникает вот эта вот проблема, вот таким вот образом её можно решить". Очень полезная тема. Я помню ещё, я просто музыкой раньше занимался, помню ещё этот Слава Мерлоу говорил то, что лучшее упражнение для битмейкеров - это взять какой-то бит чужой какой-нибудь популярной песни, к примеру, которая вам нравится, и попытаться его воссоздать. Вы не знаете, какие там были использованы инструменты там вот эти все. Никто не шарит тут за музыку, поэтому не буду вникать. не знаете, какие ки, клэпы, басы, а какие синты там использованы, вы их подбираете на слух. Вот также и здесь, ну, смотрите на рабочий протес, предполагаете, как его можно воссоздать, и пытаетесь это сделать. А потом, если не получается, вы проверяете, как это реализовано в оригинале. Делайте так. Это поможет. Это реально поможет. Ну и все шаблоны из видео у меня в Telegram-канале. файл в формате PDF со всем этим текстом, который можно закинуть в ноутбук LM, прикрепить документацию NML, прикрепить ссылку на это видео и попросить его объяснить то, что непонятно, тоже есть в Telegram-канале. Про ноутбук LM сейчас покажу вкратце, да, как это работает. Вот вкратце как ноутбук LM работает. То есть вы нажимаете загрузить источники, загружаете файл, который я вам прислал. Здесь вы загружаете YouTube видео, которое я выпущу. Пока что я его не выпущу, поэтому не могу его загрузить. И вы загружаете сайт. В сайте вы загружаете документацию по N8N, то есть вот эту вот ссылочку, да, N8N Docs. Готово. И дальше, что вы можете тут сделать? Вы можете нажать ментальная карта, можете сгенерировать подкаст, прикольная тема, на 7 минут. И здесь можете задавать специфичные вопросы, допустим, что такое set? То есть, а, таким образом вы можете закреплять этот материал, который вы только что прошли. Если вам что-то специфично непонятно, можете вот так вот спрашивать, он будет вам это всё рассказывать. Более подробный гайд по ноутбук LM оставлю в своём Telegram-канале, да, поэтому стоит подписаться. Спасибо, что посмотрели это видео. Смотрите и другие ролики на моём канале, например, вот это. И пока. M.