výhonek AutoGen: Pohání aplikace velkého jazykového modelu nové generace – Unite.AI
Spojte se s námi

Umělá inteligence

AutoGen: Podpora aplikací s velkým jazykovým modelem nové generace

mm

Zveřejněno

 on

Rámec AutoGen

Velké jazykové modely (LLM) jsou v současnosti jedním z nejdiskutovanějších témat v mainstreamové AI. Vývojáři po celém světě zkoumají potenciální aplikace LLM. Tyto modely jsou algoritmy umělé inteligence, které využívají techniky hlubokého učení a obrovské množství tréninkových dat k pochopení, shrnutí, předvídání a generování široké škály obsahu, včetně textu, zvuku, obrázků, videí a dalších.

Velké jazykové modely jsou složité algoritmy umělé inteligence. Vyvinout takový model je vyčerpávající úkol a sestavení aplikace, která využívá schopnosti LLM, je stejně náročné. Vyžaduje značné odborné znalosti, úsilí a zdroje pro návrh, implementaci a nakonec optimalizaci pracovního postupu schopného využít plný potenciál velkého jazykového modelu k dosažení nejlepších výsledků. Vzhledem k rozsáhlému času a zdrojům potřebným k vytvoření pracovních postupů pro aplikace, které využívají sílu LLM, má automatizace těchto procesů nesmírnou hodnotu. To platí zejména proto, že se očekává, že pracovní postupy budou v blízké budoucnosti ještě složitější a vývojáři budou vytvářet stále sofistikovanější Aplikace založené na LLM. Kromě toho je prostor pro návrh nezbytný pro tyto pracovní postupy jak složitý, tak rozsáhlý, což dále zvyšuje nároky na vytvoření optimálního a robustního pracovního postupu, který splňuje očekávání výkonu.

AutoGen je rámec vyvinutý týmem společnosti Microsoft, jehož cílem je zjednodušit orchestraci a optimalizaci pracovních postupů LLM zavedením automatizace do potrubí pracovních postupů. Rámec AutoGen nabízí konverzní a přizpůsobitelné agenty, kteří využívají výkon pokročilých LLM jako GPT-3 a GPT-4, a zároveň řeší jejich současná omezení integrací LLM s nástroji a lidskými vstupy pomocí automatizovaných chatů k zahájení konverzací. mezi více agenty. 

Při použití frameworku AutoGen stačí dva kroky při vývoji komplexního multiagentního konverzačního systému. 

Krok 1: Definujte sadu agentů, z nichž každý má své role a schopnosti. 

Krok 2: Definujte chování při interakci mezi agenty, tj. agent by měl vědět, co má odpovědět, když obdrží zprávu od jiného agenta. 

Oba výše uvedené kroky jsou modulární a intuitivní, díky čemuž jsou tyto agenty složitelné a znovu použitelné. Obrázek níže ukazuje ukázkový pracovní postup, který se zabývá odpovědí na otázky založené na kódu při optimalizaci dodavatelského řetězce. Jak je vidět, autor nejprve napíše kód a interpretaci, Safeguard zajišťuje soukromí a bezpečnost kódu a kód je poté spuštěn velitelem poté, co obdrží požadované povolení. Pokud systém během běhu narazí na nějaký problém, proces se opakuje, dokud není zcela vyřešen. Nasazení níže uvedeného rámce vede ke snížení množství ruční interakce z 3x na 10x při nasazení v aplikacích, jako je optimalizace dodavatelského řetězce. Kromě toho použití AutoGen také snižuje náklady na kódování až čtyřikrát. 

AutoGen může změnit hru, protože si klade za cíl transformovat proces vývoje komplexních aplikací využívajících sílu LLM. Použití AutoGen může nejen snížit množství manuálních interakcí potřebných k dosažení požadovaných výsledků, ale může také snížit množství kódovacího úsilí potřebného k vytvoření takto složitých aplikací. Využití AutoGen pro tvorbu Aplikace založené na LLM může nejen výrazně urychlit proces, ale také pomůže snížit množství času, úsilí a zdrojů potřebných k vývoji těchto složitých aplikací. 

V tomto článku se hlouběji ponoříme do rámce AutoGen a prozkoumáme základní komponenty a architekturu rámce AutoGen spolu s jeho potenciálními aplikacemi. Tak začněme. 

Úvod do AutoGen: Podpora aplikací s velkým jazykovým modelem nové generace

