AI-mallit ja alustat

AutoGen: Voimaa seuraavalle sukupolvelle suurten kielen mallien sovelluksissa

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa
The AutoGen Framework

Suuret kielen mallit (LLM) ovat tällä hetkellä yksi keskustelluimmista aiheista mainstream- AI:ssa. Kehittäjät ympäri maailmaa tutkivat LLM:n mahdollisia sovelluksia. Nämä mallit ovat tekoälyalgoritmeja, jotka hyödyntävät syvää oppimista ja laajoja koulutusaineistoja ymmärtääkseen, tiivistääkseen, ennustakseen ja luodakseen laajan valikoiman sisältöä, mukaan lukien tekstin, äänen, kuvat, videot ja muut.

Suuret kielen mallit ovat monimutkaisia tekoälyalgoritmeja. Tällaisen mallin kehittäminen on vaativa tehtävä, ja sovelluksen luominen, joka hyödyntää LLM:n ominaisuuksia, on yhtä haastavaa. Se vaatii merkittävää asiantuntemusta, vaivaa ja resursseja suunnitella, toteuttaa ja lopulta optimoida työnkulku, joka pystyy hyödyntämään suuren kielen mallin kaiken potentiaalin saadakseen parhaat tulokset. Ottaen huomioon laajan ajan ja resurssien määrän, joka vaaditaan sovellusten kehittämiseen, jotka hyödyntävät LLM:n voimaa, näiden prosessien automatisointi on erittäin arvokasta. Tämä on erityisen totta, koska työnkulut ovat odotettavissa tulevan vielä monimutkaisemmiksi lähitulevaisuudessa, kehittäjien luodessa yhä monimutkaisempia LLM-pohjaisia sovelluksia. Lisäksi näiden työnkulkujen suunnittelutila on sekä monimutkainen että laaja, mikä korostaa haasteita luodessa optimaalisen ja vankkaan työnkulun, joka täyttää suorituskykyvaatimukset.

AutoGen on Microsoftin kehittämä kehys, joka pyrkii yksinkertaistamaan LLM-työnkulkujen orkestraatiota ja optimointia esittelemällä automaation työnkulkuun. AutoGen-kehys tarjoaa keskusteltavia ja mukautettavia agenteja, jotka hyödyntävät edistyneiden LLM:ien kuten GPT-3 ja GPT-4 voimaa ja samalla osoittaa niiden nykyiset rajoitukset integroimalla LLM:t työkalujen ja ihmisten syötteiden kanssa käyttäen automaattisia keskusteluja useiden agenttien välillä.

Kun käytät AutoGen-kehystä, riittää, että kehittäjällä on kaksi vaihetta kehittääkseen monimutkaisen moniagenttikeskustelujärjestelmän.

Vaihe 1: Määritä joukko agenteja, joilla on omat roolinsa ja kykynsä.

Vaihe 2: Määritä agenttien välinen vuorovaikutus, eli agentin on tiedettävä, miten vastata, kun se saa viestin toiselta agentilta.

Molemmat edellä mainitut vaiheet ovat modulaarisia ja intuitiivisia, mikä tekee näistä agenteista koostettavia ja uudelleen käytettäviä. Alla oleva kuva esittää esimerkki työnkulusta, joka koskee koodipohjaista kysymys-vastausjärjestelmää toimitusketjun optimoinnissa. Kuten voidaan nähdä, kirjoittaja kirjoittaa koodin ja tulkinnan, Safeguard varmistaa koodin turvallisuuden ja yksityisyyden, ja Commander suorittaa koodin, kun se on saanut tarvittavan hyväksynnän. Jos järjestelmä kohtaa ongelmia suoritusaikana, prosessi toistetaan, kunnes se on täysin ratkaistu. Tämän kehysjärjestelmän käyttöönotto johtaa manuaalisen vuorovaikutuksen määrän vähentymiseen 3-10-kertaisesti, kun sitä sovelletaan sovelluksiin, kuten toimitusketjun optimointiin. Lisäksi AutoGenin käyttö vähentää myös koodausvaivaa jopa neljännesosalla.

