ciot AutoGen: Powering Next Generation Model Large Language Applications - Unite.AI
Conectează-te cu noi

Inteligenta Artificiala

AutoGen: Powering Next Generation Applications Large Language Model

mm

Publicat

 on

Cadrul AutoGen

Modele de limbaj mari (LLM) sunt în prezent unul dintre cele mai discutate subiecte în IA mainstream. Dezvoltatorii din întreaga lume explorează potențialele aplicații ale LLM-urilor. Aceste modele sunt algoritmi AI care utilizează tehnici de învățare profundă și cantități mari de date de antrenament pentru a înțelege, rezuma, prezice și genera o gamă largă de conținut, inclusiv text, audio, imagini, videoclipuri și multe altele.

Modelele de limbaj mari sunt algoritmi AI complicati. Dezvoltarea unui astfel de model este o sarcină exhaustivă, iar construirea unei aplicații care valorifică capacitățile unui LLM este la fel de dificilă. Necesită expertiză, efort și resurse semnificative pentru a proiecta, implementa și, în cele din urmă, optimiza un flux de lucru capabil să exploateze întregul potențial al unui model lingvistic mare pentru a obține cele mai bune rezultate. Având în vedere timpul și resursele extinse necesare pentru a stabili fluxuri de lucru pentru aplicațiile care utilizează puterea LLM-urilor, automatizarea acestor procese are o valoare imensă. Acest lucru este valabil mai ales deoarece se anticipează că fluxurile de lucru vor deveni și mai complexe în viitorul apropiat, dezvoltatorii creând din ce în ce mai sofisticați. Aplicații bazate pe LLM. În plus, spațiul de proiectare necesar pentru aceste fluxuri de lucru este atât complex, cât și extins, ridicând și mai mult provocările creării unui flux de lucru optim, robust, care să îndeplinească așteptările de performanță.

AutoGen este un cadru dezvoltat de echipa Microsoft care își propune să simplifice orchestrarea și optimizarea fluxurilor de lucru LLM prin introducerea automatizării în fluxul de lucru. Cadrul AutoGen oferă agenți conversabili și personalizabili care valorifică puterea LLM-urilor avansate precum GPT-3 și GPT-4 și, în același timp, abordează limitările lor actuale prin integrarea LLM-urilor cu instrumente și intrări umane prin utilizarea chat-urilor automate pentru a iniția conversații între mai mulți agenți. 

Când utilizați cadrul AutoGen, este nevoie doar de doi pași atunci când dezvoltați un sistem complex de conversații multi-agent. 

Pasul 1: Definiți un set de agenți, fiecare cu rolurile și capacitățile sale. 

Pasul 2: Definiți comportamentul de interacțiune între agenți, adică un agent ar trebui să știe ce să răspundă atunci când primește un mesaj de la alt agent. 

Ambii pași de mai sus sunt modulari și intuitivi, ceea ce face ca acești agenți să fie compuși și reutilizabili. Figura de mai jos demonstrează un exemplu de flux de lucru care abordează răspunsurile la întrebări bazate pe cod în optimizarea lanțului de aprovizionare. După cum se poate vedea, scriitorul scrie mai întâi codul și interpretarea, Safeguard asigură confidențialitatea și siguranța codului, iar codul este apoi executat de către Comandant după ce a primit autorizația necesară. Dacă sistemul întâmpină vreo problemă în timpul rulării, procesul se repetă până când este rezolvat complet. Implementarea cadrului de mai jos are ca rezultat reducerea cantității de interacțiune manuală de la 3x la 10x atunci când este implementată în aplicații precum optimizarea lanțului de aprovizionare. În plus, utilizarea AutoGen reduce, de asemenea, efortul de codare de până la patru ori. 

AutoGen ar putea schimba jocul, deoarece își propune să transforme procesul de dezvoltare a aplicațiilor complexe, valorificând puterea LLM-urilor. Utilizarea AutoGen nu numai că poate reduce cantitatea de interacțiuni manuale necesare pentru a obține rezultatele dorite, dar poate reduce și cantitatea de eforturi de codare necesare pentru a crea astfel de aplicații complexe. Utilizarea AutoGen pentru creare Aplicații bazate pe LLM nu numai că poate accelera în mod semnificativ procesul, dar va ajuta și la reducerea timpului, efortului și resurselor necesare pentru dezvoltarea acestor aplicații complexe. 

În acest articol, vom face o scufundare mai profundă în cadrul AutoGen și vom explora componentele și arhitectura esențiale ale cadrului AutoGen, împreună cu aplicațiile sale potențiale. Deci să începem. 

O introducere în AutoGen: Alimentarea aplicațiilor cu modele mari de limbă de generație următoare

