Povežite se s nama

Umjetna inteligencija

OpenAgents: Otvorena platforma za jezične agente u divljini

mm

Nedavni razvoj pokazao je da jezični agenti, posebno oni izgrađeni na velikim jezičnim modelima (LLM), imaju potencijal za obavljanje Å”irokog niza zamrÅ”enih zadataka u različitim okruženjima koristeći prirodni jezik. Međutim, primarni fokus većine okvira jezičnih agenata trenutno je na olakÅ”avanju konstrukcije jezičnih agenata s dokazom koncepta. Ovaj fokus često dolazi s malo ili nimalo pozornosti na dizajne na razini aplikacije i često zanemaruje dostupnost ovih agenata nestručnim korisnicima.

Kako bi premostili trenutna ograničenja jezičnih agenata, programeri su osmislili Okvir OpenAgents, otvorena platforma za hosting i implementaciju jezičnih agenata u divljini i kroz niz svakodnevnih zadataka. Okvir OpenAgents izgrađen je oko tri agenta

  • Agent podataka: Pomaže u analizi podataka koriÅ”tenjem podatkovnih alata i upitnih jezika poput SQL-a ili programskih jezika poput Pythona. 
  • Agenti dodataka: Pomaže pružajući pristup viÅ”e od 200+ API alata korisnih za svakodnevne zadatke. 
  • Web agenti: Pomaže u pregledavanju weba uz zadržavanje vaÅ”e anonimnosti. 

Okvir OpenAgents koristi web korisničko sučelje optimizirano za uobičajene kvarove i brze odgovore u pokuÅ”aju da općim korisnicima omogući interakciju s funkcionalnostima agenta, dok u isto vrijeme nudi istraživačima i programerima besprijekorno iskustvo implementacije na njihovim lokalnim postavkama. Bilo bi sigurno reći da je okvir OpenAgents pokuÅ”aj pružanja čvrstih temelja za olakÅ”avanje evaluacija u stvarnom svijetu i izradu inovativnih, učinkovitih i naprednih jezičnih agenata. 

U danaÅ”njem ćemo članku dublje zaroniti u okvir OpenAgents i detaljnije govoriti o okviru. Razgovarat ćemo o radu i arhitekturi okvira, dok ćemo također raspravljati o zajedničkim izazovima s kojima se suočavamo i rezultatima. Pa krenimo. 

OpenAgents i jezični agenti: Uvod

Jezični agenti, u svojoj srži, izvedeni su iz inteligentnih agenata. Ovi inteligentni agenti su konceptualizirani tako da posjeduju autonomne sposobnosti rjeÅ”avanja problema, zajedno sa sposobnoŔću da osjete svoje okruženje, donose odluke i djeluju u skladu s tim. S napretkom u velikim jezičnim modelima, globalna razvojna zajednica iskoristila je koncept inteligentnih agenata i LLM-ova za stvaranje jezičnih agenata. Ovi agenti koriste programiranje prirodnog jezika (NLP) za izvođenje Å”irokog spektra zamrÅ”enih zadataka u različitim okruženjima, a nedavno su pokazali izuzetan potencijal.

Trenutačni okviri jezičnih agenata, kao Å”to su Gravitas i Chase, primarno pružaju konzolno sučelje prilagođeno programerima, zajedno s implementacijama dokaza koncepta. Međutim, često ograničavaju dostupnost Å”iroj publici, osobito onima koji nisu vjeÅ”ti u kodiranju. Osim toga, trenutne referentne vrijednosti agenata konstruiraju programeri sa specifičnim zahtjevima za determinističku procjenu, posebno u scenarijima koji zahtijevaju pregledavanje weba, kodiranje, koriÅ”tenje alata ili njihovu kombinaciju.

U nastojanju da razviju inteligentne i jezične agente koje pokreće LLM za Å”iru korisničku bazu, etablirani igrači kao Å”to su OpenAI i Microsoft postavili su niz dobro dizajniranih proizvoda, uključujući Advanced Data Analysis, također poznat kao Code Interpreter, i dodatke za preglednik. Iako su ovi agenti učinkoviti u svojim funkcijama, oni nude ograničenu pomoć razvojnoj zajednici. Ovo ograničenje proizlazi iz razloga Å”to kod poslovne logike i implementacije modela nisu bili otvorenog koda, Å”to ometa mogućnosti programera i istraživača da ih dalje istražuju, kao i ograničavajući slobodan pristup za korisnike.

