Connect with us

AutoGen: Надання потужності наступному поколінню застосунків великих мовних моделей

Штучний інтелект

AutoGen: Надання потужності наступному поколінню застосунків великих мовних моделей

mm
The AutoGen Framework

Великі мовні моделі (LLM) зараз одні з найбільш обговорюваних тем у мейнстрімній штучній інтелект. Розробники у всьому світі досліджують потенційні застосування LLM. Ці моделі є алгоритмами штучного інтелекту, які використовують техніки глибокого навчання та величезні об’єми навчальних даних для розуміння, підсумовування, передбачення та генерації широкого спектру контенту, включаючи текст, аудіо, зображення, відео та інше.

Великі мовні моделі є складними алгоритмами штучного інтелекту. Розробка такої моделі – це вичерпуюче завдання, а створення застосунку, який використовує можливості LLM, є не менш складним. Це вимагає значної експертизи, зусиль та ресурсів для розробки, реалізації та оптимізації робочого процесу, який може використати повний потенціал великої мовної моделі для отримання найкращих результатів. Ураховуючи великий час та ресурси, необхідні для створення робочих процесів для застосунків, які використовують потужність LLM, автоматизація цих процесів має величезну цінність. Це особливо вірно, оскільки робочі процеси, як очікується, стануть ще більш складними в найближчому майбутньому, коли розробники створюють усе більш складні застосунки на основі LLM. Крім того, простір дизайну, необхідний для цих робочих процесів, є як складним, так і розширеним, що ще більше підвищує складність створення оптимального, надійного робочого процесу, який відповідає очікуванням продуктивності.

AutoGen – це.framework, розроблений командою Microsoft, який має на меті спростити оркестрацію та оптимізацію робочих процесів LLM шляхом введення автоматизації в робочий процес. Фреймворк AutoGen пропонує розмовні та настраювані агенти, які використовують потужність передових LLM, таких як GPT-3 і GPT-4, і водночас адресують їхні поточні обмеження шляхом інтеграції LLM з інструментами та людським вводом за допомогою автоматизованих чатів для ініціювання розмов між декількома агентами.

При використанні фреймворку AutoGen для розробки складної системи багаторозмовної розмови потрібно лише два кроки.

Крок 1: Визначити набір агентів, кожний з яких має свої ролі та можливості.

Крок 2: Визначити поведінку взаємодії між агентами, тобто агент повинен знати, як відповісти, коли він отримує повідомлення від іншого агента.

Обидва вище згадані кроки є модульними та інтуїтивними, що робить цих агентів композитними та багаторазовими. Нижче наведена схема зразкової робочої схеми, яка адресує питання оптимізації ланцюга постачання на основі коду. Як видно, письменник спочатку пише код і інтерпретацію, Safeguard забезпечує конфіденційність та безпеку коду, а код потім виконується Commander після отримання необхідного схвалення. Якщо система зустрічає будь-які проблеми під час виконання, процес повторюється до повного вирішення. Розгортання нижче фреймворку призводить до зменшення кількості ручної взаємодії з 3х до 10х при розгортанні в застосунках, таких як оптимізація ланцюга постачання. Крім того, використання AutoGen також зменшує кількість зусиль з кодування до чотирьох разів.

AutoGen може бути революційним, оскільки він спрямований на перетворення процесу розробки складних застосунків, які використовують потужність LLM. Використання AutoGen не тільки може зменшити кількість ручної взаємодії, необхідної для досягнення бажаних результатів, але також може зменшити кількість зусиль з кодування, необхідних для створення таких складних застосунків. Використання AutoGen для створення застосунків на основі LLM не тільки може прискорити процес значно, але також допоможе зменшити кількість часу, зусиль та ресурсів, необхідних для розробки цих складних застосунків.

У цій статті ми глибше розглянемо фреймворк AutoGen, і ми дослідимо основні компоненти та архітектуру фреймворку AutoGen, а також його потенційні застосування. Тому почнімо.

Введення в AutoGen: Надання потужності наступному поколінню застосунків великих мовних моделей

