Мрії про локальний штучний інтелект, здійснені в хмарі: Шлях до самостійного інтелекту
Я обожнюю технології, що змінюють наш світ, особливо ті, що дають змогу відчути магію штучного інтелекту. Я багато уваги приділяю темі локального штучного інтелекту на своєму каналі, і мушу сказати, що це найпростіший спосіб запустити та налаштувати свій локальний ІІ, причому безкоштовно! Йдеться про вашу власну екосистему: мовні моделі, бази даних, інструменти автоматизації, локальний веб-пошук та ваш власний користувацький інтерфейс. Я вам покажу, як з цим легко розгорнути локальне. ІІ-середовище в хмарі, використовуючи пакет, про який піде мова, приблизно так.
Звісно виникає питання: навіщо взагалі виходити за межі свого комп’ютера? З локальним ІІ, ви не завжди хочете, щоб він працював саме на вашому власному пристрої. Можливо, у вас є команда, яка також хоче користуватися вашою платформою. Або ви хочете, щоб вона працювала цілодобово, не перевантажуючи ресурси вашого комп’ютера. Або, можливо, вам потрібне обладнання, якого ви не можете собі дозволити. Хороша новина полягає в тому, що розгортання вашого локального ІІ-стека в хмарі вирішує всі ці проблеми. І це припустимо, все ще вважається локальним, доки ви керуєте хмарним екземпляром.
У цьому відео я розповім, як крок за кроком взяти готовий пакет для локального ІІ та розгорнути його у вашому власному приватному хмарному екземплярі. Ви зможете насолодитися своєю місцевою ІІ-мрією, не будучи прив’язаним лише до свого комп’ютера. До того ж, завдяки новим доповненням до пакета для локального ІІ, цей процес став простішим, ніж будь-коли. Це розумієте, дійсно простий, не перевантажений зайвою інформацією посібник. Я навіть розповім про постачальників хмарних послуг та різні вимоги до обладнання, оскільки знаю, що це важливі аспекти. Я покажу, як налаштувати піддомени для таких сервісів, як n8n та open web UI. Це дійсно повноцінний посібник.
Отже, пакет локального ІІ, посилання на який я розміщу в описі до відео. Його краса в тому, наприклад, що ми беремо всі місцеві служби ІІ, які ви бачите. Простіше кажучи, тут, поєднуємо їх разом що їх можна встановити та налаштувати всього за кілька кроків. Я їх окреслив у цьому файлі readme але все дуже просто, щоб все запрацювало. У попередньому відео на моєму каналі, посилання на яке я залишу тут, я показую, як використовувати ці етапи для налаштування всього на власному комп’ютері. Простіше кажучи, а зараз ми зробимо це в хмарі.
Пакет, який спочатку створила команда n8n, я. Простіше кажучи, розширив, щоб включити в нього всі ці сервіси. У нас є n8n, Superbase, Olama, open web UI, Flowise, Quadrant. Нещодавно я додав CRXNG для локального та приватного веб-пошуку, який, до речі, включає Redis для кешування. І що дійсно важливо для цього відео, я додав Caddy. Це керована служба HTTPS та TLS. Саме так ми можемо мати безпечні кінцеві точки для всіх наших служб. Чесно кажучи, навіть, якщо ви зайдете на, наприклад, yourdomain. com, ви відразу потрапите в екземпляр n8n, захищений в хмарі. Саме це забезпечує Caddy.
Я покажу всі ці етапи та продемонструю, як пройти їх так, щоб вони працювали практично для будь-якої машини Linux, яку ви маєте в хмарі. Не має значення, чи використовуєте ви DigitalOcean, Lambda Labs, AWS або власний сервер. Цікаво, ви можете виконати ці інструкції. Я роблю їх максимально універсальними, щоб вони підходили для вас незалежно від того, де ви розгортаєте свою локальну ІІ налаштування.
Для цього відео ми використовуватимемо DigitalOcean, щоб розгорнути наш пакет локального ІІ. Вони не спонсори цього відео. Це тобто, відео взагалі не має спонсора, типу того. Я просто використовую їх сам, і я зазвичай рекомендую їх, тому я й розповідаю про них. На мою думку, у них найкращі варіанти для екземплярів CPU. Якщо ви не запускаєте великі локальні LLM, які потребують виділеного GPU, DigitalOcean дає вам найкращі варіанти, які я бачив.
Також є Vultr, раніше відомий як Linode. Ще один хороший варіант для CPU-екземплярів. Швидко про платформи для GPU-екземплярів. Головне, щоб ви провели власне дослідження на основі ваших потреб та бюджету. Безумовно, є багато варіантів. Lambda Labs, Vulture, PaperSpace, який є частиною DigitalOcean, але є власною платформою. Якщо ви хочете чогось більшого, звичайно, AWS, Google Cloud та Microsoft Azure. Усі вони нададуть вам GPU-екземпляри, на які можна розгорнути пакет локального ІІ точно так само, як ми будемо робити з DigitalOcean.
Є лише кілька платформ, які не працюють найкраще, і я швидко їх розгляну. Хочу переконатися, що я все охоплюю, щоб ви не потрапили на платформу, яка просто не працює. Tensor do – одна з них. Це чудова платформа для дешевих GPU, але вони не дозволяють відкривати усі порти, які потрібні пакету локального ІІ. Є такі платформи, як RunPod та Novita, які також чудові, але вони розгортають усе як контейнери. Оскільки ви не можете бачите, досить легко запускати контейнери в контейнерах, розгортання пакету локального ІІ в одному з них потребує набагато більше роботи. Ось скажімо, чому я зупиняюся на DigitalOcean. Вони також пропонують дроплети GPU, якщо ви хочете заплатити знаєте, більше, щоб отримати щось дійсно потужне для ваших локальних LLM, в такому дусі.
Тепер перейдемо до створення екземпляра. У мене є новий проект, налаштований в DigitalOcean. Я збираюся натиснути кнопку Create та вибирати Droplets. Щоб тримати витрати низькими для цієї демонстрації, я створюю CPU-екземпляр, тобто без виділеного GPU. Я виберу свій регіон, прокручу вниз і виберу цей екземпляр за 42 долари на місяць. Ми отримаємо 8 ГБ оперативної пам’яті та два процесори. Цього достатньо для всього пакету локального ІІ, якщо ви хочете запускати великі локальні LLM.
Якщо ви хочете запустити будь-які LLM, які більші, ніж сім чи вісім мільярдів параметрів, вам знадобиться виділений GPU, і це коштуватиме вам набагато дорожче. Але це необхідно, якщо ви хочете використовувати більші LLM, такі як 14, 32 або 70 мільярдів параметрів. Але багато людей обирають CPU-екземпляр, оскільки це дешевше, і вони просто розміщують. AMA десь в іншому місці або просто використовують API, наприклад, Open Router. Принаймні, решта їхнього стеку все ще є приватними та локальними, і вони нічого не платять за ці послуги, крім машини для їхнього розміщення. Ось що ми збираємося робити тут.
Звичайно, якщо у вас є власний сервер, сподіваюся, у вас є GPU, тож у вас це є. Для нашого образу, я хочу, щоб все було налаштовано з Docker. Ubuntu – найпопулярніший дистрибутив Linux, тож я виберу саме його в Marketplace. Якщо ви дотримуєтесь іншого постачальника, ви зможете знайти новий BTU Linux-екземпляр. Ви можете виконати ті ж команди, що й я. Для аутентифікації ключі SSH є більш безпечними, але щоб було простіше, я налаштую пароль. Я збираюся налаштувати пароль. Для імені хоста я просто напишу YouTube local AI package. Зроблю це офлайн. Натискаю Create Droplet після того, як установлю пароль. Повернуся, коли екземпляр буде готовий тому
Отже, можу натиснути на нього. Перейти до Access і запустити консоль Droplet з root. Оскільки мені потрібен привілейований доступ для виконання деяких команд. Роблю це як root. Тепер в екземплярі є декілька етапів, які потрібно виконати, перш ніж виконати основні інструкції та завантажити репозиторій пакету локального ІІ. Тут у файлі readme є окремий розділ з додатковими речами, які потрібно зробити під час розгортання в хмарі. Нам потрібно відкрити деякі брандмауери, а потім налаштувати записи DNS. Я проведу вас через це зараз.
По-перше, для брандмауера я вже запустив ці команди в екземплярі, щось на зразок. Звичайно, вам не потрібно дивитися, як я вставляю всі ці команди. Вам потрібно ввімкнути правила брандмауера, а потім відкрити порти для всіх різних служб локального ІІ. Superbase, Flowise та Open Web UI, а також n8n. Якщо ви хочете відкрити скажімо, CRXNG або olama, ви можете виконати ці команди. Я не роблю цього за замовчуванням, тому що CRXNG. Та AMA не захищені паролем, як інші наші сервіси. Їх просто буде видно для всіх. Зазвичай я їх не відкриваю, і порти не відкриваю. Інші служби локального ІІ в екземплярі мають доступ, оскільки все працює через Local. Host, але ззовні та доступом з Інтернету ви не зможете користуватися CRXNG або AMA. Фактично,
Після того, як ви налаштували всі правила брандмауера, просто запустіть ufw reload. Тоді значить, всі ці правила набудуть чинності. Пам’ятайте, що для всього цього вам потрібен привілейований доступ. Це все для брандмауерів. Тепер нам потрібно налаштувати записи DNS, і це буде так само незалежно від вашого постачальника DNS. Фактично, я використовую Hostinger. Це не спонсорство, просто я використовую його для DNS. Вам потрібно зайти скажімо, в DigitalOcean, знайти свій IPv4 та скопіювати його. Потім ви вставите його в “вказує на”, що стосується адреси призначення. Більше того, хочемо тип запису А. Для імені це піддомен, який хочемо використовувати. Якщо ми хочемо yt-nn. automator. Простіше кажучи, ai, щоб він вказував на екземпляр n8n у нашому дроплеті DigitalOcean, налаштовуємо це. Вказуємо, що ім’я – yt-nn, це наш піддомен. Додаю цей запис. Натискаю Зберегти та можемо зробити це для всіх інших. Фактично, я можу зробити YT superb. Додаю та далі open web UI. Додаю. Останнє, що ми поки що можемо зробити, це Flowise. Ви можете зробити те саме для CRX, Olama або будь-яких інших служб, які ви можете додати до пакета локального ІІ. Це все для DNS, і це все, що у нас є для додаткових етапів розгортання в хмарі.
Тепер ми можемо перейти до верху та запустити все, що у нас є в основних етапах встановлення. Почну з копіювання команди get clone. Відкриваю екземпляр. Вставляю. Клонуємо репозиторій і змінюємо каталог. Все, що ми бачимо з LS, це те, що ми маємо в корені нашого репозиторію. Ще один крок: оскільки зараз у мене все у філіалі фічей, я повинен змінити свій філіал. Вам цього робити не доведеться, бо до моменту, коли ви. Будете дивитися це відео, у десь так, мене все буде в основному філіалі. Тепер у нас є вся конфігурація для Caddy, про яку я не буду детально розповідати Тут, хочу, щоб цей посібник був лаконічним і стосувався того, що потрібно вам. Можете самі заглибитися, якщо вам цікаво але
Тепер нам потрібно налаштувати змінні середовища. У мене є приклад для всього в цьому файлі. Щоб було ясно, що нам потрібно зробити, це скопіювати файл “. example” тому збільшу його. Щоб вам було легко бачити. Ми хочемо скопіювати це до нового файлу. Вміст env майже такий самий, як env хоча example. Використовуємо Nano, щоб його відредагувати. Це передбачає, що уявіть собі, у вас вже встановлені Nano, Git та Docker. Я згадую це в readme. Це передумови. Ви можете просто встановити їх на основі вашого. Дистрибутиву Linux, якщо у вас їх ще немає. Редагуємо цей файл.
У файлі EnV є коментарі, які підказують, які значення обов’язкові, і як налаштувати всі ці змінні. Для n8n це будь-який буквено-цифровий рядок, який ви хочете встановити як щось досить довге, щоб зробити його безпечним. Для секретів Superbase потрібно налаштувати дивіться, пароль Postgres та дані для входу на інформаційну панель Superbase. До того ж я долучив посилання, які перенесуть вас до посібника Superbase. Це допоможе вам налаштувати секрет JWT, анонімний ключ та ключ ролі служби. Все дуже просто. Ідентифікатор пулу або орендаря можна встановити на будь-яке число, наприклад, 1000. Все просто. Тепер я перейду до налаштування конфігурації Caddy, оскільки це все піддомени.
Покажу вам. Очевидно, я розкоментую всі піддомени, які ми створили в Hostinger або будь-якому іншому постачальнику DNS. Я не буду коментувати AMA та CRX, оскільки я їх не використовую. Для електронної адреси Let’s Encrypt встановіть її на свою електронну адресу, як-от col. medine@automator. ai. Безумовно, для імен хостів змініть це на уявіть собі, будь-який піддомен, який ви встановили у свого постачальника, та на домен. Наприклад, для n8n це yt-nn. automator. ai. Я зроблю паузу і повернуся, коли налаштую інші. Ось і все. Усі наші піддомени відповідають тому, що ми налаштували у постачальника хмарних послуг. Тепер, щоб зберегти та вийдіть з цього файлу за допомогою Nano, є кілька команд. Спочатку потрібно натиснути Ctrl+X бо далі він спитає, чи хочете ви зберегти. Введіть “Y”. Натисніть Enter. Фактично, це Ctrl+X, потім Y, потім Enter. Я не буду його друкувати, бо відредагував усі інші секрети. За лаштунками він роздрукує весь EnV. Переконайтеся, що все застосовано. Тепер ми готові запустити цей сценарій, який запустить все з Lock ER.
Повертаємось до readme. Є кілька різних варіантів команди, оскільки є різні профілі. Їх потрібно використовувати залежно від вашого GPU або якщо ви хочете запустити його в режимі CPU. Якщо у вас є хмарний екземпляр з Nvidia GPU, як-от, якщо ви використовуєте Lambda Labs. AWS, Digital Ocean, або GPU-екземпляр, запустіть цю команду, можливо, просто замінивши Python на Python 3. У багатьох дистрибутивах Linux ви повинні зазначити Python 3 для команди. Зараз побачимо це. У нашому випадку, оскільки у нас тільки CPU-екземпляр, я запущу цю команду. Щоб запустити екземпляр AMA на своєму процесорі, оскільки у мене немає GPU. Копіюю. Повертаюся сюди. Вставляю. Ви побачите, що пише “Python not found”. Зазвичай це просто означає, що потрібно додати “3” в кінці. Вказую Python 3. Запущу.
Зараз він почне процес, де завантажує Superbase. Він запускає контейнери Superbase. Фактично, є деякі налаштування припустимо, за лаштунками, які він налаштовує для CRX. Цей сценарій піклується про багато речей. Ви побачите, як він завантажує та запускає контейнери Superbase. Потім він трохи почекає. Він завантажує та запускає інші контейнери для нашого стеку локального ІІ. Всі вони зібрані в єдиній мережі Docker. Всі контейнери можуть спілкуватися один з одним. Це займе трохи часу, бо деякі з цих контейнерів досить великі. Йому потрібно завантажити модель AMA, імпортувати робочі процеси n тощо. Я зроблю паузу і повернусь, коли це буде. Готово
Через кілька хвилин у нас працюють усі контейнери. Ваші журнали повинні виглядати приблизно так. З Digital Ocean у мене сталася невеличка проблемка. Саме тому ви бачите якийсь порожній простір, але ваші журнали виглядатимуть приблизно так. Контейнери Superbase завантажено та виконано. Те саме для місцевого ІІ. Для всього, наприклад, n8n, open web UI та Caddy. Щоб побачити всі ваші контейнери, ви можете виконати команду Docker PS. Вона покаже кожен окремий контейнер у стеку. Ви можете переконатися, що всі вони працюють. Якщо ви бачите якісь, які не працюють або перезавантажуються, швидше за все, у вас є якісь проблеми, які потрібно буде розглянути.
Ви також наприклад, можете виконати Docker logs DF та назву вашого контейнера. Це дасть вам усі журнали для певного контейнера. Ми зараз дивимося на Caddy хоча -f означає, що буде продовжувати відображати журнали. Кілька команд, щоб допомогти вам керувати вашим стеком. До речі, тепер ми можемо перейти до нашого браузера та перевірити це. Нова вкладка, yt-nn. automator. ai. Ось воно і ура. У нас є сторінка реєстрації n8n хоча можемо ввести yt-superb. automator оскільки ai. Воно перенесе нас на нашу інформаційну панель, де попросить увійти. Можемо ввести yt open web UI. Є оскільки Open web UI працює. Я можу підключитися до десь так, нього із зовнішнього браузера на своєму комп’ютері, і це чудово.
Я не буду тут розповідати, як використовувати всі ці різні платформи. На моєму каналі є й інші відео, посилання на які я залишу в описі до цього відео, якщо ви хочете заглибитися в те, як створювати локальних агентів з n8n та Olama. Ми просто хотіли зосередитися на налаштуванні нашого локального ІІ-стека, що розміщений в хмарі, і ми це зробили.
Найшвидший спосіб розгорнути налаштування локального ІІ в хмарі. Я також планую ще багато чого додати до пакета локального ІІ. Я постійно додаю нові сервіси, покращую роботу та випускаю більше контенту, наприклад, інструкції щодо створення, розгортаючих місцевих ІІ агентів. Якщо вам сподобався цей контент, і ви з нетерпінням чекаєте більшого щодо локального штучного інтелекту та ІІ агентів, я буду дуже вдячний вам за лайк та підписку. До зустрічі в наступному відео!