stub AutoGen: naujos kartos didelių kalbų modelių taikomųjų programų maitinimas – Unite.AI
Susisiekti su mumis

Dirbtinis intelektas

„AutoGen“: naujos kartos didelių kalbų modelių taikomųjų programų maitinimas

mm

paskelbta

 on

„AutoGen Framework“.

Dideli kalbų modeliai (LLM) šiuo metu yra viena iš labiausiai aptarinėjamų pagrindinių dirbtinio intelekto temų. Kūrėjai visame pasaulyje tiria galimas LLM pritaikymo galimybes. Šie modeliai yra AI algoritmai, kuriuose naudojami gilaus mokymosi metodai ir didžiulis mokymo duomenų kiekis, siekiant suprasti, apibendrinti, numatyti ir generuoti platų turinį, įskaitant tekstą, garsą, vaizdus, ​​vaizdo įrašus ir kt.

Dideli kalbų modeliai yra sudėtingi AI algoritmai. Sukurti tokį modelį yra sudėtinga užduotis, o sukurti programą, kuri išnaudotų LLM galimybes, yra ne mažiau sudėtinga. Norint sukurti, įgyvendinti ir galiausiai optimizuoti darbo eigą, galinčią išnaudoti visas didelio kalbos modelio galimybes, norint pasiekti geriausių rezultatų, reikia didelių žinių, pastangų ir išteklių. Atsižvelgiant į tai, kad reikia daug laiko ir išteklių, kad sukurtų programų, naudojančių LLM galią, darbo eigą, šių procesų automatizavimas turi didžiulę vertę. Tai ypač aktualu, nes manoma, kad artimiausiu metu darbo eigos taps dar sudėtingesnės, o kūrėjai kurs vis sudėtingesnius LLM pagrįstos programos. Be to, projektavimo erdvė, reikalinga šioms darbo eigoms, yra sudėtinga ir plati, o tai dar labiau padidina iššūkius kuriant optimalią, tvirtą darbo eigą, atitinkančią našumo lūkesčius.

AutoGen yra „Microsoft“ komandos sukurta sistema, kuria siekiama supaprastinti LLM darbo eigos organizavimą ir optimizavimą įdiegiant darbo eigos dujotiekio automatizavimą. „AutoGen“ sistema siūlo suderinamus ir tinkinamus agentus, kurie išnaudoja pažangių LLM, pvz., GPT-3 ir GPT-4, galią ir tuo pat metu pašalina dabartinius jų apribojimus integruodami LLM su įrankiais ir žmonių įvestimis, naudojant automatinius pokalbius pokalbiams inicijuoti. tarp kelių agentų. 

Naudojant „AutoGen“ sistemą, kuriant sudėtingą kelių agentų pokalbių sistemą, tereikia dviejų žingsnių. 

Žingsnis 1: Apibrėžkite agentų rinkinį, kurių kiekvienas turi savo vaidmenis ir galimybes. 

Žingsnis 2: Apibrėžkite agentų sąveiką, ty agentas turėtų žinoti, ką atsakyti, kai gauna pranešimą iš kito agento. 

Abu aukščiau pateikti veiksmai yra moduliniai ir intuityvūs, todėl šias priemones galima sudėti ir naudoti pakartotinai. Žemiau esančiame paveikslėlyje parodytas darbo eigos pavyzdys, kuriame atsakoma į kodą pagrįstus klausimus optimizuojant tiekimo grandinę. Kaip matyti, autorius pirmiausia parašo kodą ir interpretaciją, Safeguard užtikrina kodo privatumą ir saugumą, o kodą vykdo vadas, gavęs reikiamą leidimą. Jei vykdymo metu sistema susiduria su kokia nors problema, procesas kartojamas, kol ji bus visiškai išspręsta. Diegiant toliau pateiktą sistemą, rankinio sąveikos skaičius sumažėja nuo 3 iki 10 kartų, kai jis naudojamas tokiose programose kaip tiekimo grandinės optimizavimas. Be to, naudojant AutoGen, kodavimo pastangos sumažėja iki keturių kartų. 

