BabyAGI is an AI-powered task management system that uses OpenAI and Pinecone APIs to create, prioritize, and execute tasks.
[](docs/README-ru.md) [](README.md)
Bu Python scripti, LLM tabanlı task üretim ve yönetme sistemi odaklı bir çalışmadır. Sistem, istenen konu hakkında taskları oluşturmak, önceliklendirmek ve sorgulamak için OpenAI ve Pinecone API’lerini kullanır. Bu sistemin arkasındaki temel fikir, önceki görevlerin sonuçlarına ve önceden tanımlanmış bir hedefe dayalı görevler oluşturmasıdır. Komut dosyası daha sonra hedefe dayalı yeni görevler oluşturmak için OpenAI’nin doğal dil işleme (NLP) yeteneklerini ve bağlam için görev sonuçlarını depolamak ve almak için Pinecone’u kullanır. Bu çalışma, BabyAGI-twitter.com (28 Mart 2023) paylaşımının basit bir kopyasıdır.
Bu README aşağıdakileri kapsayacaktır:
Script, aşağıdaki adımları gerçekleştiren sonsuz bir döngü çalıştırarak çalışır:
task_creation_agent() işlevi, önceki görevin amacına ve sonucuna dayalı olarak yeni görevler oluşturmak için OpenAI’nin API’sinin kullanıldığı yerdir. İşlev dört parametre alır: amaç, önceki görevin sonucu, görev açıklaması ve geçerli görev listesi. Ardından, OpenAI’nin API’sine yeni görevlerin bir listesini dizeler olarak döndüren bir bilgi istemi gönderir. İşlev daha sonra yeni görevleri, her bir sözlüğün görevin adını içerdiği bir sözlük listesi olarak döndürür.
Prioritization_agent() işlevi, görev listesini yeniden önceliklendirmek için OpenAI’nin API’sinin kullanıldığı yerdir. İşlev, geçerli görevin kimliği olan bir parametre alır. OpenAI’nin API’sine, yeniden önceliklendirilen görev listesini numaralı bir liste olarak döndüren bir bilgi istemi gönderir.
Son olarak, betik, bağlam için görev sonuçlarını depolamak ve almak için Pinecone’u kullanır. Komut dosyası, YOUR_TABLE_NAME değişkeninde belirtilen tablo adını temel alan bir Çam Kozası dizini oluşturur. Çam kozası daha sonra görevin sonuçlarını, görev adı ve herhangi bir ek meta veri ile birlikte dizinde depolamak için kullanılır.
Scripti kullanmak için şu adımları izlemeniz gerekir:
git clone https://github.com/yoheinakajima/babyagi.git
ve cd
aracılığıyla repoyu lokal bilgisayarınıza kopyalayın.pip install -r requirements.txt
cp .env.example .env
. Aşağıdaki değişkenleri ayarlayacağınız yer burasıdır.Bu script, tüm OpenAI modellerinin yanı sıra Llama.cpp aracılığıyla Llama modelleri ile de çalışmaktadır. Varsayılan olarak temelde çalışan model gpt-3.5-turbo‘dur. Farklı bir model kullanmak için OPENAI_API_MODEL üzerinden model ismini belirtmeniz gerekmektedir.
Llama.cpp dosyasının en son sürümünü indirin ve oluşturmak için talimatları izleyiniz. Ek olarak, Llama model-weights dosyasına da ihtiyacınız olacaktır.
Daha sonra llama/main
i llama.cpp/main’e ve models
i Lama model ağırlıklarının olduğu klasöre bağlayın. Ardından scripti OPENAI_API_MODEL=llama
veya -l
argümanı ile çalıştırın.
Bu komut dosyası, bir görev yönetim sisteminin parçası olarak sürekli olarak (for loop mantığı ile) çalıştırılmak üzere tasarlanmıştır. Bu komut dosyasının sürekli olarak çalıştırılması yüksek sayıda API request isteği kullanımına neden olabilir, bu nedenle lütfen kullanım sürenize dikkat ediniz. Ayrıca script, OpenAI ve Pinecone API’lerinin doğru şekilde kurulmasını gerektirir, bu nedenle betiği çalıştırmadan önce API’leri sırasıyla ve düzgün şekilde kurduğunuzdan emin olmanız tavsiye edilmektedir.
BabyAGI henüz emekleme aşamasında olan bir çalışmadır ve bu nedenle hala ileri adımların belirlenmesine ihtiyaç duymaktadır. Şu anda, BabyAGI için en önemli hedefimiz, anlaşılması ve üzerine geliştirilmesi konusunda basit olmaktır. Bu sadeliği korumak için, PR’ları gönderirken aşağıdaki yönergelere uymanızı rica ederiz:
Ana geliştiricinin Twitter’dan paylaştığı güncelleme @yoheinakajima (Apr 5th, 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.
I am new to GitHub and open source, so please be patient as I learn to manage this project properly. I run a VC firm by day, so I will generally be checking PRs and issues at night after I get my kids down - which may not be every night. Open to the idea of bringing in support, will be updating this section soon (expectations, visions, etc). Talking to lots of people and learning - hang tight for updates!
BabyAGI, Twitter’da paylaşılan Task-Driven Autonomous Agent‘nin (28 Mart 2023) sadeleştirilmiş bir sürümüdür. Reponun adı, orijinal otonom aracıya tepki olarak ortaya çıkmıştır ve ana geliştiricimiz, bunun bir AGI olduğunu tam anlamıyla iddia etmemektedir.
Bir VC olan @yoheinakajima tarafından sevgiyle yapılmıştır (ne inşa ettiğinizi görmek ister!)