AutoGen – це відкритий фреймворк, розроблений командою Microsoft, який надає розробникам можливість створювати застосунки, які використовують потужність LLM, за допомогою декількох агентів, які можуть розмовляти один з одним для успішного виконання завдань. Агенти в AutoGen є розмовними, настраюваними та можуть працювати в різних режимах, які використовують комбінацію інструментів, людського вводу та LLM. Розробники також можуть використовувати фреймворк AutoGen для визначення поведінки взаємодії агентів, а розробники можуть використовувати як комп’ютерний код, так і природну мову для програмування гнучких моделей розмови, розгорнутих у різних застосунках. Будучи відкритим фреймворком, AutoGen можна вважати загальним фреймворком, який розробники можуть використовувати для створення застосунків та фреймворків різної складності, які використовують потужність LLM.

Великі мовні моделі відіграють важливу роль у розробці агентів, які використовують фреймворки LLM для адаптації до нових спостережень, використання інструментів та міркування у численних реальних застосунках. Однак розробка цих застосунків, які можуть використати повний потенціал LLM, є складною справою, і враховуючи все більший попит та застосування LLM, а також зростаючу складність завдань, важливо масштабувати потужність цих агентів за допомогою декількох агентів, які працюють у синхронізації один з одним.Але як можна використовувати підхід багаторозмовної взаємодії для розробки застосунків на основі LLM, які можна потім застосовувати у широкому спектрі доменів з різною складністю? Фреймворк AutoGen намагається відповісти на вищезазначене питання за допомогою багаторозмовної взаємодії.

AutoGen: Компоненти та фреймворк

У спробі зменшити кількість зусиль, які розробники повинні прикладати для створення складних застосунків, які використовують можливості LLM, фундаментальний принцип AutoGen полягає у консолідації та оптимізації багаторозмовних робочих процесів за допомогою багаторозмовної взаємодії, максимізуючи при цьому повторне використання реалізованих агентів. AutoGen використовує декілька агентів, які можуть розмовляти один з одним для успішного виконання завдань, а фреймворк побудований на двох фундаментальних концепціях: розмовні агенти та розмовне програмування.

Розмовні агенти

Розмовний агент в AutoGen є сутністю з попередньо визначеною роллю, яка може передавати повідомлення для отримання чи відправлення інформації до чи від інших розмовних агентів. Розмовний агент підтримує свій внутрішній контекст на основі отриманих чи відправлених повідомлень, а розробники можуть конфігурувати цих агентів для того, щоб вони мали унікальний набір можливостей, таких як активація інструментами LLM або прийняття людського вводу.

Можливості агентів, підтримувані людьми, інструментами та LLM

Можливості агента безпосередньо пов’язані з тим, як він обробляє та реагує на повідомлення, що є основною причиною, чому агенти в фреймворку AutoGen дозволяють розробникам гнучкість у наділі різних можливостей своїм агентам. AutoGen підтримує численні загальні композитні можливості для агентів, які включають

  1. LLM: Агенти, підтримувані LLM, використовують можливості передових фреймворків LLM, таких як неявне інтерференція стану, рольова гра, надання зворотного зв’язку та навіть кодування. Розробники можуть використовувати нові техніки промптингу для поєднання цих можливостей у спробі збільшити автономність або навички агента.
  2. Люди: Деякі застосування бажають або вимагають певного рівня людського втручання, а фреймворк AutoGen дозволяє застосункам на основі LLM забезпечувати людську участь у розмові агентів за допомогою агентів, підтримуваних людьми, які могли б запитувати людський ввід під час певних раундів розмови на основі конфігурації агента.
  3. Інструменти: Інструменти-підтримувані агенти зазвичай мають можливість використовувати виконання коду або виконання функцій для виконання інструментів.

Співпраця та налаштування агентів

На основі конкретних потреб та вимог застосування розробники можуть конфігурувати окремих агентів для того, щоб вони мали комбінацію необхідних типів бек-енду для демонстрації складної поведінки, пов’язаної з багаторозмовною взаємодією. Фреймворк AutoGen дозволяє розробникам легко створювати агентів з спеціалізованими ролями та можливостями шляхом розширення або повторного використання вбудованих агентів. Нижче наведена схема базової структури вбудованих агентів у фреймворку AutoGen. Клас ConversableAgent може використовувати людей, інструменти та LLM за замовчуванням, оскільки це найвищий рівень абстракції агента. UserProxyAgent та AssistantAgent – це попередньо сконфігуровані класи ConversableAgent, і кожен з них представляє загальний режим використання, тобто кожен з цих двох агентів діє як штучний інтелект-помічник (коли підтримується LLM), і запитує людський ввід або виконує функційні виклики чи код (коли підтримується інструментами та/або людьми) шляхом дії як людського проксі.