„AutoGen“ gali būti žaidimų keitiklis, nes juo siekiama pakeisti sudėtingų programų kūrimo procesą, pasinaudojant LLM galia. „AutoGen“ naudojimas gali ne tik sumažinti rankinių sąveikų, reikalingų norimiems rezultatams pasiekti, skaičių, bet ir sumažinti kodavimo pastangų, reikalingų kuriant tokias sudėtingas programas, skaičių. „AutoGen“ naudojimas kuriant LLM pagrįstos programos gali ne tik žymiai pagreitinti procesą, bet ir padėti sumažinti laiko, pastangų ir išteklių, reikalingų šioms sudėtingoms programoms kurti. 

Šiame straipsnyje mes gilinsimės į „AutoGen“ sistemą ir išnagrinėsime pagrindinius „AutoGen“ sistemos komponentus ir architektūrą bei galimas jos programas. Taigi pradėkime. 

„AutoGen“ įvadas: naujos kartos didelių kalbų modelių taikomųjų programų maitinimas

„AutoGen“ yra atvirojo kodo sistema, kurią sukūrė „Microsoft“ komanda, kuri suteikia kūrėjams galią kurti programas, išnaudojančias LLM galią, naudojant kelis agentus, kurie gali bendrauti tarpusavyje, kad sėkmingai atliktų norimas užduotis. „AutoGen“ agentai yra suderinami, pritaikomi ir gali veikti skirtingais režimais, kuriuose naudojami įrankiai, žmogaus įvestis ir LLM. Kūrėjai taip pat gali naudoti „AutoGen“ sistemą agentų sąveikai apibrėžti, o kūrėjai gali naudoti tiek kompiuterio kodą, tiek natūralią kalbą, kad programuotų lanksčius pokalbių modelius, naudojamus įvairiose programose. Kadangi AutoGen yra atvirojo kodo sistema, ji gali būti laikoma bendra sistema, kurią kūrėjai gali naudoti kurdami įvairaus sudėtingumo programas ir sistemas, kurios išnaudoja LLM galią. 

Dideli kalbos modeliai vaidina lemiamą vaidmenį kuriant agentus, kurie naudoja LLM sistemas prisitaikydami prie naujų stebėjimų, įrankių naudojimo ir samprotavimo daugelyje realaus pasaulio programų. Tačiau šių programų, kurios gali išnaudoti visą LLM potencialą, kūrimas yra sudėtingas reikalas, o atsižvelgiant į nuolat didėjančią LLM paklausą ir pritaikymą bei didėjantį užduočių sudėtingumą, labai svarbu padidinti šių agentų galią naudojant kelis agentus. kurie veikia sinchroniškai vienas su kitu. Tačiau kaip galima naudoti kelių agentų metodą kuriant LLM pagrįstas programas, kurias vėliau galima pritaikyti įvairiems įvairaus sudėtingumo domenams? „AutoGen“ sistema bando atsakyti į aukščiau pateiktą klausimą naudodama kelių agentų pokalbius. 

AutoGen: komponentai ir sistema

Siekiant sumažinti pastangų, kurias kūrėjai turi įdėti kurdami sudėtingas programas naudojant LLM galimybes įvairiose srityse, pagrindinis AutoGen principas yra konsoliduoti ir supaprastinti kelių agentų darbo eigą, naudojant kelių agentų pokalbius. , taip padidinant šių įdiegtų agentų pakartotinį naudojimą. „AutoGen“ naudoja kelis agentus, kurie gali bendrauti tarpusavyje, kad sėkmingai atliktų norimas užduotis, o sistema sukurta remiantis dviem pagrindinėmis sąvokomis: Susikalbamieji agentai ir Pokalbių programavimas. 

Susikalbamieji agentai

„AutoGen“ pokalbio agentas yra subjektas, turintis iš anksto nustatytą vaidmenį, galintis perduoti pranešimus, kad siųstų ir gautų informaciją kitiems pokalbio agentams ir iš jų. Pokalbio agentas palaiko savo vidinį kontekstą pagal gautus arba išsiųstus pranešimus, o kūrėjai gali sukonfigūruoti šiuos agentus taip, kad jie turėtų unikalių funkcijų rinkinį, pvz., įgalinti LLM įrankiai arba priimti žmogaus įvestį. 

Agento galimybės, kurias teikia žmonės, įrankiai ir LLM 

