Штучний інтелект без коду: Створюємо потужного асистента з Flowise
Привіт, друзі! Сьогодні я, Ліла Гарт, проведу вас у захопливий світ створення інтелектуальних помічників. Ми здійснимо це без жодного рядка коду – використовуючи потужний інструмент, який називається Flowise. Уявіть собі, ви зможете створити помічника, який не лише відповість на ваші запитання, використовуючи власну базу знань, а й зможе виконувати складні задачі, використовуючи різні інструменти. Звучить магічно? Насправді, це цілком реально!
Чим агенти відрізняються від “ланцюгів”?
Перш ніж ми поринемо в процес, давайте розберемось у ключовій різниці між двома основними типами автоматизації: “ланцюгами” (chains) та агентами (agents). У попередніх відео ми вже познайомились з “ланцюгами”. Вони діють за простим алгоритмом: отримують вхідні дані (запитання), обробляють їх за заздалегідь визначеною послідовністю та видають відповідь. Все чітко, передбачувано, але дещо обмежено.
Агенти – зовсім інша справа! Вони наділені здатністю міркувати. Вони аналізують поставлену задачу і самостійно вирішують, які саме інструменти їм потрібні для її виконання. Уявіть собі детектива, якому дано доступ до різних експертів, баз даних, обладнання… Саме так працює агент.
Основна відмінність між “ланцюгами” та агентами полягає в тому, що агентам ми можемо надати список доступних інструментів. Наприклад, якщо ви попросите такого помічника виконати математичне обчислення, він звернеться до калькулятора. Якщо попросите знайти інформацію в інтернеті, він скористається пошуковою системою.
Ця “гнучкість” відкриває безмежні можливості. Ми можемо створити систему, яка збиратиме інформацію від користувача, зберігатиме її, інтегруватиме з системами бронювання, генеруватиме звіти та багато іншого.
Створюємо вашого першого агента
Отже, готові? Починаємо!
-
Створення нового потоку (Flow): Запускаємо Flowise та створюємо новий потік. Назвемо його “Agent Demo”.
-
Додавання агента: В області “Agents” обираємо “Conversational Agent” (агент для спілкування). Ось він – серце вашого майбутнього помічника!
-
Вибір моделі та пам’яті:
- Для зручності початківцям пропоную співставити можливості та вимоги з доступними моделями, такими як GPT-3.5 Turbo. Але я раджу спробувати GPT-4, якщо у вас є до нього доступ. Я оберу GPT-4 Turbo preview, щоб внести трохи інтриги.
- Не забудьте про “Memory” (пам’ять). Обираємо “Buffer Memory”. Це дозволяє агенту запам’ятовувати історію розмови, щоб відповіді були релевантними та контекстуальними.
- Додаткові параметри. Там ви можете встановити “System message”. Текст який буде відображатися як системне повідмолення помічнику.
- Не забудьте про “Temperature”. Я раджу ставити низьке значення. Це потрібно щоб агент спирався на інструменти а не на власну творчість.
-
Підключення інструментів: Ось де починається найцікавіше! Агенти – це про інструменти. Давайте розглянемо кілька прикладів.
-
Калькулятор: Щоб агент міг вирішувати математичні задачі, додаємо інструмент “Calculator” (калькулятор) з розділу “Tools”. З’єднуємо його з агентом.
-
Перевірка роботи. Задамо запитання: “Скільки буде 5000 поділити на 20?”. У відповідь отримаємо результат. Але як дізнатись, чи було використано калькулятор?
Використовуємо Langsmith (опціонально). Це потужний інструмент для аналізу та налагодження роботи наших потоків. Якщо ви не знайомі – рекомендую ознайомитись з відео, яке присвячене роботі з Flowise.
- Увімкніть Langsmith в “Analyze chat flow”.
- Вкажіть свої облікові дані (credentials) Langsmith.
- Вкажіть назву проекту (наприклад, “agent demo”).
- Увімкніть “Tracing”.
- Повторюємо тест та дивимось на trace. Там є інформація про кожен крок, включаючи використання калькулятора.
-
Пошук в Google: Ще один корисний інструмент – пошук в Google. Додаємо “SERP API” (інструмент для пошуку). Для роботи з ним потрібен API-ключ, який можна отримати на сайті SerpApi.com.
-
Приклад: Задамо запитання, на яке агент не знає відповіді з його базових даних. Наприклад: “Яка поточна ціна RTX 4090 на Amazon.com?”. Ми отримаємо відповідь з результатами пошуку. Спробуйте проаналізувати trace у Langsmith, щоб переконатися, що інструмент працює.
-
-
Генеруємо рецепти: Ви пам’ятаєте, як ми створювали ланцюжковий генератор рецептів? Зараз ми інтегруємо його в агента як інструмент.
-
Додаємо в “Tools” – “Chain tool”.
-
З’єднуємо з агентом.
-
Надаємо ім’я ланцюга (наприклад, “Chef chain”)
-
Вказуємо опис: “Use this tool when asked to create a food recipe.” (Використовуй цей інструмент, коли просять створити рецепт страви). Це дуже важливо! В описі потрібно чітко вказати, коли саме агент повинен використовувати цей інструмент.
-
Створюємо сам ланцюг.
-
Додаємо стандартний “LLM chain”.
-
Підключаємо модель (наприклад, GPT-3.5 Turbo instruct).
-
Додаємо “Prompt template” з розділу “Prompts”.
-
Вказуємо в шаблоні: “Based on the below user input, create a unique recipe, including cooking instructions.” (На основі вхідних даних користувача створіть унікальний рецепт, включаючи інструкції з приготування).
- Додайте плейсхолдер “input”, значення якого буде питанням з чат-бокса.
- З’єднуємо відповідні вузли між собою, як ми робили раніше.
- Зберігаємо, тестуємо.
-
Важливий момент: За замовчуванням агент може інтерпретувати результати ланцюга. Щоб повертати відповідь безпосередньо від ланцюга, перемкніть “return direct” в Tool Chain.
-
-
-
Використовуємо базу знань (Retrieval): Тепер навчимо агента відповідати на питання, використовуючи конкретні дані, наприклад, з вашого бізнесу. Це дуже корисно для створення чат-ботів підтримки.
- Першим ділом додаємо “Retrieval tool” з разделе “Tools” та з’єднуємо його з агентом.
- Приклад 1: PDF-документ.
- Створюємо “Tesla retriever”.
- Пишемо опис: “Use this tool when ask questions about Tesla and their financial statements.” (Використовуй цей інструмент, коли задають питання про Tesla та їх фінансові звіти).
- Під’єднуємо “in memory vector store”.
- Додаємо “open AI embeddings” та з’єднуємо їх з нашим вектором.
- Завантажуємо PDF за допомогою “PDF document loader”.
- Використовуємо “recursive character text splitter” для поділу тексту на частини.
- Зберігаємо, upsert данні.
- Тестуємо!
- Приклад 2: Pinecone (існуюча база даних).
- Видаляємо “in memory vector store”, PDF, “text splitter”, та “embeddings”.
- Додаємо “Pinecone vector store” з розділу “Vector stores”.
- Вказуємо власні кредешенли.
- З’єднуємо з “retriever”.
- Перейменовуємо “retrieval tool” (наприклад, “Lang chain retriever”).
- Змінюємо опис (“Use this tool when ask questions about Lang chain. (Використовуй цей інструмент, коли запитують про Lang chain)”).
- Вмикаємо “Return source documents”.
- Тестуємо.
Підсумки та наступні кроки
Вітаю! Ви щойно створили потужного агента, який вміє виконувати різноманітні задачі. Ви навчились використовувати інструменти, працювати з базою знань і навіть створювали рецепти! Це лише верхівка айсберга. У майбутніх відео я планую розповісти про:
- Інтеграцію з системами бронювання.
- Створення агентів для збору лідів.
- Більш складні типи інструментів.
- Та багато іншого.
Не забудьте поставити лайк цьому відео, підписатися на канал та написати в коментарях, які інструменти ви хотіли б, щоб я розглянула в наступних відео. Дякую за увагу!