Terinspirasi oleh babyagi Yoheina Kajima
Repositori Babyagi-Chroma menawarkan solusi penyimpanan vektor gratis, Chroma, yang dijalankan secara lokal. Ini sangat menguntungkan bagi pengguna yang ingin menghindari potensi biaya yang terkait dengan opsi penyimpanan vektor lainnya seperti Pinecone.
Skrip Python ini menampilkan contoh sistem manajemen tugas bertenaga AI yang memanfaatkan Langchain, OpenAi, dan database vektor Chroma untuk membuat, memprioritaskan, dan menjalankan tugas. Sistem ini menciptakan tugas berdasarkan hasil tugas sebelumnya dan tujuan yang telah ditentukan. Script kemudian menggunakan toolkit dan kapabilitas pencarian Openai Natural Processing (NLP) Langchain untuk membuat tugas baru berdasarkan tujuan, sementara Chroma menyimpan dan mengambil hasil tugas untuk konteks. Ini adalah versi yang disederhanakan dari agen otonom yang digerakkan oleh tugas asli (28 Maret 2023).
Readme ini mencakup topik -topik berikut:
Skrip melakukan langkah -langkah berikut dalam loop yang tak terbatas:
Rantai eksekusi memproses tugas yang diberikan dengan mempertimbangkan tujuan dan konteks. Ini memanfaatkan llmchain Langchain untuk melaksanakan tugas. Fungsi execute_task mengambil Chroma Vectorstore, rantai eksekusi, objektif, dan informasi tugas sebagai input. Ini mengambil daftar tugas Kop K dari VectorStore berdasarkan tujuan, dan kemudian menjalankan tugas menggunakan rantai eksekusi, menyimpan hasilnya di VectorStore. Fungsi mengembalikan hasilnya.
Rantai eksekusi tidak secara eksplisit didefinisikan dalam blok kode ini. Namun, itu dilewatkan sebagai parameter untuk execute_task dan dapat didefinisikan secara terpisah dalam kode. Ini adalah contoh dari kelas LLMChain dari Langchain, yang menerima prompt dan menghasilkan respons berdasarkan variabel input yang disediakan.
Kelas TaskCreationChain menggunakan LLMChain untuk membuat tugas baru. Fungsi from_llm mengambil parameter menggunakan promptTemplate dari langchain, mengembalikan daftar tugas baru sebagai string. Kemudian menciptakan instance TaskCreationChain bersama dengan variabel input khusus dan perilaku yang ditentukan.
Kelas TaskProritisasiChain menggunakan LLMChain untuk memprioritaskan tugas. Fungsi from_llm menerima parameter melalui prompttemplate dari langchain, mengembalikan daftar tugas baru sebagai string. Ini kemudian menciptakan instance dari TaskProrityChain bersama dengan variabel input khusus dan perilaku yang ditentukan.
Script memanfaatkan Chroma untuk disimpan, pencarian kesamaan, dan mengambil hasil tugas untuk konteks. Ini membuat indeks chroma berdasarkan nama tabel yang ditentukan dalam variabel TABLE_NAME . Chroma kemudian menyimpan hasil tugas dalam indeks, bersama dengan nama tugas dan metadata tambahan apa pun.
Untuk memanfaatkan skrip, lakukan langkah -langkah berikut:
git clone https://github.com/alexdphan/babyagi-chroma.git dan cd ke dalam direktori yang dikloning.pip install -r requirements.txt.env.example ke .env : cp .env.example .env . Atur variabel berikut dalam file ini.OPENAI_API_KEY dan SERPAPI_API_KEY .TABLE_NAME .OBJECTIVE .INITIAL_TASK .python babyagi-chroma.py .Semua nilai opsional di atas juga dapat ditentukan pada baris perintah.
Script ini berfungsi dengan semua model OpenAI. Model default adalah GPT-3.5 (Text-Davinci-003) . Untuk menggunakan model yang berbeda, jangan ragu untuk memodifikasi kode yang sesuai.
Skrip ini dirancang untuk dijalankan secara terus menerus sebagai bagian dari sistem manajemen tugas. Menjalankan skrip secara terus menerus dapat menghasilkan penggunaan API yang tinggi, jadi silakan gunakan secara bertanggung jawab. Selain itu, skrip mengharuskan OpenAI API dan SERP diatur dengan benar, jadi pastikan bahwa API dikonfigurasi sebelum menjalankan skrip.
Untuk mempertahankan kesederhanaan, mohon patuhi pedoman berikut saat mengirimkan PR:
Dengan biaya penyimpanan vektor yang mahal, tujuannya adalah untuk memberikan opsi penyimpanan gratis saat menggunakan babyagi. Oleh karena itu, contoh template ini menunjukkan menggunakan babyagi dengan chroma.
Babyagi-Chroma adalah versi pared-down dari Babyagi, yang juga merupakan versi sederhana dari agen otonom yang digerakkan oleh tugas asli (28 Maret 2023) yang dibagikan di Twitter.