Agento galimybės tiesiogiai susijusios su tuo, kaip jis apdoroja pranešimus ir į juos reaguoja, o tai yra pagrindinė priežastis, kodėl agentai „AutoGen“ sistemoje leidžia kūrėjams lanksčiai suteikti savo agentams įvairias galimybes. „AutoGen“ palaiko daugybę įprastų agentų, kurie apima, komponuojamų galimybių

  1. LLM: LLM palaikomi agentai išnaudoja pažangių LLM sistemų galimybes, pvz., numanomus būsenos trukdžius, vaidmenų žaidimą, grįžtamojo ryšio teikimą ir net kodavimą. Kūrėjai gali naudoti naujus raginimo būdus, kad sujungtų šias galimybes, siekdami padidinti agento savarankiškumą ar įgūdžius. 
  2. Žmonės: Kai kurios programos nori arba reikalauja tam tikro žmogaus dalyvavimo, o „AutoGen“ sistema leidžia LLM pagrįstoms programoms palengvinti žmonių dalyvavimą agento pokalbyje, naudojant žmonių remiamus agentus, kurie galėtų prašyti žmonių įvesties tam tikrų pokalbių etapų metu. agento konfigūracija. 
  3. Įrankiai: Įrankiais pagrįsti agentai paprastai turi galimybę naudoti kodo vykdymą arba funkcijų vykdymą įrankiams vykdyti.

Agentų bendradarbiavimas ir pritaikymas

Atsižvelgdami į konkrečius programos poreikius ir reikalavimus, kūrėjai gali sukonfigūruoti atskirus agentus, kad jie turėtų esminių galinių tipų derinį, kad būtų rodomas sudėtingas elgesys, susijęs su kelių agentų pokalbiais. „AutoGen“ sistema leidžia kūrėjams lengvai sukurti agentus, turinčius specializuotus vaidmenis ir galimybes, išplečiant arba pakartotinai naudojant įtaisytuosius agentus. Žemiau pateiktame paveikslėlyje parodyta pagrindinė integruotų agentų struktūra AutoGen sistemoje. „ConversableAgent“ klasė pagal numatytuosius nustatymus gali naudoti žmones, įrankius ir LLM, nes tai yra aukščiausio lygio agento abstrakcija. „UserProxyAgent“ ir „AssistantAgent“ yra iš anksto sukonfigūruotos „ConversableAgent“ klasės, ir kiekviena iš jų atitinka bendrą naudojimo režimą, ty kiekvienas iš šių dviejų agentų veikia kaip AI asistentas (kai palaikomas LLM) ir prašo žmogaus įvesties arba vykdo funkcijų iškvietimus. arba kodai (kai palaikomi įrankiais ir (arba) žmonėmis), veikdami kaip žmogaus įgaliotasis serveris. 

Toliau pateiktame paveikslėlyje parodyta, kaip kūrėjai gali naudoti „AutoGen“ sistemą kurdami dviejų agentų sistemą, turinčią pasirinktinę atsakymo funkciją, kartu su gauto automatinio agento pokalbio, kuris vykdant programą naudoja dviejų agentų sistemą, iliustracija. 

Leisdami naudoti pasirinktinius agentus, kurie gali kalbėtis tarpusavyje, šie pokalbio agentai yra pagrindinis „AutoGen“ sistemos elementas. Tačiau kūrėjai turi nurodyti ir suformuoti šiuos kelių agentų pokalbius, kad galėtų kurti programas, kuriose šie agentai galėtų padaryti didelę pažangą vykdydami nurodytas užduotis. 

Pokalbių programavimas

Kad išspręstų aukščiau paminėtą problemą, AutoGen sistema naudoja pokalbių programavimą, skaičiavimo paradigmą, paremtą dviem esminėmis sąvokomis: skaičiavimas, veiksmai, kurių agentai imasi kelių agentų pokalbio metu, kad apskaičiuotų jų atsakymą ir kontroliuoti srautą, sąlygos arba seka, kurioms esant šie skaičiavimai atliekami. Galimybė juos programuoti leidžia kūrėjams įgyvendinti daugybę lanksčių kelių agentų pokalbių modelių. Be to, „AutoGen“ sistemoje skaičiavimai yra orientuoti į pokalbį. Agento atliekami veiksmai yra svarbūs pokalbiams, kuriuose agentas dalyvauja, o agentų atliekami veiksmai lemia tolesnių pokalbių pranešimus, kol bus įvykdyta nutraukimo sąlyga. Be to, valdymo srautą AutoGen sistemoje lemia pokalbiai, nes dalyvaujantys agentai nusprendžia, kurie agentai siųs pranešimus į ir iš skaičiavimo procedūros. 