AutoGen voi olla pelinmuuttaja, sillä se pyrkii muuttamaan monimutkaisten sovellusten kehittämisen prosessia, jotka hyödyntävät LLM:n voimaa. AutoGenin käyttö voi vähentää sekä manuaalisen vuorovaikutuksen määrää että koodausvaivaa, joita tarvitaan näiden monimutkaisten sovellusten luomiseen. AutoGenin käyttö LLM-pohjaisissa sovelluksissa voi nopeuttaa prosessia merkittävästi ja vähentää myös aikaa, vaivaa ja resursseja, joita tarvitaan näiden monimutkaisten sovellusten kehittämiseen.

Tässä artikkelissa tutustumme AutoGen-kehysjärjestelmään syvemmälti ja tarkastelemme AutoGen-kehysjärjestelmän olennaisia komponentteja ja arkkitehtuuria sekä sen mahdollisia sovelluksia. Aloita siis.

AutoGenin esittely: Voimaa seuraavalle sukupolvelle suurten kielen mallien sovelluksissa

AutoGen on Microsoftin kehittämä avoimen lähdekoodin kehys, joka antaa kehittäjille mahdollisuuden luoda sovelluksia, jotka hyödyntävät LLM:n voimaa useiden agenttien avulla, jotka voivat keskustella toistensa kanssa suorittaakseen halutut tehtävät. AutoGenin agenteissa on keskusteltavia ja mukautettavia agenteja, jotka toimivat eri tiloissa, jotka hyödyntävät työkaluja, ihmisten syötteitä ja LLM:ien yhdistelmää. Kehittäjät voivat myös käyttää AutoGen-kehystä määrittääkseen agenttien vuorovaikutuksen ja ohjelmoida keskustelumalleja, jotka voidaan toteuttaa eri sovelluksissa.

Suuret kielen mallit ovat keskeisessä asemassa kehittääkseen agenteja, jotka hyödyntävät LLM-kehysjärjestelmiä sopeutuakseen uusiin havaintoihin, työkalujen käyttöön ja päättelyyn monissa todellisissa sovelluksissa. Mutta näiden sovellusten kehittäminen, jotka voivat hyödyntää LLM:n täysimääräistä potentiaalia, on monimutkainen asia, ja ottaen huomioon kasvavan kysynnän ja sovellusten määrän LLM:ien osalla sekä tehtävien monimutkaisuuden kasvun, on tärkeää skaalata näiden agenttien voimaa käyttämällä useita agenteja, jotka toimivat yhteen. AutoGen-kehysjärjestelmä pyrkii vastaamaan tähän kysymykseen käyttämällä moniagenttikeskusteluja.

AutoGen: Komponentit ja kehys

Pyrkimyksenä vähentää kehittäjien työmäärää luotaessa monimutkaisia sovelluksia, jotka hyödyntävät LLM:n ominaisuuksia laajalla skaalalla, AutoGenin perussääntö on konsolidoida ja suoristaa moniagenttityönkulkuja käyttämällä moniagenttikeskusteluja, mikä myös maksimoi näiden toteutettujen agenttien uudelleenkäytettävyyden. AutoGen käyttää useita agenteja, jotka voivat keskustella toistensa kanssa suorittaakseen halutut tehtävät, ja kehys perustuu kahteen peruskäsitteeseen: keskusteltaviin agenteihin ja keskusteluoheisen ohjelmointiin.

Keskusteltavat agenteilla

Keskusteltava agentti AutoGenissä on entiteetti, jolla on määritelty rooli, joka voi lähettää ja vastaanottaa viestejä muihin keskusteltaviin agenteihin. Keskusteltava agentti ylläpitää sisäistä kontekstiaan vastaanotetuista tai lähetyistä viesteistä, ja kehittäjät voivat konfiguroida nämä agenteilla erityisiä kykyjä, kuten LLM-työkalujen käyttöä tai ihmisten syötteitä.

Agenttien kyvyt, jotka perustuvat ihmisiin, työkaluihin ja LLM:ien