AutoGen je open-source framework vyvinutý týmem Microsoftu, který vybavuje vývojáře schopností vytvářet aplikace využívající sílu LLM využívajících více agentů, kteří spolu mohou konverzovat a úspěšně provádět požadované úkoly. Agenti v AutoGen jsou konverzní, přizpůsobitelní a mohou pracovat v různých režimech, které využívají kombinaci nástrojů, lidského vstupu a LLM. Vývojáři mohou také použít framework AutoGen k definování interakčního chování agentů a vývojáři mohou používat počítačový kód i přirozený jazyk k programování flexibilních vzorců konverzace nasazených v různých aplikacích. Jako open source framework lze AutoGen považovat za generický framework, který mohou vývojáři používat k vytváření aplikací a frameworků různé složitosti, které využívají sílu LLM. 

Velké jazykové modely hrají klíčovou roli při vývoji agentů, kteří využívají rámce LLM pro přizpůsobení se novým pozorováním, používání nástrojů a uvažování v mnoha aplikacích v reálném světě. Ale vývoj těchto aplikací, které dokážou využít plný potenciál LLM, je složitá záležitost a vzhledem ke stále rostoucí poptávce a aplikacím LLM spolu s rostoucí složitostí úkolů je životně důležité rozšířit výkon těchto agentů pomocí více agentů. které fungují vzájemně synchronizovaně. Ale jak lze multiagentní přístup použít k vývoji aplikací založených na LLM, které lze následně aplikovat na širokou škálu domén s různou složitostí? Rámec AutoGen se pokouší odpovědět na výše uvedenou otázku pomocí multi-agentních konverzací. 

AutoGen: Komponenty a rámec

Ve snaze snížit množství úsilí, které musí vývojáři vynaložit na vytváření komplexních aplikací s využitím schopností LLM v širokém spektru domén, je základním principem AutoGen konsolidace a zefektivnění pracovních postupů s více agenty pomocí konverzací s více agenty. , čímž se také maximalizuje znovupoužitelnost těchto implementovaných agentů. AutoGen používá více agentů, kteří spolu mohou konverzovat, aby úspěšně provedli požadované úkoly, a rámec je postaven na dvou základních konceptech: Konverzní agenti a Konverzní programování. 

Konverzní agenti

Konverzní agent v AutoGen je entita s předdefinovanou rolí, která může předávat zprávy za účelem odesílání a přijímání informací do a od jiných konverzovatelných agentů. Konverzní agent udržuje svůj vnitřní kontext na základě přijatých nebo odeslaných zpráv a vývojáři mohou tyto agenty nakonfigurovat tak, aby měli jedinečnou sadu schopností, jako je aktivace pomocí nástrojů LLM nebo přijímání lidských vstupů. 

Schopnosti agenta poháněné lidmi, nástroji a LLM 

Schopnosti agenta přímo souvisejí s tím, jak zpracovává zprávy a odpovídá na ně, což je hlavní důvod, proč agenti v rámci AutoGen umožňují vývojářům flexibilitu při poskytování různých schopností jejich agentům. AutoGen podporuje četné běžné skládací schopnosti pro agenty, které zahrnují

  1. LLM: Agenti podporovaní LLM využívají schopnosti pokročilých LLM rámců, jako je implicitní státní interference, hraní rolí, poskytování zpětné vazby a dokonce kódování. Vývojáři mohou používat nové techniky pobízení ke kombinaci těchto schopností ve snaze zvýšit autonomii nebo dovednosti agenta. 
  2. Lidé: Několik aplikací vyžaduje nebo vyžaduje určitý stupeň lidského zapojení a rámec AutoGen umožňuje aplikacím založeným na LLM usnadnit lidskou účast na konverzaci s agenty pomocí agentů podporovaných lidmi, kteří by mohli během určitých kol konverzace vyžadovat lidské vstupy na základě konfigurace agenta. 
  3. Nástroje: Agenti podporovaní nástroji mají obvykle schopnosti používat ke spouštění nástrojů provádění kódu nebo provádění funkcí.

Spolupráce a přizpůsobení agentů

