AI-modeller og platforme

AutoGen: Drevende næste generations store sprogmodelleringsansøgninger

mm
Føj Unite.AI til dine foretrukne kilder på Google
The AutoGen Framework

Store sprogmodeller (LLM’er) er i øjeblikket et af de mest diskuterede emner i mainstream AI. Udviklere verden over udforsker potentialet for LLM’er. Disse modeller er AI-algoritmer, der udnytter dyb læringsteknikker og store mængder træningsdata til at forstå, sammenfatte, forudsige og generere en bred vifte af indhold, herunder tekst, lyd, billeder, videoer og mere.

Store sprogmodeller er komplekse AI-algoritmer. At udvikle en sådan model er en udfordrende opgave, og at konstruere en ansøgning, der udnytter kapaciteterne i en LLM, er lige så udfordrende. Det kræver betydelig ekspertise, indsats og ressourcer at designe, implementere og til sidst optimere en arbejdsgang, der kan udnytte fuldt potentialet i en stor sprogmodel til at give de bedste resultater. Givet den omfattende tid og ressourcer, der kræves for at etablere arbejdsprocesser for ansøgninger, der udnytter kraften i LLM’er, har automatisering af disse processer en enorm værdi. Dette er særligt sandt, da arbejdsprocesser forventes at blive endnu mere komplekse i den nærmeste fremtid, hvor udviklere skaber stadig mere avancerede LLM-baserede ansøgninger. Derudover er designrummet nødvendigt for disse arbejdsprocesser både komplekst og omfattende, hvilket yderligere forhøjer udfordringen ved at skabe en optimal, robust arbejdsgang, der opfylder performance-forventninger.

AutoGen er et framework udviklet af teamet hos Microsoft (MSFT ), der har til formål at simplificere orkestreringen og optimeringen af LLM-arbejdsprocesser ved at introducere automatisering i arbejdsgangspipelines. AutoGen-frameworket tilbyder konverserende og tilpasselige agenter, der udnytter kraften i avancerede LLM’er som GPT-3 og GPT-4, og på samme tid adresserer deres nuværende begrænsninger ved at integrere LLM’er med værktøjer og menneskelige indtastninger ved at bruge automatiserede chats til at initiere konversationer mellem multiple agenter.

Når man bruger AutoGen-frameworket, kræver det kun to trin at udvikle et komplekst multi-agent konversationsystem.

Trin 1: Definer en samling af agenter, hver med deres roller og kapaciteter.

Trin 2: Definer interaktionsadfærden mellem agenter, dvs. en agent skal vide, hvad den skal svare, når den modtager en besked fra en anden agent.

Begge ovennævnte trin er modulære og intuitive, hvilket gør disse agenter sammensætlige og genbrugelige. Figuren nedenfor demonstrerer en prøvearbejdsgang, der adresserer kodebaseret spørgsmålssvar i optimeringen af forsyningskæden. Som det kan ses, skriver forfatteren først koden og fortolkningen, Safeguard sikrer privatlivets og sikkerhedens kode, og koden køres derefter af Commander, efter at den har modtaget den nødvendige godkendelse. Hvis systemet møder problemer under kørslen, gentages processen, indtil det er fuldstændigt løst. At implementere ovennævnte framework resulterer i en reduktion af mængden af manuel interaktion fra 3x til 10x, når det implementeres i ansøgninger som optimering af forsyningskæden. Derudover reducerer brugen af AutoGen også mængden af kodningsindsats med op til fire gange.

AutoGen kan være en game-changer, da det har til formål at transformere udviklingsprocessen for komplekse ansøgninger, der udnytter kraften i LLM’er. Brugen af AutoGen kan ikke kun reducere mængden af manuel interaktion, der kræves for at opnå de ønskede resultater, men det kan også reducere mængden af kodningsindsats, der kræves for at skabe sådanne komplekse ansøgninger. Brugen af AutoGen til at skabe LLM-baserede ansøgninger kan ikke kun accelerere processen betydeligt, men det vil også hjælpe med at reducere mængden af tid, indsats og ressourcer, der kræves for at udvikle disse komplekse ansøgninger.

I denne artikel vil vi dykke dybere ind i AutoGen-frameworket og udforske de væsentlige komponenter og arkitekturen i AutoGen-frameworket samt dets potentielle ansøgninger. Så lad os begynde.

En introduktion til AutoGen: Drevende næste generations store sprogmodelleringsansøgninger