Aukščiau pateiktame paveikslėlyje parodyta paprasta iliustracija, kaip atskiri agentai atlieka savo vaidmeniui būdingas operacijas, ir į pokalbį orientuotus skaičiavimus, kad sugeneruotų norimus atsakymus, pvz., kodo vykdymą ir LLM trukdžių iškvietimus. Užduotis vyksta į priekį pokalbių, rodomų dialogo lange, pagalba. 

Siekiant palengvinti pokalbių programavimą, „AutoGen“ sistemoje yra šie dizaino modeliai. 

  • Automatinio atsakymo mechanizmai ir vieninga sąsaja automatiniams agento pokalbiams

„AutoGen“ sistema turi vieningą sąsają, skirtą atlikti atitinkamą skaičiavimą, kuris yra orientuotas į pokalbį, įskaitant „Gavimo arba siuntimo funkcija“ gauti arba siųsti pranešimus kartu su „generuoti_atsakyti“ funkcija, kuri generuoja atsakymą pagal gautą pranešimą ir atlieka reikiamus veiksmus. „AutoGen“ sistema taip pat pristato ir diegia agentas-automatinis atsakymas mechanizmas pagal numatytuosius nustatymus, kad būtų įgyvendintas pokalbio valdymas. 

  • Valdymas natūralios kalbos ir programavimo sujungimu

„AutoGen“ sistema palengvina natūralios kalbos ir programavimo naudojimą įvairiuose valdymo srautų valdymo modeliuose, įskaitant: Natūralios kalbos valdymas naudojant LLMProgramavimo kalbos valdymasir Valdykite perėjimą tarp programavimo ir natūralios kalbos

Be statinių pokalbių, kuriuos paprastai lydi iš anksto nustatytas srautas, „AutoGen“ sistema taip pat palaiko dinaminius pokalbių srautus naudojant kelis agentus, o sistema suteikia kūrėjams dvi galimybes tai pasiekti.

  1. Naudojant funkcijų skambučius. 
  2. Naudojant tinkintą generavimo ir atsakymo funkciją. 

„AutoGen“ programos

Siekdami parodyti AutoGen sistemos potencialą kuriant sudėtingas kelių agentų programas, pateikiame šešias galimas AutoGen programas, kurios atrenkamos atsižvelgiant į jų aktualumą realiame pasaulyje, problemų sprendimo galimybes, patobulintas AutoGen sistemos, ir jų novatoriškas potencialas. 

Šios šešios „AutoGen“ sistemos programos yra

  1. Matematikos uždavinių sprendimas. 
  2. Papildytų pokalbių gavimas. 
  3. ALF pokalbiai. 
  4. Kelių agentų kodavimas. 
  5. Dinaminis grupės pokalbis. 
  6. Pokalbių šachmatai. 

„AutoGen Framework“ programos

1 programa: matematikos problemų sprendimas

Matematika yra viena iš pagrindinių LLM modelių panaudojimo disciplinų, padedančių išspręsti sudėtingas matematines problemas, atveriančias visiškai naują galimų programų pasaulį, įskaitant AI tyrimų pagalbą ir personalizuotą AI mokymą. 

Aukščiau pateiktame paveikslėlyje parodytas „AutoGen“ sistemos taikymas siekiant konkurencingų rezultatų sprendžiant matematines problemas. 

2 programa: atsakymai į klausimus ir papildyto kodo generavimas

Per pastaruosius kelis mėnesius „Retrieval Upmented Code Generation“ tapo efektyviu ir praktiniu metodu, leidžiančiu įveikti LLM apribojimus įtraukiant išorinius dokumentus. Toliau pateiktame paveikslėlyje parodytas „AutoGen“ sistemos taikymas efektyviam paieškos papildymui ir klausimų ir atsakymų užduočių našumui gerinti. 

