заглушки AutoGen: створення додатків великої мовної моделі наступного покоління - Unite.AI
Зв'язатися з нами

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

AutoGen: Застосування великої мовної моделі наступного покоління

mm

опублікований

 on

AutoGen Framework

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

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

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

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

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

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

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

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

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

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

Агентська співпраця та налаштування

Базуючись на конкретних потребах і вимогах додатка, розробники можуть налаштувати окремих агентів, щоб вони мали комбінацію основних типів серверної частини для відображення складної поведінки, пов’язаної з багатоагентними розмовами. Структура AutoGen дозволяє розробникам легко створювати агентів зі спеціалізованими ролями та можливостями, розширюючи або повторно використовуючи вбудовані агенти. На малюнку нижче показано базову структуру вбудованих агентів у структурі AutoGen. Клас ConversableAgent може використовувати людей, інструменти та LLM за замовчуванням, оскільки це абстракція агента найвищого рівня. UserProxyAgent і AssistantAgent є попередньо налаштованими класами ConversableAgent, і кожен з них представляє загальний режим використання, тобто кожен із цих двох агентів діє як помічник AI (за підтримки 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 Framework

Застосування 1: Розв’язування математичних задач

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

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

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

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

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

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

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

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

Додаток 5: динамічний груповий чат

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

Наведений вище малюнок ілюструє, як структура AutoGen підтримує динамічні групові чати між агентами, використовуючи «GroupChatManager”, спеціальний агент. 

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

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

Висновок

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

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

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