AutoGen este un cadru open-source dezvoltat de echipa de la Microsoft, care oferă dezvoltatorilor puterea de a crea aplicații care valorifică puterea LLM-urilor folosind mai mulți agenți care pot avea conversații între ei pentru a executa cu succes sarcinile dorite. Agenții din AutoGen sunt conversabili, personalizabili și pot funcționa în diferite moduri care folosesc combinația de instrumente, input uman și LLM-uri. Dezvoltatorii pot folosi, de asemenea, cadrul AutoGen pentru a defini comportamentul de interacțiune al agenților, iar dezvoltatorii pot folosi atât codul computerului, cât și limbajul natural pentru a programa modele flexibile de conversație implementate în diferite aplicații. Fiind un cadru open source, AutoGen poate fi considerat a fi un cadru generic pe care dezvoltatorii îl pot folosi pentru a construi aplicații și cadre de diferite complexități care valorifică puterea LLM-urilor. 

Modelele de limbaj mari joacă un rol crucial în dezvoltarea agenților care folosesc cadrele LLM pentru adaptarea la noile observații, utilizarea instrumentelor și raționamentul în numeroase aplicații din lumea reală. Dar dezvoltarea acestor aplicații care pot valorifica întregul potențial al LLM este o chestiune complexă și, având în vedere cererea și aplicațiile în continuă creștere ale LLM-urilor, împreună cu creșterea complexității sarcinilor, este vital să se extindă puterea acestor agenți prin utilizarea mai multor agenți. care funcționează sincronizat unul cu celălalt. Dar cum poate fi folosită o abordare multi-agenți pentru a dezvolta aplicații bazate pe LLM care pot fi apoi aplicate la o gamă largă de domenii cu complexități diferite? Cadrul AutoGen încearcă să răspundă la întrebarea de mai sus prin utilizarea conversațiilor cu mai mulți agenți. 

AutoGen: Componente și cadru

În încercarea de a reduce cantitatea de efort pe care dezvoltatorii trebuie să-l depună pentru a crea aplicații complexe utilizând capabilitățile LLM într-o gamă largă de domenii, principiul fundamental al AutoGen este de a consolida și eficientiza fluxurile de lucru cu mai mulți agenți utilizând conversațiile cu mai mulți agenți. , maximizând astfel și reutilizabilitatea acestor agenți implementați. AutoGen folosește mai mulți agenți care pot avea conversații între ei pentru a executa cu succes sarcinile dorite, iar cadrul este construit pe două concepte fundamentale: Agenți conversabili și Programare conversabilă. 

Agenți conversabili

Un agent conversabil în AutoGen este o entitate cu un rol predefinit care poate transmite mesaje pentru a trimite și primi informații către și de la alți agenți conversabili. Un agent conversabil își menține contextul intern pe baza mesajelor primite sau trimise, iar dezvoltatorii pot configura acești agenți să aibă un set unic de capabilități, cum ar fi activarea de instrumente LLM sau preluarea intrărilor umane. 

Capabilități de agent oferite de oameni, instrumente și LLM 

Capacitățile unui agent se referă direct la modul în care procesează și răspunde la mesaje, ceea ce este motivul principal pentru care agenții din cadrul AutoGen le oferă dezvoltatorilor flexibilitatea de a oferi diverse capabilități agenților lor. AutoGen acceptă numeroase capabilități componabile comune pentru agenți care includ

  1. LLM-uri: Agenții susținuți de LLM exploatează capacitățile cadrelor LLM avansate, cum ar fi interferența implicită a stării, jocul de rol, furnizarea de feedback și chiar codificare. Dezvoltatorii pot folosi tehnici noi de incitare pentru a combina aceste capabilități în încercarea de a crește autonomia sau abilitățile unui agent. 
  2. Oameni: Mai multe aplicații doresc sau necesită un anumit grad de implicare umană, iar cadrul AutoGen permite aplicațiilor bazate pe LLM să faciliteze participarea umană la conversația cu agentul prin utilizarea agenților susținuți de oameni care ar putea solicita contribuții umane în timpul anumitor runde de conversație pe baza configurația agentului. 
  3. Unelte: Agenții susținuți de instrumente au de obicei capabilitățile de a utiliza execuția de cod sau execuția de funcții pentru a executa instrumente.

Cooperarea și personalizarea agenților

