YouTube to Text Converter

Transcript of Как Сделать RAG на Supabase 100% Бесплатно и Локально для ИИ Агента По Шагам (n8n, Ollama, Supabase)

Video Transcript:

всем привет Тема Рак - это та тема которую мы уже покрывали неоднократ на нашем канале Но почти под каждым видео есть один и тот же вопрос или сразу несколько вопросов Возможно ли делать векторизацию формировать имбединги локально возможно ли держать нашу базу данных векторную базу данных локально возможно ли все нейронки запускать локально возможно ли N8N делать локально каким образом всё это делать прямо на моей машине абсолютно бесплатно И сегодня мы шаг за шагом даже если мы никогда этого не делали раньше пройдём процесс разворачивания NCMN Supase нейронок локально полностью на вашем компьютере Всё это будет работать даже без интернета Цена использования нейронок будет ноль По сути ваша стоимость - это стоимость электричества которое вы используете Помимо этого раз у нас всё работает локально мы с вами научимся работать с локальной файловой системой забирать тексты из наших файлов удалять записи из локальной superbase векторизовать все данные в локальных таблицах для имбедингов общаться с нашими данными на основе локальных нейронок аламы и всё это будет крутиться прямо у нас на локал хосте Ну что погнали Но прежде чем мы начнём обязательно подписывайтесь на этот канал ставьте лайк ставьте колокольчик потому что так работают алгоритмы Ютуба Итак больше людей узнают много новых полезных знаний Важный нюанс: мы не будем использовать вот эти монструозные пакеты которые мы использовали в наших предыдущих видео для того чтобы развернуть вообще всё для нашего Истека Мы будем идти ровно так же как если бы мы мыслили как начинающие люди которые интересуются искусственным интеллектом и как это всё запускать на собственной машине О'кей мне точно нужны автоматизации low code Да я хочу построить наверное их на N8N Прямо отдельно поставим N8N О'кей мне нужно где-то хранить мои данные мои имбединги и те данные с которыми я работаю в своих автоматизациях Хорошо мне нужен постгрес мне наверное нужна Superbase О'кей а если я хочу нейронки все иметь у себя на локальном компьютере хорошо мне наверное нужна алама То есть прямо шаг по шагом не будем прямо пытаться сразу всё покрыть а пошагово пройдём по процессу и в конце получим 100% рабочий вариант который точно будет работать у вас на компьютере Мы всё будем разворачивать в докере да мы это уже делали с вами и обсуждали в других видео когда мы разворачивали NVO CN на виртуальных машинах Это просто очень удобно Мы не будем тратить много времени и говорить что такое Docker да нам просто он нужен на нашей локальной машине Мы прямо гуглим Docker да заходим на docker.com и здесь нажимаем скачать Docker для desktop да в зависимости от того какая у вас система скачиваете вашу версию докера и запускаете докеer Вот я только что запустил свой докеer Он у вас будет выглядеть точно так же У вас здесь будет вкладка с контейнерами то есть наши пространства где будут крутиться наши приложения Ну у вас будет вкладка с образами да то есть это слепок вашего приложения которое мы будем запускать как раз в контейнерах Важный нюанс вот эта инструкция она только для вашей локальной машины Мы будем пропускать некоторые важные шаги которые требуются для того чтобы это всё работало безопасно виртуальной удалённой машине И вот эти шаги мы обсуждали в одном из прошлых видео Вот если вам нужен такой вариант вы где-то хотите запускать вашу автоматизацию сходите на соседнее видео и посмотрите как это делается правильно Для локальной машины можно будет пропускать какие-то аспекты потому что мы знаем что никто кроме нас не будет иметь доступ к нашим контейнерам к нашим образам Никто не больше не будет пользоваться нашей автоматизацией Это очень важно Так помимо докера нам понадобится какая-то папка на нашем локальном диске и терминал который открыт в этой папке Мы сейчас прямо с вами всё это сделаем Вот я только что создал папочку которая называется AI где-то у себя на локальном драйве И теперь мне нужно запустить терминал в этой папке Как запустить терминал в зависимости от вашей операционной системы вы используете ваш способ Покажу некоторый способ который всегда легко осуществить обязательно себе установите какую-то среду разработки Это может быть VS-код это может быть курсор это может быть WSF это может быть любая другая среда разработки Потому что в любом случае если мы с вами занимаемся искусственным интеллектом в будущем нам понадобится чуть-чуть пописать кода довольно простого для того чтобы мы прямо могли гибко настраивать наши процессы автоматизации Вот у меня есть мой курсор Здесь я нажму открыть проект прямо выберу папочку которую я только что создал которая называется AI Она совершенно пустая Открываем эту папочку и видим совершенно пустой экран Нам в принципе это и нужно На нажимаем кнопочку терминал новый терминал И мы видим что наш терминал запустился именно в нашей папке в которую мы хотели попасть Отлично Мы практически готовы к тому чтобы начинать устанавливать различные локальные сервисы на нашу машину Первое с чего мы думаем да наверное мы думаем про автоматизации но на самом деле я всегда предлагаю начинать с базы данных То есть хорошо нам нужна база данных которая будет работать прямо на нашем компьютере Мы хотим использовать Superbase Мы любим Superbase Это тот же постгрес но уже с векторными расширениями поставленными туда Работает прекрасно как для имбединга в векторизации так и для реаляционных данных Каким образом мы хотим себе поставить Superbase мы прямо не будем ничего выдумывать с вами Вернёмся в наш браузер и так и напишем Superbase Docker Отлично Первая же ссылка будет называться Self Hosting with Docker Supase Docs Здесь прямо расписано каким образом нам установить нашу Superabase и развернуть это в докере Более того тут есть конкретный скрипт который нужно запустить в нашем терминале для того чтобы всё заработало Важный поворотный момент Если вы прочитаете что тут написано да мы клонируем какой-то репозиторий мы переходим в папочку проекта мы копируем различные файлы и потом мы копируем наш фейковыйnvample в dnv Что значит фейковый superabase позаботились о нас и наполнили некоторые переменные окружения которые нужны для того чтобы функционировало superabase тестовыми данными Да не позволят ваший Subapace функционировать но вы должны понимать что эти данные будут ровно такие же как у любого другого человека который поставит Superabase себе с помощью этой инструкции Если вы запускаете Superabase локально вы можете оставить эти данные без изменений Но только лишь в этом случае если вы запускаетесь где-то на удалённом сервере и у вас Superabase будет доступен извне из интернета вы должны будете поменять все переменные кружения которые здесь есть в dnv Example Как это делается мы это делали два видео назад Обязательно идите туда если вы разворачивае разворачиваетесь на вашем удалённом сервере если вы разворачиваетесь на вашей локальной машине и никто к ней кроме вас не имеет доступа можем оставить всё как есть только лишь в этом случае Поэтому мы не мудрствовая лукаво Забираем весь этот код возвращаемся в наш терминал вставляем нажимаем Enter И у нас началась установка нашей Superbase Это прекрасно Как только процесс закончится я к вам вернусь Так ну что наш процесс только что завершился да то есть мы затянули все нужные нам пакеты и мы видим что всё что нам нужно от Base в состоянии либо Healthcy либо started То есть выглядит всё хорошо Идём в докеer проверяем Так интересно У нас в Докере появились образы которые соответствуют Superabase и более того у нас появились контейнеры которые соответствуют Superbase Выглядит всё более чем хорошо правильно пока не будем опережать события не будем уже пробовать залогиниться в нашу в наш дашборд Superabase Давайте попробуем доустановить всё что нам ещё пригодится дальше Мы точно хотим NCEN Да всё ради этого же делается Процесс похожий Пишем NVN Docker Заходим на первую же попавшуюся ссылку Отлично С Docker Installation И вообще тут самая простая вещь которую мы видели да всего лишь нужно запустить создать диск для этого докера запустить сам докер Поэтому мы прямо берём запускаем первую команду создаём диск идём обратно в терминал и запускаем создание диска После это вот это после этого возвращаемся и хотим запустить вот эту команду То есть мы уже запускаем Docker Здесь есть пару нюансов Мне лично эта команда не совсем подходит Я сделаю чуть-чуть другую команду Эту команду вы сможете найти в Telegram-канале который будет прикреплён Он абсолютно бесплатный Мы там собираем все важные штуки все важные автоматизации которые мы строим в YouTube видео Очень важный нюанс Если вы в какой-то момент сейчас почувствуете что вы потерялись что сложно у нас есть отдельная группа прогруппа в которой мы разбираем важнейшие технические нюансы У нас там есть и новички продвинутые энтузиасты которые строят свои автоматизации В этой группе мы обсуждаем эти автоматизации В этой группе присутствую лично я и отвечаю на вопросы И самое важное в этой группе вы можете найти данные информацию которую искать будете очень долго Поэтому обязательно присоединяйтесь к нашей бесплатной группе чтобы забрать все бесплатные материалы И обязательно запрыгивайте в прогруппу там просто очень круто Погнали дальше Я запускаю несколько другую команду да она очень похожая Я запускаю наш N8N на портах Я создаю диск для этой NEN И самое важное я создаю локальную папку которая нам сильно пригодится в будущем Чуть-чуть позже мы это увидим Запускаем Это также займёт некоторое время Я к вам вернусь когда процесс закончится Так ну что процесс только что закончился Идём в докер проверяем Прекрасно А у нас запустился ещё один контейнер который называется Envoy CMAN и он доступен по порту 5678 Выглядит вообще говоря уже обнадёживающе И опять же мы сейчас не пойдём это тестировать ещё установим одну вещь Нам же хочется векторизовать самостоятельно без использования внешних нейронок абсолютно бесплатно наши данные для того чтобы потом организовывать агентов которые используют эти данные как контекст Правильно для этого нам нужно развернуть среду в которой могут крутиться локальные нейронки Это Алаama Процесс мы уже с вами выучили Всё начинается через простейший гуглинг Так и пишем: Alama Docker Отлично Здесь есть ссылка которая ведёт прямо на сайт Аламы И тут прямо всё расписано Помните мы в прошлый раз уже обсуждали что в зависимости от того какая у вас машина если у вас видеокарты какой у вас процессор вы должны будете запускать по-разному аламу Потому что вот например у меня Mac и здесь в принципе можно крутить нейронки только силами процессора Здесь нельзя использовать мощности графической карты для того чтобы крутились наши нейронки Поэтому я выберу себе прямо команду CPU only Вы в зависимости от того если вы счастливчик и у вас есть графические карты да выбираете все другие опции Моя опция вот эта Опять же процесс знаком Возвращаемся в терминал вставляем запускаем Так ну что процесс только что завершился должно всё работать Открываем наш докер Отлично Смотрите И теперь у нас крутится контейнер с аламой Он up and running И вроде как всё хорошо Ну и наконец настаёт то самое время когда ну пора бы нам вообще потестировать что у нас получилось да а давайте попробуем зайти в дашборд Superbase на нашем локальном хосте Давайте попробуем залогиниться в NMus Man на нашем локальном хосте Давайте попробуем туда подключить аламу и какие-нибудь нейронки Чтобы понять как это делается давайте откроем обратно нашу инструкцию для Superbase Да у нас в принципе сказано что Superbase Studio графический интерфейс для Superbase должен крутиться на локал хосте 8 А ты000 Открываем У нас открывается Superbase Важный момент как мы узнаём креды да каким образом мы прямо логинимся в наш помните мы с вами говорили про то как же важно правильно заполнить DotaN nv да прежде чем мы разворачивали в принципе Sup И мы с вами развернули Dotnv просто в в умолчательном состоянии Я просто это не устану повторять Если вы разворачиваетесь на внешнем сервере обязательно посмотрите наши прошлые видео как правильно редактировать этот файл Так как мы развернулись локально то этот файл сохранён в виде прямо в котором нам предоставили его разработчики Поэтому мы можем пользоваться прямо кредами которые здесь прописаны Нас интересует dasбоard username Да это superbase написано Пробуем Вставляем superbase Dashboard password Копируем Вставляем sign in И мы и мы попали в нашу локальную subabase которая работает на нашем локальном компьютере То есть мы можем пойти в Table Editor увидеть что тут есть возможность создавать таблицы Тут есть SQL Editor Всё ровно то же самое к чему мы привыкли в облачный Supase только на нашем локальном компьютере Это ли не прекрасно пробуем логиниться в NV CN Переходим в документацию Мы видим что как только вы запустились у вас всё должно работать на порте 5678 Открываем этот порт и мы попадаем в наш N8N Я уже запускал его поэтому у меня здесь есть какой-то а какой-то workspace но когда вы пройдёте вот по этому адресу local host по 5678 вы попадёте в интерфейс создания вашего аккаунта Вы просто вбиваете ваши креды нажимаете create и попадаете внутрь вашего локального NV CMEN После этого вы можете создавать все автоматизации прямо на вашем компьютере которые вам нужны А давайте прямо сейчас попробуем это сделать Ведь нас Superbase по сути Олаama интересует в разрезе привязки к нашим автоматизациям на Envo Cm Поэтому с вами нажмём create workflow И давайте попробуем прямо самый простейший workflow когда у нас есть какой-то чат-триггер да запустили Всё добавляем какого-то агента И к этому агенту мы теперь хотим добавить модель но на нашем локальном компьютере который крутится и Memory из Superabase базы ну точнее из постгресбазы которая также сейчас крутится на нашем локальном компьютере Давайте прямо попробуем добавить модель Обратите внимание всё что вы видите здесь все но- это но которые будут выходить вовне вашего локол хоста и стучаться во внешние серверы для того чтобы коммуницировать с моделями Нас интересует именно Алама да не путайте Прямо выбираете Алама проваливаетесь вовнутрь И теперь нам нужно создать креды Да начинается самое интересное потому что в массе комментариев а под предыдущими видео пишут: "Ну ты показываешь как установить это всё" Да Ну самые же нюансы кроются в том как это внутри всё настроить как это сделать так чтобы между собой собой всё работало Прямо сейчас мы это это с вами сделаем Процесс очень похож да нам нужно создать новые креды Какой правильный URL к нашей аламе здесь по умолчанию заполнен local host 11434 А давайте проверим где у нас крутится алама Она как раз на этом порту и крутится То есть по идее всё должно работать Нажимаем save Ничего не работает потому что вместо local host мы должны написать алама нажать retry и тоже ничего не сработает Это заняло у меня какое-то время чтобы поразбираться когда-то да и настроить всё правильно Но в чём прикол сейчас если мы откроем Docker то мы видим что у нас все наши сервисы крутятся в разных контейнерах То есть по сути они не видят друг друга и порты и порты друг друга Один способ запустить это всё в одном контейнере да например как мы делали когда-то вот на нашем внешнем сервере да Другой способ создать единый нетворк для них для того чтобы в рамках этого нетворка они видели порты друг друга контейнеры друг друга и могли коммуницировать между собой Соответственно Doкер это позволяет сделать Нам нужно либо создать какой-то готовый network либо использовать networkк который уже например ну сейчас крутится в нашем контейнере Что мы делаем каким образом мы узнаём какие нетворки у нас уже есть возвращаемся в наш терминал и пишем команду Docker Network LS О смотрите у нас уже есть несколько нетков да bridge host my network non и Superbase Default Superbase Default - тот networkк который создал контейнер Superbase чтобы все его сервисы между собой хорошо коммуницировали В принципе для наших локальных нужд я не вижу ничего страшного в том чтобы прямо в этот network Superbase добавить и нашу Аламу и наш N8N Таким образом они будут все видеть друг друга коммуницировать друг с другом без проблем Давайте прямо это попробуем сделать Итак нам нужна команда Docker Network Connect Superabase Default NVN Docker Network connect Superabase Default Alama Мы оба наших контейнера подсоединяем к нашему нетворку от Superbase Вроде как всё получилось никаких ошибок не увидели Возвращаемся обратно в нашу автоматизацию N8 Man Так а давайте ещё раз попробуем Всё заработало Зелёный свет Это значит что теперь наши контейнеры видят друг друга и могут коммуницировать друг с другом Это нас устраивает Это просто прекрасно Сей И вообще говоря если мы сейчас переоткроем мы видим здесь уже есть две каких-то сети потому что я чуть-чуть счетырил да я до этого поставил пока ждал пока другие сервис устанавливаются какие-то сети но сейчас мы прямо посмотрим каким образом это делается Что нас интересует валами в первую очередь нас интересует возможность векторизовать данные потому что мы сейчас с этим будем много работать и коммуницировать с нашими с нашим агентом через ну через нейронку которая крутится на нашей машине да идём в модели Я всегда советую ставить смотрите для эмбедингов здесь есть модель nomicтек то мы делаем тут прямо прописана команда аламаol nomicтек Забираем эту команду возвращаемся в docker проваливаемся в контейнер с аламой и здесь есть вкладка ex Здесь пишем алаama pмиic bтек Начинается пулинг да так как он у меня уже затянут соответственно всё произошло очень быстро У вас потребуется какое-то время чтобы именно эту модель затянуть Сразу же после этого она станет доступной в NCM То же самое да вы выбираете себе какие-то модели которые потянет ваша машина Да я себе поставил ещё ламу 3,2 или 3,3 я уже не помню или четыре Вот выбираете да обязательно обращайте внимание что когда вы выбираете например какие-то огромные модели во-первых они весят да очень много а во-вторых скорее всего если у вас конфигурация компьютера недостаточная они просто у вас не будут работать да забирайте команду только алама пулol да забирайте конкретную версию нейронки которая вам нужна возвращайтесь сюда вставляете ваши модели тянутся Ну что настало время устроить нам гран-тест да у нас тут выбрана Алаama 3,2 да то есть по сути мы можем попытаться уже что-то спросить Давайте так Смотрите как выполняется на наш агент И он сейчас задействует нашу локальную нейронку Выглядит это прекрасно Мы платим сейчас ноль за это только за электричество Не выходим в интернет Всё работает прямо у нас локально на нашей машине И у нас есть ответ: "Привет я всего лишь языковая модель и у меня нету эмоций ничего" То есть мы только что покоммунициру по покоммуницировали с нашей неронкой прямо внутри нашего компьютера не выходя никуда за пределы Я знаю многие из вас сейчас этому обрадовались Насколько же это важно А что если мы хотим сюда добавить ещё и память нашу постгрес базу да которая есть в составе нашей Superabase Хорошо давайте делать да выбираем здесь память Postgress chat memory И конечно же нам нужно создать креды для этого Нажимаем создать новые креды Так host Откуда мы берём все эти данные мы же как бы коннектимся не к внешней базе да она у нас крутится прямо на компьютере Поэтому нам надо вернуться в терминал в наш любимый DNV файл да то есть наше переменное окружение И смотрите здесь есть отдельный переменный для постреста да вернее для постгрест базы Смотрите здесь есть host есть здесь database здесь порт А это именно то что нам нужно да так берём host возвращаемся Host соответственно у нас DB Слушаемся да Database Postgress да забрали Анс тут есть user Postgress оставляем Default user Postgress да порт 5432 Проверяем да 5432 И самое важное откуда же мы берём пароль да пароль-то в том-то и дело что пароль тоже есть да posgess Password Вот он наш суперсекретный и длинный PosGress Password Не устану повторять никогда не используйте этот подход для вашего виртуального сервера где-то вовне Вы всегда должны заменить всевсевсе переменные окружения которые представлены в этом файле в соответствии с инструкциями которые были пару видео назад Вы прямо должны всё изменить иначе вы рискуете очень сильно Но сейчас мы забираем наш password вставляем save Всё зелёное Должно всё заработать да то есть мы подключали чат trigger N8N chat history Давайте прямо попытаемся залететь да table editor Так нет у нас тут таблиц но по идее мы же помним как работает Нода агентская Да по идее мы если сейчас что-то спросим он должен теперь уже прописать в эту базу session ID из чат-триггера Да Как а сколько тебе лет да О отлично Смотрите он сходил сразу в базу да то есть мы можем ждать ответа но по идее это означает что если мы вернёмся в нашу Base и обновимся мы уже увидим мы уже увидим нашу новую таблицу которая создана на нашем локал хосте Сейчас здесь появятся данные после того как ассистент нам ответит Смотрите у нас появился Human How old are you да И смотрите I was released to the public in 2023 Но это ли не прекрасно по сути у нас сейчас уже работает коммуникация с нашим агентом и сохранение памяти конверсации внутри нашей локальной базы данных Представляете что происходит это прямо круто Так ну мы-то теперь хотим чтобы он ещё отвечал на основе данных которые мы в него загрузили То есть мы хотим сделать рак причём локально нашими локальными силами нашего локального компьютера без выхода в интернет Поэтому да мы забираем а ноду которая называется Supase Vector Store и к ней подсоединяем Ведь-то нет Open нам не пригодится А ведь беeding да модель для эмбедингов мы затянули и она называется Nomic Embed text latest да то есть мы добавили Алама аккаунт тот же самый И по сути да теперь мы хотим давайте дадим ему имя пока таблиц-то нету да подходящих и кредов в принципе-то нету да каким образом настраиваются креды для нашей векторной базы данных это не то же самое да то есть так вот устроено BASE что мы не можем использовать те же самые креды мы использовали для постгрес базы да нужно настроить чуть-чуть это иначе Нажимаем create New Creedential и попадаем сюда Каким же образом выбрать host это штука которая тоже потрепала мне немножечко нервов Поэтому сэкономлю вам прямо несколько часов этой же нервотрёпки и подскажу хост как правильно прописать его чтобы он коммуницировал с вашей локальной базой данных Здесь нам нужно HTTP Host Docker Internal 8.000 Это именно тот порт на котором крутится наша Superbase Откуда мы берём сервис Roll Secret возвращаемся в наш терминал Возвращаемся в наш любимый DNV файл И видим что есть здесь есть умолчательный сервис Roll Secret Да в тыся раз повторю это не тот RЛ Sec Secret который должен быть у вас если вы идёте в паблик и запускаете ваш сервис публично Это годится только для тестовых нужд для вашего локалста Никогда не разворачивайте это на внешних серверах Я имею в виду с этим паролем да в прошлой инструкции есть информация о том как менять правильно и генерировать эти секретные ключи Возвращаемся в нашу Superabase Прокидываем сюда Secret и нажимаем save Connection tested successfully То есть отлично Теперь мы ещё подсоединились к нашей векторной Superabase что нас конечно же не может не радовать Мы уже даже видим табличку да у нас есть одна табличка NV chat history Каким образом мы сюда хотим добавить векторную таблицу да мы это с вами уже делали да в некоторых видео Сделаем быстренько очень Я не буду а объяснять в нюансах Мы идём в документацию мы переходим на Superbase И здесь есть страничка которая называется Longchain Здесь есть SQL который нам нужно запустить в нашей Superbase для того чтобы создалась база документы и к ней ещё функция Match documents для того чтобы искать по embedдингам правильно наши данные Идём обратно в нашу Subabase локальную нажимаем SQL Editor да вставляем сюда Важнейший нюанс Наша модель ожидает размер вектора не 1.536 а максимум 768 Обязательно мы меняем на 768 иначе у вас просто а модель отплюнет вас когда вы будете пытаться её использовать Всё остальное мы уже с вами делали Обязательно посмотрите видео что это всё значит что это за сиквел да запускаем success Это значит что если мы перейдём в Table Editor у нас появилась таблица документы которые готова принимать наши векторы и отдавать а результаты поиска по векторной базе Так возвращаемся да соответственно давайте попробуем пере переоткрыть Так у нас появилась наша таблица документы Вообще говоря мы готовы отсюда уже что-то читать да но вопрос что мы будем отсюда читать если мы ещё ничего не викторизовали и здесь мы подходим к очень интересной теме каким образом мы будем работать с нашим NVC и локальными файлами на нашем компьютере Помните когда мы а устанавливали себе N8m я сказал: "Не забудьте про то что мы хотим создать два диска да один для хранения данных NVC Main а другою мы хотим открыть нашу локальную папочку которая называется My Files для нас чтобы мы могли там хранить например какие-то файлы и читать их с помощью CM Где хранится эта папочка My Files?" Зависит от вашей конфигурации Я советую просто поискать поиском по вашему диску Если не знаете как быстро найти точно найдёте Вот я в своей маковской файловой структуре нашёл Он лежит здесь My files да я только что добавил сюда какой-то файлик 1T да это нам понадобится в будущем Почему это настолько важно ну сделать такую вещь Это значит что для нашего CMN сейчас открыт некоторые локальные некоторый локальный фолдер в который могут лежать файлы другие папки которые мы можем векторизовать да не уходя в Google Drive ЯндексДис ещё куда-то Всё прямо на нашем а компе Ну давайте пробовать да есть такая нода которая называется locale Отлично Добавляем её И мы хотим отслеживать изменения например в какой-то папочке да на нашем локальном а диске да то есть мы уже выяснили что наш для нашего N открыта вот эта папочка да чтобы обратиться ко всем файлам внутри этой папочки нельзя оставить здесь просто пусто да здесь нужно прописать files да и определить за чем мы следим Да мы хотим следить за добавлением файлов за изменением файлов и за удалением файлов Помните мы уже с вами много говорили про рак да и каким образом апдейтить держать в актуальном состоянии базу в этом рак да и вот это тоже краеугольная штука потому что всю базу мы уже знаем и теперь реализуем эту базу но уже с нашими локальными файлами Нам ничего не мешает сейчас нажать потестировать шаг и посмотреть а действительно действительно ли N8N ожидает изменений в нашем файле Да например напишем Hello World нажмём сохранить Так у нас NVO CM только чтострелила и говорит: "Произошёл ивент который называется Change и он произошёл в папке которая называется 1xT." Прекрасноя то есть это ровно то что нам нужно да если мы нажмём например сейчас затестировать это всё да и например добавим ещё один файл мы увидим что появился ещё один файл с ивентом add то есть всё работает прекрасно Ну и тестируем последнее удаление да удаляем Отлично У нас пришёл eventт unlink и файл который мы только что удалили Всё работает просто как часы Нам это и нужно Дальше мы добавим какую-то развилочку да например мы хотим понимать файл был добавлен изменён удалён потому что в зависимости от этого мы же хотим совершать манипуляции с нашей векторной базой данных да удалять релевантные записи или добавлять их или изменять Да мы только что выяснили что нам нужен ивент И допустим мы хотим здесь реагировать на change Мы уже знаем что называется change да соответственно если change тогда мы идём по веточке true да отлично Давайте пробовать Тестируем Отлично Так как у нас был последний и eventт unlink мы пойдём по веточке false да если true Смотрите если вы тут хотите если вы хотите с этим разобраться плотнее например сделать развилки которые прямо реагируют на разные события файлов и построить в зависимости от этого работу с вашей векторной базой данных обязательно заходите в наш проканал Вот мы там такие прямо технические нюансы жёсткие которые готовы прямо для продакшена Обсуждаем подтачиваем разные боты под ваши нужды отвечаем на сложные технические вопросы Всё это прямо там Обязательно туда запрыгиваете Вы точно там найдёте массу крутейшей технической информации которая вас прямо двинет вперёд по тематике автоматизации искусственного интеллекта Сейчас мы отреагируем на события change да соответственно если это изменение файла мы хотим сделать следующее Мы хотим в нашей векторной базе данных удалить из нашей таблицы documents да в которой мы и так будем потом записывать э векторизацию удалить все записи в которых есть в метаданных файл ID который называется Jason Path Что это такое зачем мы это делаем мы это обсуждали в буквально пару видео назад Каким образом мы держим всегда в актуальном состоянии наш рак Вот обязательно посмотрите там прямо объяснено что это за фильтрация да что это за методанные Это краугольная штука в которой вы должны разобраться Ну или опять же в нашей прогруппе прямо залетать и всё это там по полочкам тоже разложено да удаляем такие записи и дальше добавляем ноду которая называется read files from disk Да Соответственно мы только что поняли что мы работаем с нашим файлом и мы хотим прочитать файл с этого диска да и сам путь к диску мы ведь знаем да потому что вот он у нас тут и лежит да соответственно мы захотим прочитать этот файл и извлечь из него данные которые мы захотим векторизовать Для этого тоже есть нода называется extract from file Да extract from textф file data дата Здесь мы прямо оставляем всё без изменения И дальше извлечённые данные мы уже можем завекторизовать для того чтобы впоследствии использовать это как долговременную память нашего ассистента Нам нужен Supс Vector Store И мы хотим добавить документы в Vector Store Правильно же в какую таблицу мы хотим добавить наши документы Да здесь мы оставляем всё по умолчанию Подключаем нашу модель А мы уже знаем да мы уже использовали нашу аламу для векторизации Соответственно у нас есть соответствующая модель которая позволяет векторизовать данные да и добавляем datoader да так как к нам уже приходит текст и мы хотим добавлять метод данные в эти записи Опять же что сейчас мы делаем да почему это делаем мы прямо точечно всё это проговаривали в наших предыдущих видео Обязательно посмотрите видео про обновляемый рак Мы прямо сейчас переиспользуем концепты которые мы там проговаривали и добавляем текст splitter да добавляем character текt splitter Оставляем здесь всё как есть Так Ну что это выглядит таким образом как будто бы если мы сейчас что-то изменим в файле а в заданной папке то система должна сначала понять что это был чейн потом поискать в векторной базе данных записи удалить соответствующие записи которые соответствуют именно этому файлу для того чтобы держать актуальность потом извлечь все данные да и потом векторизовать эти данные и записать это в таблицу documents Ну давайте пробовать Мы запускаем наш workflow идём сюда открываем файл и скажем 185 см высотой да пробуем сохранить это Так пролетело всё просто очень быстро Давайте смотреть что произошло Так он определён что эточе Всё правильно Он удалил все релевантные данные которые были в таблице Дальше что он сделал дальше он а прочитал этот файл да и вот прямо контент этого файла Дальше что он сделал дальше он извлёк именно информацию э которая была в этом файле И дальше он взял это всё и векторизовал И это произошло просто на нашем компьютере локальном без выхода в интернет То есть если мы сейчас сюда пройдём отлично Смотрите у нас есть викторизованные данные This is what you know about me И дальше здесь есть наши методданные в которых записан файл ID Это значит по-хорошему что теперь наш агент уже может ориентироваться на эту информацию для того чтобы отвечать на релевантные вопросы про НАСА Давайте пробовать Давайте обновим новый session ID сделаем Ну и так меня спросим как меня зовут Так И только что наша модель завершила работу Посмотрите что она задействовала Она сходила в нашу базу данных записала историю нашей переписки потом обратилась в Superbase достала чанк где было указано моё имя и ответила мне на основе этой информации Ещё раз это всё произошло прямо на нашей локальной машине без выхода в интернет бесплатно для нас Мы не заплатили ни за нейронки ни за хостинг ни за что На этом всё Я надеюсь что после этой инструкции у вас прямо получится запустить ваши локальные нейронки Имейте в виду что локальные нейронки с маленьким количеством параметров они даже близко не стоят по своей точности ответов и наполненности информацией с нейронками коммерческими Поэтому вы скорее всего если поставите какие-то нейронки вот как я поставил вы будете получать очень низкого качества ответа для того чтобы понять принцип каким же образом всё это работает у нас локально на компьютере Этого более чем достаточно Поэтому обязательно пробуйте напишите комментарии в Ютубе как у вас получилось не получилось Конкретно вот эта автоматизация N8 CNN будет в моём бесплатном Telegram-канале Заходите туда забирайте Прямо после этого здесь нажмёте import from file загрузите и получите прямо эту же автоматизацию И обязательно заходите в нашу прогруппу проверяйте если вы хотите прямо быстро развиваться в теме автоматизации искусственного интеллекта Я думаю это лучшее место для вас Всем пока

Как Сделать RAG на Supabase 100% Бесплатно и Локально для ИИ Агента По Шагам (n8n, Ollama, Supabase)

Channel: ИИшенка | AI Automation

Convert Another Video

Share transcript:

Want to generate another YouTube transcript?

Enter a YouTube URL below to generate a new transcript.