Agentin kyvyt liittyvät suoraan siihen, miten se prosessoi ja vastaa viesteihin, mikä on tärkein syy, miksi AutoGenin agenteilla on mahdollisuus antaa erilaisia kykyjä agentteille. AutoGen tukee useita yleisiä koostettavia kykyjä agenteille, mukaan lukien

  1. LLM:t: Agentit, jotka hyödyntävät LLM:ien voimaa, käyttävät edistyneiden LLM-kehysjärjestelmien kykyjä, kuten implisiittistä tilan väliintuloa, roolipeliä, palautteen antamista ja koodauksen tekemistä. Kehittäjät voivat käyttää uusia ohjaustekniikoita yhdistääkseen nämä kyvyt lisätäkseen agentin autonomiaa tai taituruutta.
  2. Ihmisten: Useat sovellukset vaativat tai toivovat jonkinlaista ihmisten osallistumista, ja AutoGen-kehys antaa LLM-pohjaisille sovelluksille mahdollisuuden osallistua ihmisten osallistumiseen käyttämällä ihmisten takaamia agenteja, jotka voivat pyytää ihmisten syötteitä tietyissä keskustelun kierroksissa agentin konfiguraation perusteella.
  3. Työkalut: Työkalujen takaamat agenteilla on kyky käyttää koodin suorittamista tai funktioiden suorittamista suorittaakseen työkaluja.

Agenttien yhteistyö ja mukauttaminen

Sovelluksen tiettyjen tarpeiden ja vaatimusten perusteella kehittäjät voivat konfiguroida yksittäisiä agenteja yhdistämään tietyn takaamisen tyypin yhdistelmää näyttääkseen monimutkaisen käyttäytymisen moniagenttikeskusteluissa. AutoGen-kehys antaa kehittäjille mahdollisuuden luoda helposti agenteja, joilla on erityisiä rooleja ja kykyjä laajentamalla tai uudelleen käyttämällä valmiita agenteja. Alla oleva kuva esittää valmiiden agenttien perusrakennetta AutoGen-kehysjärjestelmässä. Keskusteltava agentti -luokka voi käyttää ihmisiä, työkaluja ja LLM:ien oletusarvoisesti, koska se on korkein agenttien abstraktio. UserProxyAgent ja AssistantAgent ovat esikäynnistetyt Keskusteltava agentti -luokan aliluokat, ja kumpikin edustaa yleistä käyttötapaa, eli kumpikin toimii AI-apuna (kun ne hyödyntävät LLM:ien), ja pyytää ihmisten syötteitä tai suorittaa funktioita tai koodia (kun ne hyödyntävät työkaluja ja/tai ihmisiä) toimimalla ihmisten välittäjänä.

Alla oleva kuva esittää, miten kehittäjät voivat käyttää AutoGen-kehystä luodakseen kaksiagenttijärjestelmän, jolla on mukautettu vastausfunktiota, sekä esimerkki automaattisesta agenttikeskustelusta, joka käyttää kaksiagenttijärjestelmää ohjelman suorittamisen aikana.

Keskusteltavat agenteilla toimivat perusrakenteena AutoGen-kehysjärjestelmässä. Kehittäjien on kuitenkin määritettävä ja muokattava näitä moniagenttikeskusteluja kehittääkseen sovelluksia, joissa nämä agenteilla pystyvät edistämään merkittävästi määritettyjä tehtäviä.

Keskustelun ohjelmointi

Ratkaistaakseen edellä mainitun ongelman AutoGen-kehys käyttää keskustelun ohjelmointia, joka on laskentaparadigma, joka perustuu kahteen olennaiseen käsitteeseen: laskenta, toimet, jotka agenteilla suorittavat moniagenttikeskustelussa vastauksensa laskemiseksi, ja ohjaus, ehdot, joiden mukaan nämä laskelmat suoritetaan. Mahdollisuus ohjelmoida nämä mahdollistaa kehittäjille toteuttaa useita joustavia moniagenttikeskustelumalleja. Lisäksi AutoGen-kehysjärjestelmässä laskelmat ovat keskustelukeskeisiä. Toimet, jotka agentti suorittaa, liittyvät keskusteluihin, joissa agentti osallistuu, ja toimet, jotka agenteilla suorittavat, johtavat viestien lähettämiseen seuraavien keskustelujen vuoksi, kunnes päädytään päättymisehtoon. Ohjaus AutoGen-kehysjärjestelmässä on keskusteluihin perustuva, koska se on osallistuvien agenttien päätös, mitkä agenteilla lähettävät viestejä ja mihin suorittamisprosessiin.