Нижче наведена схема того, як розробники можуть використовувати фреймворк AutoGen для розробки двогового агента з настраюваною функцією відповіді, а також ілюстрація результатуючої автоматизованої розмови агентів під час виконання програми.

Дозволяючи використовувати настраювані агенти, які можуть розмовляти один з одним, ці розмовні агенти служать фундаментальною будівельною одиницею у фреймворку AutoGen. Однак розробники повинні визначити та сформувати багаторозмовні взаємодії для розробки застосунків, у яких ці агенти можуть зробити суттєвий прогрес у виконанні завдань.

Розмовне програмування

Для вирішення вищезазначеної проблеми фреймворк AutoGen використовує розмовне програмування, парадигму обчислення, побудовану на двох основних концепціях: обчислення, дії, виконані агентами у багаторозмовній взаємодії для обчислення їхньої відповіді, та контроль потоку, умови або послідовність, за якої відбуваються ці обчислення. Можливість програмування цих дозволяє розробникам реалізовувати численні гнучкі моделі багаторозмовної взаємодії. Крім того, у фреймворку AutoGen обчислення є розмовно-орієнтованими. Дії, виконані агентом, є актуальними для розмов, у яких агент бере участь, а дії, виконані агентами, призводять до передачі повідомлень для подальших розмов до моменту, коли задовольняється умова завершення. Крім того, контроль потоку у фреймворку AutoGen керується розмовами, оскільки це рішення агентів про те, які агенти будуть передавати повідомлення до та від процедури обчислення.

Нижче наведена проста ілюстрація того, як окремі агенти виконують свої ролеві операції та розмовно-орієнтовані обчислення для генерації бажаних відповідей, таких як виконання коду та виклики інтерференції LLM. Завдання просувається вперед за допомогою розмов, які відображаються у діалоговому вікні.

Для підтримки розмовного програмування фреймворк AutoGen включає наступні шаблони дизайну.

  • Механізми автоматичної відповіді та уніфікований інтерфейс для автоматизованої розмови агентів

Фреймворк AutoGen має уніфікований інтерфейс для виконання відповідного обчислення, яке є розмовно-орієнтованим за своєю суттю, включаючи «функцію отримання або відправлення» для отримання або відправлення повідомлень, а також «генерувати відповідь», яка генерує відповідь на основі отриманого повідомлення, та приймає необхідні дії. Фреймворк AutoGen також вводить та розгортає механізм автоматичної відповіді агента за замовчуванням для реалізації розмовно-керованого контролю.

  • Контроль за допомогою поєднання природної мови та програмування

Фреймворк AutoGen дозволяє використовувати природну мову та програмування у різних моделях керування потоком, які включають: контроль природною мовою за допомогою LLM, контроль мовою програмування, та перехід контролю між програмуванням та природною мовою.

Далі, окрім статичних розмов, які зазвичай супроводжуються попередньо визначеним потоком, фреймворк AutoGen також підтримує динамічні потоки розмови за допомогою декількох агентів, а фреймворк надає розробникам два варіанти для досягнення цього

  1. За допомогою викликів функцій.
  2. За допомогою настраюваної функції генерації відповіді.

Застосування AutoGen

Для ілюстрації потенціалу фреймворку AutoGen у розробці складних багаторозмовних застосунків нижче наведено шість потенційних застосувань AutoGen, які були вибрані на основі їхньої актуальності у реальному світі, можливостей вирішення проблем, підвищених фреймворком AutoGen, та їхнього інноваційного потенціалу.

Ці шість застосувань фреймворку AutoGen включають

  1. Розв’язування математичних проблем.
  2. Розмови з підтримкою пошукових систем.
  3. Розмови ALF.
  4. Багаторозмовне кодування.
  5. Динамічні групові розмови.
  6. Розмовні шахи.

Застосування фреймворку AutoGen