AutoGen er et open-source framework udviklet af teamet hos Microsoft, der giver udviklere mulighed for at skabe ansøgninger, der udnytter kraften i LLM’er ved at bruge multiple agenter, der kan have konversationer med hinanden for at udføre de ønskede opgaver. Agenter i AutoGen er konverserende, tilpasselige og kan operere i forskellige tilstande, der udnytter kombinationen af værktøjer, menneskelige indtastninger og LLM’er. Udviklere kan også bruge AutoGen-frameworket til at definere interaktionsadfærden for agenter, og udviklere kan bruge både computerkode og naturligt sprog til at programmere fleksible konversationsmønstre, der kan anvendes i forskellige ansøgninger. Da AutoGen er et open-source framework, kan det betragtes som et generisk framework, som udviklere kan bruge til at bygge ansøgninger og framework af forskellig kompleksitet, der udnytter kraften i LLM’er.

Store sprogmodeller spiller en afgørende rolle i udviklingen af agenter, der udnytter LLM-framework til at tilpasse sig nye observationer, værktøjsbrug og resonnering i mange virkelige ansøgninger. Men udviklingen af disse ansøgninger, der kan udnytte fuldt potentialet i LLM’er, er en kompleks sag, og givet den stigende efterspørgsel og ansøgninger af LLM’er samt den øgede opgavekompleksitet, er det afgørende at skale op kraften i disse agenter ved at bruge multiple agenter, der arbejder i samspil med hinanden.Hvordan kan en multi-agent tilgang bruges til at udvikle LLM-baserede ansøgninger, der kan anvendes i en bred vifte af domæner med varierende kompleksitet? AutoGen-frameworket forsøger at besvare ovennævnte spørgsmål ved at bruge multi-agent konversationer.

AutoGen: Komponenter og framework

I et forsøg på at reducere mængden af indsats, udviklere skal bruge for at skabe komplekse ansøgninger, der udnytter kapaciteterne i LLM’er på tværs af en bred vifte af domæner, er det grundlæggende princip i AutoGen at konsolidere og strømline multi-agent arbejdsprocesser ved at bruge multi-agent konversationer, hvilket også maksimerer genbrugbarheden af disse implementerede agenter. AutoGen bruger multiple agenter, der kan have konversationer med hinanden for at udføre de ønskede opgaver, og frameworket er bygget på to grundlæggende koncepter: Konverserende agenter og Konverserende programmering.

Konverserende agenter

En konverserende agent i AutoGen er en enhed med en foruddefineret rol, der kan sende og modtage beskeder til og fra andre konverserende agenter. En konverserende agent opretholder sin interne kontekst baseret på modtagne eller sendte beskeder, og udviklere kan konfigurere disse agenter til at have en unik samling af kapaciteter, såsom at være aktiveret af LLM-værktøjer eller at tage imod menneskelige indtastninger.

Agentkapaciteter aktiveret af mennesker, værktøjer og LLM’er

En agents kapaciteter relaterer direkte til, hvordan den behandler og responderer på beskeder, hvilket er den primære grund til, at agenterne i AutoGen-frameworket giver udviklere mulighed for at give agenterne forskellige kapaciteter. AutoGen understøtter flere almindelige sammensætlige kapaciteter for agenter, herunder

  1. LLM’er: Agenter, der er bakket op af LLM’er, udnytter kapaciteterne i avancerede LLM-framework som implicit tilstandsinferens, rollespil, feedback og endda kodning. Udviklere kan bruge nye prompt-teknikker til at kombinere disse kapaciteter for at øge autonomien eller færdigheden hos en agent.
  2. Mennesker: Flere ansøgninger kræver eller ønsker en vis grad af menneskelig indblanding, og AutoGen-frameworket giver mulighed for LLM-baserede ansøgninger til at faciliterer menneskelig deltagelse i agentkonversationer ved at bruge menneske-bakket agenter, der kan anmode om menneskelige indtastninger under bestemte runder af konversationer baseret på agentens konfiguration.
  3. Værktøjer: Værktøjer-bakket agenter har normalt kapaciteten til at bruge kodekørsel eller funktionseksekvering til at udføre værktøjer.

Agent-samarbejde og tilpasning