Yllä oleva kuva esittää yksinkertaisen esimerkin siitä, miten yksittäiset agenteilla suorittavat roolispesifisiä toimia ja keskustelukeskeisiä laskelmia luodakseen halutut vastaukset, kuten koodin suorittamisen ja LLM:n väliintulon. Tehtävä etenee keskustelujen avulla, jotka näkyvät dialogiruudussa.

Keskustelun ohjelmointia varten AutoGen-kehys sisältää seuraavat suunnittelumallit.

  • Automaattiset vastausmekanismit ja yhdenmukainen käyttöliittymä automaattisille agenttikeskusteluille

AutoGen-kehys sisältää yhdenmukaisen käyttöliittymän suorittaakseen keskustelukeskeisen laskelman, mukaan lukien vastaanottaa/lähetä-funktion viestien lähettämiseen ja vastaanottamiseen sekä generoi_vastaus-funktion, joka luo vastauksen vastaanotetun viestin perusteella ja suorittaa tarvittavan toimen. AutoGen esittelee ja käyttää oletusarvoisesti agentin automaattisen vastausmekanismin toteuttaakseen keskustelun ohjauksen.

  • Ohjaus luonnollisen kielen ja ohjelmoinnin yhdistelmällä

AutoGen antaa mahdollisuuden käyttää luonnollista kieltä ja ohjelmointia erilaisissa ohjausmallissa, mukaan lukien luonnollisen kielen ohjaus LLM:ien avulla, ohjelmointikielen ohjaus ja siirtyminen ohjelmoinnista luonnolliseen kielen.

Jatkamalla, lisäksi staattisiin keskusteluihin, jotka yleensä liittyvät ennalta määrättyyn virtaukseen, AutoGen-kehys tukee myös dynaamisia keskusteluvirtoja useiden agenttien avulla, ja kehys antaa kehittäjille kaksi vaihtoehtoa saavuttaakseen tämän

  1. Funktiokutsujen avulla.
  2. Mukautetun generoi_vastaus-funktion avulla.

AutoGenin sovellukset

Havainnollistamaan AutoGen-kehysjärjestelmän potentiaalia monimutkaisten moniagenttisovellusten kehittämisessä, tässä on kuusi mahdollista AutoGenin sovellusta, jotka on valittu niiden merkityksen, ongelmanratkaisukyvyn ja innovatiivisen potentiaalin perusteella.

Nämä kuusi AutoGen-kehysjärjestelmän sovellusta ovat

  1. Matemaattinen ongelmanratkaisu.
  2. Hakijärjestelmän tuki.
  3. ALF-keskustelut.
  4. Moniagenttikoodaus.
  5. Dynaaminen ryhmäkeskustelu.
  6. Keskustelushakki.

AutoGen-kehysjärjestelmän sovellukset

Sovellus 1: Matemaattinen ongelmanratkaisu

Matematiikka on yksi perusaineista, joka hyödyntää LLM-malleja avuksi monimutkaisten matemaattisten ongelmien ratkaisemisessa, mikä avaa uusia sovellusmahdollisuuksia, kuten tekoälyavustus ja henkilökohtainen tekoälyopetus.

Yllä oleva kuva esittää AutoGen-kehysjärjestelmän soveltamisen saavuttamaan kilpailukykyisen suorituskyvyn matemaattisten ongelmien ratkaisemisessa.

Sovellus 2: Kysymys-vastaus ja hakijärjestelmän tuki

Viime kuukausina hakijärjestelmän tuki on osoittautunut tehokkaaksi ja käytännölliseksi lähestymistavaksi LLM:ien rajoitusten ylittämiseksi ulkoisten asiakirjojen sisällyttämisessä. Alla oleva kuva esittää AutoGen-kehysjärjestelmän soveltamisen tehokkaaseen hakijärjestelmän tukiin ja suorituskyvyn parantamiseen kysymys-vastaus-tehtävissä.

Sovellus 3: Päätöksenteko tekstimaailman ympäristössä