Pe baza nevoilor și cerințelor specifice ale unei aplicații, dezvoltatorii pot configura agenți individuali pentru a avea o combinație de tipuri esențiale de back-end pentru a afișa comportamentul complex implicat în conversațiile cu mai mulți agenți. Cadrul AutoGen permite dezvoltatorilor să creeze cu ușurință agenți cu roluri și capabilități specializate prin extinderea sau reutilizarea agenților încorporați. Figura atașată mai jos demonstrează structura de bază a agenților încorporați în cadrul AutoGen. Clasa ConversableAgent poate folosi oameni, instrumente și LLM-uri în mod implicit, deoarece este abstractizarea agentului de cel mai înalt nivel. UserProxyAgent și AssistantAgent sunt clase preconfigurate de ConversableAgent și fiecare dintre ele reprezintă un mod de utilizare comun, adică fiecare dintre acești doi agenți acționează ca un asistent AI (atunci când este susținut de LLM) și solicită input uman sau execută apeluri de funcție. sau coduri (când sunt susținute de instrumente și/sau oameni) acționând ca un proxy uman. 

Figura de mai jos demonstrează modul în care dezvoltatorii pot folosi cadrul AutoGen pentru a dezvolta un sistem cu doi agenți care are o funcție de răspuns personalizată, împreună cu o ilustrare a chat-ului de agent automat rezultat care utilizează sistemul cu doi agenți în timpul execuției programului. 

Permițând utilizarea agenților personalizați care pot conversa între ei, acești agenți conversabili servesc ca element fundamental în cadrul AutoGen. Cu toate acestea, dezvoltatorii trebuie să specifice și să modeleze aceste conversații cu mai mulți agenți pentru a dezvolta aplicații în care acești agenți sunt capabili să facă progrese substanțiale în sarcinile specificate. 

Programarea conversației

Pentru a rezolva problema menționată mai sus, cadrul AutoGen utilizează programarea conversației, o paradigmă de calcul construită pe două concepte esențiale: calcul, acțiunile întreprinse de agenți într-o conversație cu mai mulți agenți pentru a calcula răspunsul lor și controlul fluxului, condițiile sau secvența în care au loc aceste calcule. Capacitatea de a programa acestea permite dezvoltatorilor să implementeze numeroase modele flexibile de conversații multi-agent. În plus, în cadrul AutoGen, calculele sunt centrate pe conversație. Acțiunile întreprinse de un agent sunt relevante pentru conversațiile în care este implicat agentul, iar acțiunile întreprinse de agenți au ca rezultat transmiterea de mesaje pentru conversații ulterioare până în momentul în care o condiție de terminare este îndeplinită. În plus, fluxul de control în cadrul AutoGen este condus de conversații, deoarece este decizia agenților participanți cu privire la care agenții vor trimite mesaje către și de la procedura de calcul. 

Figura de mai sus demonstrează o ilustrare simplă a modului în care agenții individuali își realizează operațiunile specifice rolului și calculele centrate pe conversație pentru a genera răspunsurile dorite, cum ar fi execuția de cod și apelurile de interferență LLM. Sarcina progresează cu ajutorul conversațiilor care sunt afișate în caseta de dialog. 

Pentru a facilita programarea conversațiilor, cadrul AutoGen prezintă următoarele modele de design. 

  • Mecanisme de răspuns automat și interfață unificată pentru chaturile automate ale agenților

Cadrul AutoGen are o interfață unificată pentru efectuarea calculelor corespunzătoare, care sunt de natură centrată pe conversație, inclusiv un „funcția de primire sau trimitere” fie pentru a primi sau a trimite mesaje împreună cu un „generate_reply” funcție care generează un răspuns pe baza mesajului primit și ia acțiunea necesară. Cadrul AutoGen introduce și implementează, de asemenea agent-răspuns automat mecanism implicit pentru a realiza controlul bazat pe conversație. 

  • Control prin amalgamarea limbajului natural și programare

Cadrul AutoGen facilitează utilizarea limbajului natural și a programării în diferite modele de gestionare a fluxului de control, care includ: Controlul limbajului natural folosind LLM-uriControlul limbajului de programare, și Controlați tranziția între programare și limbajul natural

Continuând, pe lângă conversațiile statice care sunt de obicei însoțite de un flux predefinit, cadrul AutoGen acceptă și fluxuri dinamice de conversație folosind mai mulți agenți, iar cadrul oferă dezvoltatorilor două opțiuni pentru a realiza acest lucru.

  1. Prin utilizarea apelurilor de funcții. 
  2. Prin utilizarea unei funcții personalizate de generare-răspuns. 

Aplicații ale AutoGen

Pentru a ilustra potențialul cadrului AutoGen în dezvoltarea de aplicații complexe multi-agent, iată șase aplicații potențiale ale AutoGen care sunt selectate pe baza relevanței lor în lumea reală, capabilități de rezolvare a problemelor îmbunătățite de cadrul AutoGen, și potențialul lor inovator. 

Aceste șase aplicații ale cadrului AutoGen sunt

  1. Rezolvarea problemelor de matematică. 
  2. Recuperare chat-uri augmentate. 
  3. Chat-uri ALF. 
  4. Codare multi-agenți. 
  5. Chat de grup dinamic. 
  6. Șah conversațional. 