Baseret på de specifikke behov og krav til en ansøgning, kan udviklere konfigurere enkelt-agenter til at have en kombination af essentielle backend-typer for at vise den komplekse adfærd, der er involveret i multi-agent konversationer. AutoGen-frameworket giver udviklere mulighed for at let oprette agenter med specialiserede roller og kapaciteter ved at udvide eller genbruge de indbyggede agenter. Figuren nedenfor demonstrerer den grundlæggende struktur for indbyggede agenter i AutoGen-frameworket. ConversableAgent-klassen kan bruge mennesker, værktøjer og LLM’er som standard, da det er den højeste niveau agent-abstraktion. UserProxyAgent og AssistantAgent er forudkonfigurerede klasser af ConversableAgent, og hver af dem repræsenterer en almindelig brugsmodel, dvs. hver af disse to agenter fungerer som en AI-assistent (når den er bakket op af LLM’er) og anmoder om menneskelig indtastning eller udfører funktionkald eller kode (når den er bakket op af værktøjer og/eller mennesker) ved at fungere som en menneskelig proxy.

Figuren nedenfor demonstrerer, hvordan udviklere kan bruge AutoGen-frameworket til at udvikle et to-agentsystem med en brugerdefineret svarfunktion samt en illustration af den resulterende automatiserede agent-konversation, der bruger det to-agentsystem under programkørslen.

Ved at give mulighed for brugen af brugerdefinerede agenter, der kan have konversationer med hinanden, fungerer disse konverserende agenter som en grundlæggende byggesten i AutoGen-frameworket. Udviklere skal dog specificere og forme disse multi-agent konversationer for at udvikle ansøgninger, hvor disse agenter kan gøre betydelig fremgang på de specifikke opgaver.

Konverserende programmering

For at løse ovennævnte problem bruger AutoGen-frameworket konverserende programmering, en beregningsparadigme bygget på to essentielle koncepter: beregning, handlingerne udført af agenter i en multi-agent konversation for at beregne deres svar, og kontrolflow, betingelserne eller sekvensen, under hvilke disse beregninger finder sted. Evnen til at programmere disse giver udviklere mulighed for at implementere mange fleksible multi-agent konversationsmønstre. Derudover er beregningerne i AutoGen-frameworket konversationscentrerede. Handlingerne udført af en agent er relevante for konversationerne, agenten er involveret i, og handlingerne udført af agenterne resulterer derefter i overførslen af beskeder til efterfølgende konversationer, indtil en afslutningsbetingelse er opfyldt. Derudover er kontrolflow i AutoGen-frameworket drevet af konversationer, da det er deltagende agenter, der bestemmer, hvilke agenter der skal sende beskeder til og fra beregningsprocessen.

Figuren ovenfor demonstrerer en simpel illustration af, hvordan enkelt-agenter udfører deres rollespecifikke operationer og konversationscentrerede beregninger for at generere de ønskede svar, såsom kodekørsel og LLM-interferenskald. Opgaven skrider frem med hjælp af konversationer, der vises i dialogboksen.

For at faciliterer konverserende programmering har AutoGen-frameworket følgende designmønstre.

  • Auto-svar mekanismer og samlet grænseflade for automatiserede agent-konversationer

AutoGen-frameworket har en samlet grænseflade for at udføre den tilsvarende beregning, der er konversationscentreret, herunder en “modtag eller send-funktion” til enten at modtage eller sende beskeder samt en “generer_svar”-funktion, der genererer et svar baseret på den modtagne besked og udfører den nødvendige handling. AutoGen-frameworket introducerer og implementerer også agent-auto-svar-mekanismen som standard for at realisere konversationsdrevet kontrol.

  • Kontrol ved kombination af naturligt sprog og programmering

AutoGen-frameworket giver mulighed for brugen af naturligt sprog og programmering i forskellige kontrolflow-management-mønstre, herunder naturligt sprogskontrol ved hjælp af LLM’er, programmeringssprogskontrol og kontrol-overgang mellem programmering og naturligt sprog.

Herefter, ud over statiske konversationer, der normalt ledsages af en foruddefineret flow, understøtter AutoGen-frameworket også dynamiske konversationsflow ved hjælp af multiple agenter, og frameworket giver udviklere to muligheder for at opnå dette

  1. Ved at bruge funktionkald.
  2. Ved at bruge en tilpasset generer_svar-funktion.

Ansøgninger af AutoGen

For at illustrere potentialet i AutoGen-frameworket i udviklingen af komplekse multi-agent ansøgninger er her seks potentielle ansøgninger af AutoGen, der er valgt baseret på deres relevans i den virkelige verden, problemløsningskapaciteter forbedret af AutoGen-frameworket og deres innovative potentiale.

Disse seks ansøgninger af AutoGen-frameworket er

  1. Matematisk problemløsning.
  2. Hentningsforstærket chats.
  3. ALF-chats.
  4. Multi-agent kodning.
  5. Dynamisk gruppechat.
  6. Konverserende skak.