AutoGen-kehysjärjestelmää voidaan käyttää luomaan sovelluksia, jotka toimivat online- tai interaktiivisessa päätöksenteossa. Alla oleva kuva esittää, miten kehittäjät voivat käyttää AutoGen-kehysjärjestelmää suunnitella kolmiagenttista keskustelujärjestelmää, jossa on kiinnitysagentti, joka parantaa suorituskykyä merkittävästi.

Sovellus 4: Moniagenttikoodaus

Kehittäjät, jotka työskentelevät AutoGen-kehysjärjestelmässä, voivat käyttää OptiGuide-kehysjärjestelmää luodakseen moniagenttikoodausjärjestelmän, joka pystyy kirjoittamaan koodia toteuttaakseen optimoidut ratkaisut ja vastaamaan käyttäjien kysymyksiin. Alla oleva kuva esittää, miten AutoGen-kehysjärjestelmän käyttö moniagenttisuunnittelussa parantaa kokonaisuudessaan suorituskykyä, erityisesti suorittaessaan koodaus-tehtäviä, jotka vaativat turvallisuutta.

Sovellus 5: Dynaaminen ryhmäkeskustelu

AutoGen-kehys antaa tuen kommunikaatiomallille, joka kiertää dynaamisia ryhmäkeskusteluja, joissa useat agenteilla jakavat kontekstin ja eivät seuraa ennalta määrättyjä järjestyksiä, vaan keskustelevat toistensa kanssa dynaamisesti. Nämä dynaamiset ryhmäkeskustelut perustuvat jatkuviin keskusteluihin ohjataksensa vuorovaikutuksen virtausta agenttien välillä.

Yllä oleva kuva esittää, miten AutoGen-kehys tukee dynaamisia ryhmäkeskusteluja agenttien välillä käyttämällä “Ryhmäkeskustelun hallintaa”, erityistä agenttia.

Sovellus 6: Keskustelushakki

AutoGenin kehittäjät käyttivät AutoGen-kehysjärjestelmää kehittääkseen Keskustelushakki-sovelluksen, joka on luonnollinen väliintulopeli, jossa on sisäänrakennetut agenteilla pelaajille, jotka voivat olla joko LLM tai ihminen, ja on myös kolmas agentti, joka tarjoaa asiaankuuluvaa tietoa ja validoi siirrot laudalla ennalta määrättyjen standardisääntöjen perusteella. Alla oleva kuva esittää Keskustelushakki-pelin, joka on luonnollinen väliintulopeli, joka on kehitetty AutoGen-kehysjärjestelmällä, ja jossa pelaajat voivat käyttää vitsejä, roolileikkejä tai jopa meemi-ilmaisuja ilmaisemaan siirtojaan luovasti, mikä tekee shakkipelistä mielenkiintoisemman ei vain pelaajille, vaan myös yleisölle ja katsojille.

Johtopäätös

Tässä artikkelissa olemme puhuneet AutoGenistä, avoimen lähdekoodin kehysjärjestelmästä, joka käyttää keskustelun ohjelmointia ja keskusteltavia agenteja yksinkertaistamaan LLM-työnkulkujen orkestraatiota ja optimointia esittelemällä automaation työnkulkuun. AutoGen-kehys tarjoaa keskusteltavia ja mukautettavia agenteja, jotka hyödyntävät edistyneiden LLM:ien kuten GPT-3 ja GPT-4 voimaa ja samalla osoittaa niiden nykyiset rajoitukset integroimalla LLM:t työkalujen ja ihmisten syötteiden kanssa käyttämällä automaattisia keskusteluja useiden agenttien välillä.

Vaikka AutoGen-kehysjärjestelmä on edelleen varhaisessa kokeellisessa vaiheessa, se avaa tien tuleville tutkimusmahdollisuuksille ja tutkimukselle alalla, ja AutoGen voi olla työkalu, joka auttaa parantamaan nopeutta, toimintoja ja kehityksen helppoutta sovelluksissa, jotka hyödyntävät LLM:ien kykyjä.

Ammattina insinööri, sydämen vuoksi kirjailija. Kunal on tekninen kirjailija, jolla on syvä rakkaus ja ymmärrys AI: sta ja ML: stä, omistautunut yksinkertaistamaan monimutkaisia käsitteitä näissä aloissa hänen viihdyttävän ja informatiivisen dokumentaationsa kautta.