Aplicații ale AutoGen Framework

Aplicația 1: Rezolvarea problemelor matematice

Matematica este una dintre disciplinele de bază ale valorificării modelelor LLM pentru a ajuta la rezolvarea problemelor matematice complexe, care deschide o lume cu totul nouă de aplicații potențiale, inclusiv asistență pentru cercetare AI și îndrumare personalizată AI. 

Figura atașată mai sus demonstrează aplicarea cadrului AutoGen pentru a obține performanțe competitive în rezolvarea problemelor matematice. 

Aplicația 2: Răspunsuri la întrebări și generare de coduri optimizate pentru recuperare

În ultimele câteva luni, Retrieval Augmented Code Generation a apărut ca o abordare eficientă și practică pentru depășirea limitărilor LLM-urilor în încorporarea documentelor externe. Figura de mai jos demonstrează aplicarea cadrului AutoGen pentru creșterea eficientă a recuperării și creșterea performanței la sarcinile de întrebări și răspunsuri. 

Aplicația 3: Luarea deciziilor în mediile lumii text

Cadrul AutoGen poate fi folosit pentru a crea aplicații care funcționează cu luarea deciziilor online sau interactive. Figura de mai jos demonstrează modul în care dezvoltatorii pot folosi cadrul AutoGen pentru a proiecta un sistem conversațional cu trei agenți cu un agent de împământare pentru a crește semnificativ performanța. 

Aplicația 4: Codare cu mai mulți agenți

Dezvoltatorii care lucrează la cadrul AutoGen pot folosi cadrul OptiGuide pentru a construi un sistem de codare multi-agent care este capabil să scrie cod pentru a implementa soluții optimizate și să răspundă la întrebările utilizatorilor. Figura de mai jos demonstrează că utilizarea cadrului AutoGen pentru a crea un design multi-agent ajută la creșterea semnificativă a performanței generale, mai ales în îndeplinirea sarcinilor de codare care necesită o protecție. 

Aplicația 5: Chat dinamic de grup

Cadrul AutoGen oferă suport pentru un model de comunicare care se învârte în jurul chaturilor de grup dinamice, în care agenții multipli participanți împărtășesc contextul și, în loc să urmeze un set de ordine predefinite, conversează între ei într-o manieră dinamică. Aceste conversații de grup dinamice se bazează pe conversații în curs pentru a ghida fluxul de interacțiune în cadrul agenților. 

Figura de mai sus ilustrează modul în care cadrul AutoGen acceptă conversațiile de grup dinamice între agenți, utilizând „GroupChatManager” , un agent special. 

Aplicația 6: Șah conversațional

Dezvoltatorii cadrului AutoGen l-au folosit pentru a dezvolta o aplicație de șah conversațional, care este un joc de interferență naturală, care include agenți încorporați pentru jucători care pot fi fie LLM, fie oameni, și există, de asemenea, un agent terță parte care oferă informații relevante. informații și validează mișcările de pe tablă pe baza unui set de reguli standard predefinite. Figura atașată mai jos demonstrează Conversational Chess, un joc de interferență naturală construit folosind cadrul AutoGen care le permite jucătorilor să folosească glume, joc de personaje sau chiar referințe meme pentru a-și exprima mișcările în mod creativ, ceea ce face jocul de șah mai interesant nu numai pentru jucători. , dar și pentru public și observatori. 

Concluzie

În acest articol am vorbit despre AutoGen, un cadru open source care utilizează conceptele de programare a conversațiilor și agenți conversabili care își propune să simplifice orchestrarea și optimizarea fluxurilor de lucru LLM prin introducerea automatizării în conducta fluxului de lucru. Cadrul AutoGen oferă agenți conversabili și personalizabili care valorifică puterea LLM-urilor avansate precum GPT-3 și GPT-4 și, în același timp, abordează limitările lor actuale prin integrarea LLM-urilor cu instrumente și intrări umane prin utilizarea chat-urilor automate pentru a iniția conversații între mai mulți agenți. 

Deși cadrul AutoGen este încă în fazele sale experimentale incipiente, el deschide calea pentru viitoare explorări și oportunități de cercetare în domeniu, iar AutoGen ar putea fi instrumentul care ajută la îmbunătățirea vitezei, funcționalităților și ușurinței dezvoltării aplicațiilor care folosesc capacitățile LLM-urilor. 

„Un inginer de profesie, un scriitor pe de rost”. Kunal este un scriitor tehnic cu o dragoste și o înțelegere profundă a AI și ML, dedicat simplificării conceptelor complexe din aceste domenii prin documentația sa captivantă și informativă.