Ansøgninger af AutoGen-framework

Ansøgning 1: Matematisk problemløsning

Matematik er en af de grundlæggende discipliner for at udnytte LLM-modeller til at hjælpe med at løse komplekse matematiske problemer, der åbner op for en hel ny verden af potentielle ansøgninger, herunder AI-forskningsassistance og personlig AI-undervisning.

Figuren ovenfor demonstrerer ansøgningen af AutoGen-frameworket til at opnå konkurrencedygtig præstation på at løse matematiske problemer.

Ansøgning 2: Spørgsmålssvar og hentningsforstærket kodegenerering

I de seneste måneder er hentningsforstærket kodegenerering blevet en effektiv og praktisk tilgang til at overvinde begrænsningerne i LLM’er i at inkorporere eksterne dokumenter. Figuren nedenfor demonstrerer ansøgningen af AutoGen-frameworket til effektiv hentningsforstærkning og forbedring af præstation på spørgsmålssvartasker.

Ansøgning 3: Beslutningstagning i tekstverdenens miljøer

AutoGen-frameworket kan bruges til at skabe ansøgninger, der fungerer med online eller interaktiv beslutningstagning. Figuren nedenfor demonstrerer, hvordan udviklere kan bruge AutoGen-frameworket til at designe et tre-agents konversationsystem med en grund-agents til at betydeligt forbedre præstationen.

Ansøgning 4: Multi-agent kodning

Udviklere, der arbejder med AutoGen-frameworket, kan bruge OptiGuide-frameworket til at bygge et multi-agent kodningssystem, der kan skrive kode til at implementere optimerede løsninger og besvare bruger-spørgsmål. Figuren nedenfor demonstrerer, at brugen af AutoGen-frameworket til at skabe et multi-agent design hjælper med at forbedre den samlede præstation betydeligt, især i udførelse af kodningstasker, der kræver en sikkerhedsforanstaltning.

Ansøgning 5: Dynamisk gruppechat

AutoGen-frameworket giver støtte til en kommunikationsmønster, der drejer sig om dynamiske gruppechats, hvor de deltagende multiple agenter deler konteksten og i stedet for at følge en fastlagt rækkefølge konverserer de med hinanden i en dynamisk måde. Disse dynamiske gruppechats afhænger af pågående konversationer til at guide interaktionsflowet mellem agenterne.

Figuren ovenfor illustrerer, hvordan AutoGen-frameworket giver støtte til dynamiske gruppechats mellem agenter ved at bruge “GroupChatManager”, en specialagent.

Ansøgning 6: Konverserende skak

Udviklerne af AutoGen-frameworket brugte det til at udvikle en konverserende skakansøgning, der er en naturlig interferensspil, der har indbyggede agenter for spillere, der kan være enten en LLM eller et menneske, og der er også en tredjepartsagent, der giver relevante oplysninger og validerer træk på brættet baseret på en samling foruddefinerede standardregler. Figuren nedenfor demonstrerer konverserende skak, et naturligt interferensspil bygget med AutoGen-frameworket, der giver spillere mulighed for at bruge jokes, karakter-spil eller endda meme-referencer til at udtrykke deres træk kreativt, hvilket gør spillet mere interessant ikke kun for spillere, men også for publikum og tilskuere.

Konklusion

I denne artikel har vi talt om AutoGen, et open-source framework, der bruger koncepter som konverserende programmering og konverserende agenter til at simplificere orkestreringen og optimeringen af LLM-arbejdsprocesser ved at introducere automatisering i arbejdsgangspipelines. AutoGen-frameworket giver mulighed for konverserende og tilpasselige agenter, der udnytter kraften i avancerede LLM’er som GPT-3 og GPT-4, og på samme tid adresserer deres nuværende begrænsninger ved at integrere LLM’er med værktøjer og menneskelige indtastninger ved at bruge automatiserede chats til at initiere konversationer mellem multiple agenter.

Selvom AutoGen-frameworket stadig er i sin tidlige eksperimentelle fase, åbner det vejen for fremtidige udforskninger og forskningsmuligheder på området, og AutoGen kan være værktøjet, der hjælper med at forbedre hastigheden, funktionaliteten og lettede udvikling af ansøgninger, der udnytter kapaciteterne i LLM’er.

En ingeniør af profession, en forfatter af hjerte. Kunal er en teknisk forfatter med en dyb kærlighed og forståelse af AI og ML, dedikeret til at forenkle komplekse koncepter inden for disse felter gennem sin engagerende og informative dokumentation.