U pokuÅ”aju da se pozabave ovim problemom, programeri su smislili OpenAgents, platforma otvorenog koda za hosting i koriÅ”tenje agenata, a trenutno je izgrađena na temelju tri interna agenta

  • Agent podataka: Pomaže u analizi podataka koriÅ”tenjem podatkovnih alata i upitnih jezika poput SQL-a ili programskih jezika poput Pythona. 
  • Agenti dodataka: Pomaže pružajući pristup viÅ”e od 200+ API alata korisnih za svakodnevne zadatke. 
  • Web agenti: Pomaže u pregledavanju weba uz zadržavanje vaÅ”e anonimnosti. 

Sljedeća slika prikazuje platformu OpenAgents za opće korisnike, programere i istraživače. 

  1. Umjesto koriÅ”tenja programerski orijentiranih paketa ili konzola, opći korisnici mogu komunicirati s tri agenta u okviru OpenAgents pomoću internetskog web sučelja. 
  2. Razvojni programeri mogu koristiti poslovnu logiku i istraživačke kodove koje pruža okvir OpenAgents za neprimjetno postavljanje pozadinskog i sučelnog dijela za daljnji razvoj. 
  3. Istraživači imaju fleksibilnost izgradnje novih jezičnih agenata od nule ili implementacije metoda povezanih s agentima koriÅ”tenjem zajedničkih komponenti i primjera te procjene njihove izvedbe pomoću web sučelja. 

Ukratko, okvir OpenAgents izvorno je zamiÅ”ljen kao holistička i realistična platforma za evaluaciju jezičnog agenta od strane ljudi u petlji koja korisnicima omogućuje interakciju s tim agentima kako bi dovrÅ”ili Å”iroku lepezu zadataka, a ovi ljudski- interakcije agenata zajedno s povratnim informacijama korisnika pohranjuju se i analiziraju za daljnji razvoj i procjenu. 

Za one koji nisu svjesni, LLM savjetovanje je proces koji programerima omogućuje izradu uputa koje Å”tite od kontradiktornih ili pogreÅ”nih unosa, poboljÅ”avaju estetiku izlaza i prate logiku pozadine. Tijekom faze razvoja, programeri koji rade na okviru OpenAgents koriste LLM prompting tehniku ​​kako bi naglasili važnost učinkovitog određivanja zahtjeva aplikacije. Međutim, programeri su ubrzo primijetili da nakupljanje ovih uputa ili LLM upita ponekad može biti značajno Å”to može utjecati na mogućnosti rukovanja kontekstom LLM okvira zajedno s ograničenjima tokena. Razvojni programeri također su primijetili da, kako bi se ovi agenti učinkovito implementirali u stvarnom svijetu, modeli agenata ne bi trebali samo pokazivati ​​iznimne performanse, već bi također trebali biti u mogućnosti uhvatiti se u koÅ”tac sa Å”irokim spektrom interaktivnih scenarija u stvarnom vremenu. Iako trenutni agentski okviri Pokrili su izvedbu, često zanemaruju razmatranja stvarnog svijeta, posebno u stvarnom vremenu, Å”to često zamagljuje pravi potencijal okvira LLM-a time Å”to mijenja brzinu odziva ili točnost. 

Na sljedećoj slici uspoređujemo okvir OpenAgents izravno s postojećim radovima na mjerilima koncepta agenta i izgradnjom prototipova. 

OpenAgents: dizajn i implementacija platforme

Sustavni dizajn ili arhitektura platforme OpenAgents može se podijeliti u dvije primarne komponente: Korisničko sučelje, uključujući pozadinu i sučelje, i Jezični agent, koji uključuje alate, jezične modele i okruženja. Okvir OpenAgents pruža sučelje za komunikaciju između korisnika i agenata. Tijek interakcije u okviru je sljedeći.

Agenti koriste alate koji su im dostupni za planiranje i poduzimanje potrebnih radnji u okruženjima nakon Å”to prime unose od korisnika. Arhitektura ili sustavni dizajn okvira prikazan je na sljedećoj slici. 

Korisničko sučelje

Razvojni programeri okvira OpenAgents uložili su puno razmiÅ”ljanja i truda u razvoj ne samo vrlo funkcionalnog, već i korisničkog korisničkog sučelja nakon Å”to su se uhvatili u koÅ”tac s mnoÅ”tvom agenata hosta i viÅ”ekratne poslovne logike. Kao rezultat toga, okvir OpenAgents može se pohvaliti pružanjem podrÅ”ke za Å”iroku lepezu tehničkih zadataka uključujući rukovanje pogreÅ”kama, operacije pozadinskog poslužitelja, strujanje podataka i joÅ” mnogo toga, s primarnim ciljem da okvir OpenAgents bude prilagođen korisniku, ali vrlo učinkovit & upotrebljiva u isto vrijeme. 

Jezični agent

