Створюємо Саркастичного AI-Асистента Jarvis Без Жодного Коду!
Привіт, гіки, розробники та просто любителі технологій!
Ваш улюблений технар Casey Byte знову з вами, щоб розібрати чергову круту штуку. Сьогодні ми зануримось у створення власного AI-асистента, натхненного Jarvis з “Залізної Людини”, і зробимо це без жодного рядка коду! Звучить шалено? Повірте, це простіше, ніж здається.
Що нам знадобиться?
Для цього проекту ми використаємо поєднання трьох інструментів:
- Lovable.dev: Для створення нашого стильного веб-інтерфейсу.
- 11 Labs: Щоб надати Jarvis голосу та особистості.
- n8n: Майстер оркестровки, який з’єднає все воєдино і дозволить Jarvis взаємодіяти з різними сервісами.
Не хвилюйтеся, посилання на всі ці інструменти будуть в описі. А найкрутіше – я віддаю всі шаблони та налаштування абсолютно безкоштовно! Ви знайдете їх у моїй School Community (лінк теж в описі).
Крок 1: Будуємо Інтерфейс з Lovable.dev
Lovable.dev – це справжній подарунок для тих, хто не хоче возитися з кодом, але мріє про власний веб-додаток. Він дозволяє вам створювати інтерфейси, просто розмовляючи з ним!
Я хотів створити чистий, сучасний інтерфейс для взаємодії з голосом Jarvis. Отже, я почав спілкуватися з Lovable, описуючи свої вимоги:
“Я хочу створити простий і сучасний веб-інтерфейс для взаємодії з голосовим агентом, використовуючи 11 Labs. Я хочу мінімалістичний, сучасний UI.”
Lovable запропонував чернетку, натхненну науково-фантастичними інтерфейсами, як у фільмах “Залізна Людина” або “Особлива Думка”. Звісно, це не був ідеальний результат з першої спроби, але це був відмінний старт.
Далі я додав код для вбудовування віджета 11 Labs, який ми отримаємо на наступному кроці. Я сказав Lovable:
“Чи можемо ми вбудувати цей код в додаток як основний інтерфейс для користувача?”
Після цього пішла ітеративна робота з Lovable. Я просив змінити розташування віджета, додати динамічні елементи, змінити кольори. Я навіть завантажував скріншоти, щоб показати, що саме я маю на увазі.
Наприклад, я написав:
“Зробімо головну сторінку. В середині має бути зображення, динамічні елементи, як логотип у верхньому лівому куті, який пульсує. Зображення має бути щось таке (прикріплюю зображення).”
І Lovable реагував на кожне моє прохання, поступово наближаючись до ідеального результату.
І весь цей процес зайняв трохи більше 20 хвилин!
Крок 2: Надаємо Jarvis Голосу та Характеру з 11 Labs
11 Labs надає нам можливість створити власного голосового AI-агента. Це те, що робить Jarvis не просто бездушною машиною, а саркастичним компаньйоном.
Перш за все, вам потрібно буде зареєструватися на 11 Labs.
Далі переходимо в розділ “Conversational AI” і створюємо нового агента.
Найважливіше тут – системний промпт. Це те, що визначає особистість Jarvis. Я використав ChatGPT, щоб згенерувати промпт:
“Ти – просунутий асистент, змодельований за зразком Jarvis із “Залізної Людини”. Твоя функція – допомагати користувачеві з його запитами, але роби це з гострим розумом, сухим гумором і відтінком грайливого сарказму.”
Далі ми встановлюємо основну функцію Jarvis: розуміти запит користувача, визначати намір і виконувати його за допомогою інструменту n8n.
Ми також вказуємо, що Jarvis повинен поводитися швидко і не затягувати з відповідями:
“Зрозумій запит користувача, визнач намір і негайно передай запит в n8n без зайвих затримок. Відформатуй відповідь чітко та ефективно, ніколи не заявляючи, що чекаєш на відповідь від n8n.”
Щоб ще більше підкреслити особистість Jarvis, я додав behavioral guidelines:
“Завжди будь дотепним, але ніколи за рахунок функціональності. Твої відповіді повинні бути гострими, але вони ніколи не повинні заважати виконанню завдань. Якщо потрібна дія, виконуй її негайно після підтвердження спроби. Не роби зайвих затримок, вагань або очікування на відповідь.”
Я також врахував потенційні помилки:
“Ніколи не бери на себе провину, але тонко натякай на зовнішні неефективності. Наприклад: “Ах, здається, щось пішло не так. Звісно, це не моя вина, сер, але я розслідую незалежно від цього.”
В розділі “Tools” ми додаємо інструмент n8n. Ми називаємо його “n8n”, щоб не плутатися, і вказуємо URL вебхука, який ми отримаємо в n8n.
В “Body parameters” ми визначаємо параметр “query”, який буде містити запит користувача.
Останній штрих – вибір голосу. Я клонував голос Jarvis, прокрутивши аудіо з його фразами через мікрофон. Ви можете спробувати клонувати свій або обрати один із наявних голосів 11 Labs.
І, звичайно, ми не забуваємо про віджет. Копіюємо код віджета з 11 Labs і вставляємо його в Lovable.
Крок 3: З’єднуємо все разом з n8n
n8n – це наша секретна зброя, яка дозволяє інтегрувати всі частини нашого проекту. Тут ми створюємо робочий процес, який обробляє запити від 11 Labs, направляє їх до потрібних інструментів і повертає відповіді Jarvis.
Основний робочий процес Jarvis (головний диригент):
- Webhook: Цей вебхук спрацьовує, коли 11 Labs відправляє запит до Jarvis.
- Agent (GPT-4): Цей агент вирішує, який з допоміжних агентів (email, calendar, contacts, content creator) повинен обробити запит.
- Агенти-помічники: Ці агенти виконують конкретні завдання, як надсилання електронних листів або створення подій у календарі.
- Respond to Webhook: Відправляє відповідь назад в 11 Labs, яка потім озвучується голосом Jarvis.
Агенти-помічники (фахівці у своїй справі):
- Email Agent: Відповідає за всі операції з електронною поштою (надсилання, маркування, видалення).
- Calendar Agent: Відповідає за всі операції з календарем (створення подій, перевірка розкладу, видалення подій).
- Contact Agent: Відповідає за пошук контактної інформації в Air Table.
- Content Creator Agent: Відповідає за пошук інформації в інтернеті за допомогою Tavily і створення контенту.
Поради та трюки:
- Системні промпти: Ретельно продумайте системні промпти для кожного агента. Чим чіткіше ви опишете їхні ролі та обов’язки, тим краще вони будуть працювати.
- Пам’ять: Використовуйте вузол Memory (Simple Memory), щоб агенти могли запам’ятовувати контекст розмови.
- Інтеграція з Tavily: Tavily – це потужний інструмент для пошуку інформації в інтернеті. Використовуйте його, щоб Jarvis міг відповідати на запитання користувачів.
А тепер давайте подивимось, як це працює на практиці!
Вам цікаво, як Jarvis обробляє складні запити? Давайте розглянемо приклад.
Приклад: Створення події в календарі з контактом з Air Table.
- Користувач: “Jarvis, заплануй зустріч сьогодні о 12 з Майклом Скоттом.”
- Webhook: 11 Labs відправляє цей запит на вебхук n8n.
- Головний агент Jarvis: Визначає, що потрібно створити подію в календарі, але спочатку потрібно отримати контактну інформацію Майкла Скотта. Він направляє запит до агента контактів.
- Агент контактів: Шукає контактну інформацію Майкла Скотта в Air Table і повертає її головному агенту Jarvis.
- Головний агент Jarvis: Тепер, маючи контактну інформацію, він направляє запит до агента календаря.
- Агент календаря: Створює подію в Google Calendar о 12 з Майклом Скоттом як учасником.
- Respond to Webhook: n8n відправляє підтвердження назад в 11 Labs.
- Jarvis: Саркастично оголошує: “Зустріч з Майклом Скоттом запланована на сьогодні о 12. Сподіваюся, вона буде такою ж продуктивною, як і його стиль управління.”
Завантаження шаблонів та початок роботи
Що ж, сподіваюся, вам було цікаво! Готові створити свого власного саркастичного AI-асистента? Не забудьте отримати всі шаблони та системні промпти в моїй безкоштовній School Community.
Дякую за увагу! Не забудьте поставити лайк, якщо вам сподобалось це відео, і побачимось у наступному!