Na základě specifických potřeb a požadavků aplikace mohou vývojáři nakonfigurovat jednotlivé agenty tak, aby měli kombinaci základních typů back-endu pro zobrazení komplexního chování spojeného s konverzací s více agenty. Rámec AutoGen umožňuje vývojářům snadno vytvářet agenty se specializovanými rolemi a schopnostmi rozšířením nebo opětovným použitím vestavěných agentů. Níže přiložený obrázek ukazuje základní strukturu vestavěných agentů v rámci AutoGen. Třída ConversableAgent může ve výchozím nastavení používat lidi, nástroje a LLM, protože jde o abstrakci agentů nejvyšší úrovně. UserProxyAgent a AssistantAgent jsou předkonfigurované třídy ConversableAgent a každý z nich představuje společný režim použití, tj. každý z těchto dvou agentů funguje jako asistent AI (pokud je podporován LLM) a vyžaduje lidský vstup nebo provádí volání funkcí. nebo kódy (pokud jsou podporovány nástroji a/nebo lidmi) tím, že fungují jako lidský proxy. 

Obrázek níže ukazuje, jak mohou vývojáři použít framework AutoGen k vývoji systému dvou agentů, který má vlastní funkci odpovědi, spolu s ilustrací výsledného automatického chatu agenta, který používá systém dvou agentů během provádění programu. 

Tím, že umožňují použití vlastních agentů, kteří mohou mezi sebou konverzovat, slouží tito konverzní agenti jako základní stavební blok v rámci AutoGen. Vývojáři však potřebují specifikovat a formovat tyto multiagentní konverzace, aby mohli vyvíjet aplikace, kde jsou tito agenti schopni dosáhnout podstatného pokroku ve specifikovaných úkolech. 

Programování konverzace

K vyřešení výše uvedeného problému používá framework AutoGen programování konverzace, výpočetní paradigma postavené na dvou základních konceptech: výpočet, akce provedené agenty v multiagentní konverzaci pro výpočet jejich reakce a kontrolní tokpodmínky nebo pořadí, za kterých tyto výpočty probíhají. Schopnost naprogramovat je umožňuje vývojářům implementovat četné flexibilní vzory konverzací s více agenty. Navíc v rámci AutoGen jsou výpočty zaměřeny na konverzaci. Akce prováděné agentem jsou relevantní pro konverzace, kterých se agent účastní, a akce prováděné agenty pak vedou k předávání zpráv pro následné konverzace až do okamžiku, kdy je splněna podmínka ukončení. Kromě toho je řídicí tok v rámci AutoGen řízen konverzacemi, protože je to rozhodnutí zúčastněných agentů, kteří agenti budou posílat zprávy do a z výpočetní procedury. 

Výše uvedený obrázek ukazuje jednoduchou ilustraci toho, jak jednotliví agenti provádějí své operace specifické pro roli a výpočty zaměřené na konverzaci pro generování požadovaných odpovědí, jako je provádění kódu a volání rušení LLM. Úkol postupuje vpřed pomocí konverzací, které se zobrazují v dialogovém okně. 

Pro usnadnění programování konverzace obsahuje rámec AutoGen následující návrhové vzory. 

  • Mechanismy automatických odpovědí a jednotné rozhraní pro automatické chatování agentů

Rámec AutoGen má jednotné rozhraní pro provádění odpovídajícího výpočtu, který je svou povahou zaměřen na konverzaci, včetně a "funkce příjmu nebo odesílání" pro příjem nebo odesílání zpráv spolu s „generovat_odpověď” funkce, která na základě přijaté zprávy vygeneruje odpověď a provede požadovanou akci. Rámec AutoGen také zavádí a nasazuje agent-automatická odpověď mechanismus ve výchozím nastavení pro realizaci ovládání řízeného konverzací. 

  • Řízení spojením přirozeného jazyka a programování

Rámec AutoGen usnadňuje použití přirozeného jazyka a programování v různých vzorech řízení toku řízení, které zahrnují: Ovládání přirozeného jazyka pomocí LLMOvládání programovacím jazykem, a Řízení přechodu mezi programováním a přirozeným jazykem

Kromě statických konverzací, které jsou obvykle doprovázeny předdefinovaným tokem, rámec AutoGen podporuje také dynamické toky konverzací pomocí více agentů a rámec poskytuje vývojářům dvě možnosti, jak toho dosáhnout.

  1. Pomocí volání funkcí. 
  2. Pomocí přizpůsobené funkce generování-odpovědi. 

Aplikace AutoGen

Abychom ilustrovali potenciál rámce AutoGen při vývoji komplexních multiagentních aplikací, zde je šest potenciálních aplikací AutoGen, které jsou vybrány na základě jejich relevance v reálném světě, schopností řešení problémů rozšířených rámcem AutoGen, a jejich inovativní potenciál. 

Těchto šest aplikací rámce AutoGen je

  1. Řešení matematických problémů. 
  2. Načítání rozšířených chatů. 
  3. ALF chaty. 
  4. Multiagentní kódování. 
  5. Dynamický skupinový chat. 
  6. Konverzační šachy. 