Unutar okvira OpenAgents, jezični agent ima tri bitne komponente: sučelje alata, jezični model i samo okruženje. Metoda upita implementirana u okviru OpenAgents stvara sekvencijalni proces koji agenti trebaju slijediti, a koji počinje s Promatranje -> PromiÅ”ljanje -> Djelovanje. Okvir također potiče LLM da generira parsable tekst s poboljÅ”anom učinkovitoŔću, a sučelje alata sastoji se od parsera koji mogu prevesti te parsable tekstove koje generiraju LLM-ovi u izvrÅ”ne radnje kao Å”to je upućivanje API poziva ili generiranje koda. Ove radnje zatim izvrÅ”ava okvir unutar granica odgovarajućeg okruženja. 

Agenti OpenAgents

U srži OpenAgentsa postoje tri različita agenta: Data Agent koji pomaže u analizi podataka pomoću podatkovnih alata i upitnih jezika poput SQL-a ili programskih jezika poput Pythona, Agenti dodataka tu pomaže pružajući pristup viÅ”e od 200+ API alata korisnih za svakodnevne zadatke, i Web agenti koji pomaže u pregledavanju weba uz zadržavanje vaÅ”e anonimnosti. Ovi agenti imaju stručnost za pojedinačnu domenu sličnu ChatGPT dodacima, no za razliku od ChatGPT-a, implementacija na OpenAgents temelji se isključivo na sučelju za programiranje aplikacija otvorenog jezika ili API-jima. 

Data Agent

Podatkovni agent u okviru OpenAgents dizajniran je i postavljen na način da se nosi sa Å”irokim spektrom zadataka povezanih s podacima s kojima se krajnji korisnici redovito susreću. Podatkovni agenti podržavaju generiranje i izvođenje koda u dva programska jezika, naime SQL i Python, a agent također ima nekoliko podatkovnih alata na raspolaganju uključujući Profiliranje podataka za pružanje osnovnih podataka, Kaggle Data Search za pretraživanje skupova podataka i Alat ECharts za iscrtavanje interaktivnih EChartova. Nadalje, okvir OpenAgents potiče podatkovnog agenta da proaktivno koristi ove alate kako bi učinkovito odgovorio na zahtjeve krajnjih korisnika. Osim toga, s obzirom na iscrpne zahtjeve kodiranja, okvir OpenAgents odlučuje se za ugrađene jezične modele za podatkovnog agenta, a umjesto da agent generira kod, alati kao Å”to su Python, ECharts i SQL generiraju kod. Ovim pristupom, okvir je u mogućnosti u potpunosti iskoristiti programsku snagu jezičnih modela i tako smanjiti opterećenje podatkovnog agenta. 

Uz pomoć ovih podatkovnih alata, podatkovni agent je sposoban upravljati brojnim zahtjevima usmjerenim na podatke i stručno izvodi vizualizaciju podataka, manipulaciju i upite, čime prelazi granice koda i generiranja teksta. Sljedeća slika prikazuje podatkovnog agenta na djelu i alate dostupne običnim korisnicima. 

Agent za dodatke

Agent dodatka u okviru OpenAgents dizajneri su pažljivo dizajnirali kako bi zadovoljili korisnikove viÅ”estruke zahtjeve za svakodnevne zadatke uključujući pretraživanje interneta, online kupnju, čitanje vijesti ili izradu web stranica i aplikacija pružajući pristup do preko 200 dodataka, s posebnom pozornoŔću plaća se na sučelju za pozivanje funkcija, API pingovima i duljinama API odgovora. Neki od istaknutih dodataka uključuju 

  1. Google pretraživanje 
  2. Wolfram Alpha
  3. Zapier
  4. Klarna
  5. Coursera
  6. Pokaži mi
  7. Govoriti
  8. Pitajte svojPDF
  9. BizTok
  10. Klook

Na temelju svojih potreba i zahtjeva, korisnici mogu odabrati broj dodataka koje žele da agenti dodataka koriste, a rad je prikazan na slici ispod. 

Nadalje, kako bi pomogao korisnicima u situacijama kada nisu sigurni koji će dodatak najbolje odgovarati njihovim zahtjevima, okvir OpenAgents nudi korisnicima značajku koja automatski odabire dodatke koji su najrelevantniji za njihove upute. 

Web agenti

Okvir OpenAgents predstavlja web agenta kao specijalizirani alat čiji je zadatak povećati učinkovitost i mogućnosti chat agenta. Iako agent za chat i dalje sadrži glavno interakcijsko sučelje, on neprimjetno uključuje web agenta kad god je to potrebno. Konačni odgovor zatim web agent dostavlja krajnjem korisniku, a proces je ilustriran na slici ispod. 