Застосування 1: Розв’язування математичних проблем

Математика є однією з основних дисциплін використання моделей LLM для допомоги у розв’язанні складних математичних проблем, що відкриває новий світ потенційних застосувань, включаючи допомогу у дослідженнях штучного інтелекту та персоналізовану допомогу у вивченні штучного інтелекту.

Нижче наведена схема застосування фреймворку AutoGen для досягнення конкурентоспроможної продуктивності у розв’язанні математичних проблем.

Застосування 2: Відповіді на питання та генерація коду з підтримкою пошукових систем

У останні місяці генерація коду з підтримкою пошукових систем виникла як ефективний та практичний підхід для подолання обмежень LLM у включенні зовнішніх документів. Нижче наведена схема застосування фреймворку AutoGen для ефективної підтримки пошукових систем та підвищення продуктивності у завданнях відповіді на питання.

Застосування 3: Прийняття рішень у текстових середовищах

Фреймворк AutoGen можна використовувати для створення застосунків, які працюють з онлайн- чи інтерактивним прийняттям рішень. Нижче наведена схема того, як розробники можуть використовувати фреймворк AutoGen для розробки триагентної розмовної системи з агентом для суттєвого підвищення продуктивності.

Застосування 4: Багаторозмовне кодування

Розробники, які працюють з фреймворком AutoGen, можуть використовувати фреймворк OptiGuide для створення багаторозмовної системи кодування, яка здатна писати код для реалізації оптимізованих рішень та відповіді на питання користувачів. Нижче наведена схема того, що використання фреймворку AutoGen для створення багаторозмовного дизайну допомагає суттєво підвищити загальну продуктивність, особливо при виконанні завдань кодування, які вимагають охорони.

Застосування 5: Динамічні групові розмови

Фреймворк AutoGen надає підтримку комунікаційного шаблону, який обертається навколо динамічних групових розмов, у яких беруть участь декілька агентів, які діляться контекстом, та замість виконання попередньо визначених наказів, вони розмовляють один з одним у динамічній манері. Ці динамічні групові розмови залежать від тривалих розмов для керування потоком взаємодії між агентами.

Нижче наведена схема того, як розробники можуть використовувати фреймворк AutoGen для розробки двогової системи з настраюваною функцією відповіді, а також ілюстрація результатуючої автоматизованої розмови агентів під час виконання програми.

Застосування 6: Розмовні шахи

Розробники фреймворку AutoGen використали його для розробки застосунку Розмовні шахи, який є природнім інтерференčním ігровим застосуванням, яке включає вбудовані агенти для гравців, які можуть бути як LLM, так і людиною, а також є третій агент, який надає відповідну інформацію та валідує ходи на дошці на основі набору попередньо визначених стандартних правил. Нижче наведена схема Розмовні шахи, природнє інтерференційне ігрове застосування, побудоване за допомогою фреймворку AutoGen, яке дозволяє гравцям використовувати жарти, гру ролей чи навіть посилання на меми для вираження своїх ходів творчо, що робить гру у шахи більш цікавою не тільки для гравців, але також для аудиторії та спостерігачів.

Висновок

У цій статті ми говорили про AutoGen, відкритий фреймворк, який використовує концепції розмовного програмування та розмовних агентів, який спрямований на спрощення оркестрації та оптимізації робочих процесів LLM шляхом введення автоматизації у робочий процес. Фреймворк AutoGen пропонує розмовні та настраювані агенти, які використовують потужність передових LLM, таких як GPT-3 і GPT-4, і водночас адресують їхні поточні обмеження шляхом інтеграції LLM з інструментами та людським вводом за допомогою автоматизованих чатів для ініціювання розмов між декількома агентами.

Хоча фреймворк AutoGen ще знаходиться на ранніх експериментальних стадіях, він прокладає шлях для майбутніх досліджень та можливостей у цій галузі, і AutoGen може бути інструментом, який допоможе покращити швидкість, функціональність та легкість розробки застосунків, які використовують можливості LLM.

Інженер за професією, письменник серцем. Kunal є технічним письменником з глибокою любов'ю та розумінням AI і ML, присвяченим спрощенню складних концепцій у цих галузях завдяки його цікавим та інформативним документам.