BabyAGI is an AI-powered task management system that uses OpenAI and Pinecone APIs to create, prioritize, and execute tasks.
Ta Python skripta je primer sistema za upravljanje opravil, ki ga poganja AI oz. umetna inteligenca (UI). Sistem uporablja OpenAI-jev API in Pinecone za ustvarjanje in določanje prioritet ter izvajanje nalog. Glavna ideja tega sistema je, da ustvarja naloge na podlagi rezultatov prejšnjih nalog in vnaprej določenega cilja. Skripta nato uporabi obdelavo naravnega jezika (NLP) ponudnika OpenAI za ustvarjanje novih nalog na podlagi cilja ter Pinecone za shranjevanje in pridobivanje rezultatov nalog za kontekst. To je poenostavljena različica izvirnega avtonomnega agenta, ki temelji na opravilih (28. marec 2023).
Ta README zajema naslednje:
– Opozorilo o neprekinjenem izvajanju skripte
Skripta deluje tako, da izvaja neskončno zanko, ki izvaja naslednje korake:
Funkcija task_creation_agent() je mesto, kjer se API OpenAI uporablja za ustvarjanje novih nalog na podlagi cilja in rezultata prejšnje naloge. Funkcija ima štiri parametre: cilj, rezultat prejšnje naloge, opis naloge in trenutni seznam nalog. Nato pošlje poziv API-ju OpenAI, ki vrne seznam novih nalog kot nize. Funkcija nato vrne nova opravila kot seznam slovarjev, kjer vsak slovar vsebuje ime opravila.
Funkcija prioritization_agent() je mesto, kjer se API OpenAI uporablja za ponovno določanje prioritet seznama opravil. Funkcija sprejme en parameter, ID trenutne naloge. Pošlje poziv API-ju OpenAI, ki vrne ponovno prednostni seznam opravil kot oštevilčen seznam.
Skripta uporablja Pinecone za shranjevanje in pridobivanje rezultatov nalog za kontekst. Skripta ustvari Pinecone indeks na podlagi imena tabele, določenega v spremenljivki YOUR_TABLE_NAME. Pinecone se nato uporabi za shranjevanje rezultatov opravila v indeksu, skupaj z imenom opravila in vsemi dodatnimi metapodatki.
Za uporabo skripte sledite naslednjim korakom:
git clone https://github.com/yoheinakajima/babyagi.git
in cd
v klonirano repozitorij.pip install -r requirements.txt
cp .env.example .env
. Tukaj nastavite naslednje spremenljivke.Vse izbirne vrednosti zgoraj lahko podate tudi v ukazni vrstici.
Skripta deluje z vsemi modeli OpenAI, pa tudi z Llamo prek Llama.cpp. Privzeti model je gpt-3.5-turbo. Če želite uporabiti drug model, ga določite prek OPENAI_API_MODEL ali uporabite ukazno vrstico (CLI).
Prenesite najnovejšo različico Llama.cpp in sledite navodilom za namestitev. Potrebovali boste tudi uteži za model Llama.
Po tem povežite llama/main
na llama.cpp/main in models
v mapo, kjer imate uteži modela Llama. Nato zaženite skripto z argumentom OPENAI_API_MODEL=llama
ali -l
.
Skripta je zasnovana tako, da se neprekinjeno izvaja kot del sistema za upravljanje opravil. Neprekinjeno izvajanje tega skripta lahko povzroči visoko uporabo API-ja, zato ga uporabljajte odgovorno. Poleg tega skripta zahteva, da sta API-ja OpenAI in Pinecone pravilno nastavljena, zato se prepričajte, da ste nastavili API-je preden zaženete skripto.
BabyAGI je še vedno v povojih, zato še vedno določamo njegovo smer in korake. Trenutno je ključni cilj oblikovanja za BabyAGI biti preprost, tako da ga je enostavno razumeti in graditi na njem. Da bi ohranili to preprostost, vas vljudno prosimo, da pri oddaji PR-jev upoštevate naslednje smernice:
Zapis od @yoheinakajima (5. april 2023):
I know there are a growing number of PRs, appreciate your patience - as I am both new to GitHub/OpenSource, and did not plan my time availability accordingly this week. Re:direction, I’ve been torn on keeping it simple vs expanding - currently leaning towards keeping a core Baby AGI simple, and using this as a platform to support and promote different approaches to expanding this (eg. BabyAGIxLangchain as one direction). I believe there are various opinionated approaches that are worth exploring, and I see value in having a central place to compare and discuss. More updates coming shortly.
Sem (@yoheinkajima) nov uporabnik GitHub-a in odprtokodnih programov ter okolja, zato bodite potrpežljivi, da se naučim pravilno upravljati ta projekt. Podnevi vodim podjetje za tvegani kapital, zato bom ponoči, potem ko spravim svoje otroke, na splošno preverjal PR-je in težave – kar morda ne bo vsako noč. Odprt sem za idejo o zagotavljanju podpore, kmalu bom posodobil ta razdelek (pričakovanja, vizije itd.). Pogovarjam se z veliko ljudmi in se še učim – počakajte na novosti!
BabyAGI je poenostavljena različica izvirnega avtonomnega agenta, ki temelji na opravilih (28. marec 2023), ki je bil predstavljen na Twitterju. Ta različica ima 140 vrstic: 13 komentarjev, 22 presledkov in 105 kode. Ime repozitorija se je pojavilo kot odziv na prvotnega avtonomnega agenta - avtor ne želi namigovati, da je to AGI (splošna umetna inteligenca).
Z ljubeznijo naredil @yoheinakajima, ki je po naključju VC (rad bi videl, kaj gradite!)