Strategija dizajna implementirana u ove web agente pokazala se od velike koristi jer agent za chat obrađuje važne parametre ili sustavno inicira URL-ove prije nego Å”to se prenesu na web agenta, čime se osigurava bolja usklađenost između zahtjeva korisnika i generiranog izlaza, dakle Å”to rezultira jasnom komunikacijom. Nadalje, strategija također omogućuje web agentima da se prilagode slojevitim i prilagodljivim korisničkim upitima koriÅ”tenjem dinamične web navigacije s viÅ”e okretanja zajedno s dijalozima za chat. Stoga, jasnim razgraničenjem uloga i odgovornosti agenata za čavrljanje i viÅ”estruko pregledavanje, okvir OpenAgents otvara mjesta za usavrÅ”avanje i razvoj svakog pojedinačnog modula. 

OpenAgents : Praktične aplikacije i implementacija u stvarnom svijetu

U ovom ćemo odjeljku govoriti o putanji okvira OpenAgents od teoretiziranja do implementacije u stvarnom svijetu, zajedno s izazovima s kojima se susreće, te stečenim učenjima i složenostima evaluacije s kojima su se programeri uhvatili u koÅ”tac. 

KoriŔtenje upita za transformaciju velikih jezičnih modela u aplikacije iz stvarnog svijeta

Kada koristite upite LLM-a za izradu aplikacija iz stvarnog svijeta za krajnje korisnike, okvir OpenAgents koristi upute upita za određivanje određenih zahtjeva. Cilj nekih uputa je osigurati da je izlaz usklađen s određenim formatom, čime se omogućuje obrada pozadinske logike, dok je cilj drugih uputa povećati estetsku privlačnost izlaza, dok ostale Å”tite okvir od potencijalnih zlonamjernih napada. 

Nekontrolirani čimbenici stvarnog svijeta

Kada su programeri implementirali okvir OpenAgents u stvarnom svijetu, dočekao ih je niz nekontroliranih čimbenika stvarnog svijeta koje je pokrenula internetska infrastruktura, korisnici, poslovna logika i viÅ”e. Ovi čimbenici koji se ne mogu kontrolirati natjerali su programere da preispitaju i preinače neke pretpostavke na temelju prethodnih istraživanja, a mogli su u konačnici dovesti do situacija u kojima krajnji korisnici možda neće biti zadovoljni odgovorom koji okvir generira. 

Složenost evaluacije

Iako konstruirani agenti usmjereni izravno na aplikacije mogu imati Å”iru primjenu i olakÅ”ati bolju evaluaciju, oni povećavaju složenost izrade aplikacija koje pokreću LLM, Å”to otežava analizu izvedbe aplikacija. Nadalje, ovaj pristup također doprinosi nestabilnosti i proÅ”iruje lanac sustava LLMs zbog toga je okviru teÅ”ko prilagoditi se različitim komponentama. Stoga ima smisla poboljÅ”ati dizajn sustava i operativnu logiku ovih agenata kako bi se pojednostavile procedure i osigurao učinkovit izlaz. 

Final Misli

U ovom smo članku govorili o okviru OpenAgents, otvorenoj platformi za hosting i implementaciju jezičnih agenata u divljini i kroz niz svakodnevnih zadataka. Okvir OpenAgents izgrađen je oko tri agenta: Data Agent, pomaže u analizi podataka koriÅ”tenjem podatkovnih alata i upitnih jezika kao Å”to je SQL ili programskih jezika kao Å”to je Python, Plugin Agents, pomaže pružanjem pristupa do viÅ”e od 200+ API alata korisnih za svakodnevne zadatke, a Web Agents pomaže u pregledavanju weba uz zadržavanje vaÅ”e anonimnosti . Okvir OpenAgents koristi web korisničko sučelje optimizirano za uobičajene kvarove i brze odgovore u pokuÅ”aju da općim korisnicima omogući interakciju s funkcionalnostima agenta, dok u isto vrijeme nudi istraživačima i programerima besprijekorno iskustvo implementacije na njihovim lokalnim postavkama. Pružanjem transparentne, holističke platforme koja se može implementirati, OpenAgents ima za cilj učiniti potencijal LLM-a dostupnim Å”irem krugu korisnika koji nisu ograničeni na istraživače i programere, već i krajnje korisnike s ograničenom tehničkom stručnoŔću. 

"Inženjer po struci, književnik po duÅ”i". Kunal je tehnički pisac s dubokom ljubavlju i razumijevanjem AI i ML, posvećen pojednostavljenju složenih koncepata u tim poljima kroz svoju zanimljivu i informativnu dokumentaciju.