3 taikymas: sprendimų priėmimas teksto pasaulio aplinkoje

„AutoGen“ sistema gali būti naudojama kuriant programas, kurios veikia prisijungus arba interaktyviai priimant sprendimus. Toliau pateiktame paveikslėlyje parodyta, kaip kūrėjai gali naudoti AutoGen sistemą kurdami trijų agentų pokalbio sistemą su įžeminimo agentu, kad žymiai padidintų našumą. 

4 taikymas: kelių agentų kodavimas

Kūrėjai, dirbantys su „AutoGen“ sistema, gali naudoti „OptiGuide“ sistemą, kad sukurtų kelių agentų kodavimo sistemą, galinčią rašyti kodą optimizuotiems sprendimams įgyvendinti ir atsakyti į vartotojų klausimus. Toliau pateiktame paveikslėlyje parodyta, kad AutoGen sistemos naudojimas kuriant kelių agentų dizainą padeda žymiai padidinti bendrą našumą, ypač atliekant kodavimo užduotis, kurioms reikalinga apsauga. 

5 programa: dinaminis grupės pokalbis

„AutoGen“ sistema palaiko komunikacijos modelį, besisukantį aplink dinaminius grupės pokalbius, kuriuose dalyvaujantys keli agentai dalijasi kontekstu ir, užuot sekę iš anksto nustatytų užsakymų rinkinį, dinamiškai bendrauja tarpusavyje. Šie dinamiški grupiniai pokalbiai remiasi vykstančiais pokalbiais, kad būtų nukreiptas sąveikos srautas tarp agentų. 

Aukščiau pateiktame paveikslėlyje parodyta, kaip „AutoGen“ sistema palaiko dinaminius grupinius pokalbius tarp agentų, naudodama „GroupChatManager“, specialusis agentas. 

6 programa: pokalbio šachmatai

„AutoGen“ sistemos kūrėjai naudojo ją kurdami „Conversational Chess“ programą, kuri yra natūralus trikdžių žaidimas, kuriame yra įmontuotų agentų žaidėjams, kurie gali būti LLM arba žmonės, taip pat yra trečiosios šalies agentas, teikiantis atitinkamą informaciją ir patvirtina ėjimus lentoje pagal iš anksto nustatytų standartinių taisyklių rinkinį. Žemiau pateiktame paveikslėlyje pavaizduotas „Conversational Chess“ – natūralus trikdžių žaidimas, sukurtas naudojant „AutoGen“ sistemą, leidžiantis žaidėjams naudoti pokštus, žaisti personažus ar net memų nuorodas, kad kūrybiškai išreikštų savo judesius, todėl šachmatų žaidimas tampa įdomesnis ne tik žaidėjams. , bet ir žiūrovams bei stebėtojams. 

Išvada

Šiame straipsnyje kalbėjome apie „AutoGen“ – atvirojo kodo sistemą, kuri naudoja pokalbių programavimo ir pokalbių agentų sąvokas, kurios tikslas – supaprastinti LLM darbo eigos koordinavimą ir optimizavimą įdiegiant darbo eigos konvejerį. „AutoGen“ sistema siūlo suderinamus ir tinkinamus agentus, kurie išnaudoja pažangių LLM, pvz., GPT-3 ir GPT-4, galią ir tuo pat metu pašalina dabartinius jų apribojimus integruodami LLM su įrankiais ir žmonių įvestimis, naudojant automatinius pokalbius pokalbiams inicijuoti. tarp kelių agentų. 

Nors „AutoGen“ sistema vis dar yra ankstyvoje eksperimentavimo stadijoje, ji atveria kelią būsimiems šios srities tyrinėjimams ir tyrimų galimybėms, o „AutoGen“ gali būti įrankis, padedantis pagerinti greitį, funkcijas ir palengvinti programų kūrimą. LLM galimybes. 

„Iš profesijos inžinierius, iš širdies – rašytojas“. Kunal yra techninis rašytojas, giliai mylintis ir suprantantis dirbtinį intelektą ir ML, siekiantis supaprastinti sudėtingas sąvokas šiose srityse, pasitelkdamas patrauklią ir informatyvią dokumentaciją.