Aplikace AutoGen Framework

Aplikace 1: Řešení matematických úloh

Matematika je jednou ze základních disciplín využití modelů LLM k pomoci s řešením složitých matematických problémů, které otevírají zcela nový svět potenciálních aplikací včetně pomoci při výzkumu AI a personalizovaného doučování AI. 

Obrázek připojený výše ukazuje použití rámce AutoGen k dosažení konkurenceschopného výkonu při řešení matematických problémů. 

Aplikace 2: Odpovídání na otázky a generování rozšířeného kódu načítání

V posledních několika měsících se Retrieval Augmented Code Generation ukázalo jako efektivní a praktický přístup k překonání omezení LLM při začleňování externích dokumentů. Obrázek níže ukazuje použití rámce AutoGen pro efektivní rozšíření vyhledávání a zvýšení výkonu při úlohách Q&A. 

Aplikace 3: Rozhodování v prostředí textového světa

Rámec AutoGen lze použít k vytváření aplikací, které pracují s online nebo interaktivním rozhodováním. Obrázek níže ukazuje, jak mohou vývojáři použít framework AutoGen k návrhu konverzačního systému se třemi agenty s uzemňovacím agentem pro výrazné zvýšení výkonu. 

Aplikace 4: Multi-Agent Coding

Vývojáři pracující na frameworku AutoGen mohou použít framework OptiGuide k vybudování multiagentního kódovacího systému, který je schopen psát kód pro implementaci optimalizovaných řešení a odpovídat na otázky uživatelů. Obrázek níže ukazuje, že použití rámce AutoGen k vytvoření návrhu s více agenty pomáhá výrazně zvýšit celkový výkon, zejména při provádění úloh kódování, které vyžadují zabezpečení. 

Aplikace 5: Dynamic Group Chat

Rámec AutoGen poskytuje podporu pro komunikační vzor, ​​který se točí kolem dynamických skupinových chatů, ve kterých zúčastněné více agentů sdílí kontext a místo toho, aby se řídili sadou předem definovaných příkazů, konverzují spolu dynamickým způsobem. Tyto dynamické skupinové chaty se spoléhají na probíhající konverzace, které řídí tok interakce v rámci agentů. 

Výše uvedený obrázek ilustruje, jak framework AutoGen podporuje dynamické skupinové chaty mezi agenty pomocí „GroupChatManager“, zvláštní agent. 

Aplikace 6: Konverzační šachy

Vývojáři frameworku AutoGen jej použili k vývoji aplikace Conversational Chess, což je přirozená interferenční hra, která obsahuje vestavěné agenty pro hráče, kteří mohou být buď LLM nebo lidé, a existuje také agent třetí strany, který poskytuje relevantní informace. informace a ověřuje tahy na šachovnici na základě sady předdefinovaných standardních pravidel. Obrázek připojený níže ukazuje konverzační šachy, hru s přirozeným rušením postavenou pomocí rámce AutoGen, která umožňuje hráčům používat vtipy, hraní postav nebo dokonce odkazy na meme, aby kreativně vyjádřili své pohyby, díky čemuž je šachová hra zajímavější nejen pro hráče. , ale také pro diváky a pozorovatele. 

Proč investovat do čističky vzduchu?

V tomto článku jsme hovořili o AutoGen, open source frameworku, který využívá koncepty programování konverzace a konverzovatelných agentů, jehož cílem je zjednodušit orchestraci a optimalizaci pracovních postupů LLM zavedením automatizace do potrubí pracovních postupů. Rámec AutoGen nabízí konverzní a přizpůsobitelné agenty, kteří využívají výkon pokročilých LLM jako GPT-3 a GPT-4, a zároveň řeší jejich současná omezení integrací LLM s nástroji a lidskými vstupy pomocí automatizovaných chatů k zahájení konverzací. mezi více agenty. 

Přestože je framework AutoGen stále ve svých raných experimentálních fázích, připravuje cestu pro budoucí průzkumy a výzkumné příležitosti v této oblasti a AutoGen může být nástrojem, který pomůže zlepšit rychlost, funkčnost a snadnost vývoje aplikací využívajících schopnosti LLM. 

„Povoláním inženýr, srdcem spisovatel“. Kunal je technický spisovatel s hlubokou láskou a porozuměním AI a ML, který se věnuje zjednodušování složitých konceptů v těchto oblastech prostřednictvím své poutavé a informativní dokumentace.