Perencana HTN secara otomatis menghasilkan rencana terperinci yang memanfaatkan GPT OpenAI dan arsitektur Hierarchical Task Network (HTN). Sistem ini menghasilkan tugas untuk mencapai tujuan menggunakan LLM dan kemudian secara iteratif menguraikannya menjadi subtugas yang dapat dieksekusi.
Untuk hasil terbaik, gunakan GPT-4, meskipun OpenSource LLMS lainnya mungkin cukup dengan modifikasi pada API
Komponen :
- Dekomposisi - Mengambil tugas dan menguraikannya menjadi subtugas sampai kedalaman maksimal tercapai atau rencana gagal. Sistem ini melacak dekomposisi kandidat dan upaya untuk memilih opsi terbaik. Mungkin keluar lebih awal jika hasilnya bagus.
- Perencanaan ulang-Ketika perencanaan gagal atau bagian dari suatu rencana gagal, perencanaan ulang terjadi
- Eksekusi Tugas - Mengidentifikasi tugas sebagai unit yang dapat dieksekusi
- Saat ini tugas tidak benar -benar dieksekusi di terminal
- Pelacakan Negara - LLM melacak dan memperbarui negara saat eksekusi terjadi
- Teks Parsing - Parsi dan Ekstrak Informasi dari Respons Bahasa Alami yang Diproduksi oleh LLM
- Tugas Terjemahan - Upaya untuk menerjemahkan tugas tingkat rendah ke dalam perintah atau sepotong kode yang dapat dieksekusi.
- Frontend - Frontend Bereaksi Sederhana Untuk Menampilkan Hirarki yang Mewakili Rencana
- Prompt Evolver - Aplikasi yang dirancang untuk secara otomatis menghasilkan petunjuk menggunakan algoritma evolusioner
- Seleksi dilakukan dengan menggunakan
roulette wheel selection - Mutasi dilakukan oleh LLM
- Rekombinasi dilakukan oleh LLM menggunakan hasil seleksi
- Kebugaran ditentukan oleh LLM dan dinormalisasi menggunakan skor-Z sehingga hasilnya dapat dibandingkan dengan menggunakan standar deviasi
- Topologi Lingkungan adalah grid toroidal 2D yang menyesuaikan dengan optimasi lokal atau global secara dinamis
- Log - Berbagai macam log dihasilkan di folder "log" dan jejak fungsi dapat ditemukan di "function_trace.log"
- function_trace.log - melacak semua panggilan fungsi dijelaskan dengan "@trace_function_calls"
- Log dalam folder "log" masing-masing melacak sub-sistem tertentu menggunakan fungsi "log_response"
- Parsing_errors - melacak masalah apa pun dengan parsing output dari LLM sehingga pembaruan dapat dilakukan ke parser untuk memperbaiki masalah
- state_changes - melacak transisi negara dari waktu ke waktu yang dihasilkan oleh LLM berdasarkan informasi yang dimilikinya
TODO :
- Simpan potongan -potongan rencana yang sukses di DB vektor untuk digunakan nanti dan mengurangi biaya pembangkitan
- Terus meningkatkan penguraian teks untuk menangani lebih banyak kasus tepi
- Lebih banyak pasca-pemrosesan
- Mengevaluasi kembali prasyarat sebagai persyaratan untuk eksekusi tugas
Instalasi :
Backend
- Atur Variabel Lingkungan
OPENAI_KEY ke Kunci API OpenAI Anda - Instal dependensi
- Jalankan
pip install -r requirements.txt
- Jalankan aplikasi perencanaan
-
python src/main.py - Masukkan keadaan awal
- Ini adalah informasi apa pun yang Anda ingin sistem ketahui sebelum mulai perencanaan
- Anda mungkin
None memasukkan atau tidak sama sekali dalam input ini
- Jelaskan tujuan Anda
- Memasuki tujuan yang direncanakan sistem untuk mencapai
- Mis:
eat a ham sandwich
- Kemampuan default
- Ini adalah alat yang dapat dipertimbangkan oleh perencana saat membuat rencana
- Default ini ke
Linux terminal, internet access , Anda bisa menekan enter untuk menggunakan ini
- Pilih Perencana
- Opsi untuk membuat paket menggunakan berbagai jenis algoritma perencanaan. Opsi seperti, perencana HTN dan perencana pencarian*.
- Ini default untuk menggunakan perencana HTN
- Jalankan Aplikasi Evolver Prompt
-
python src/prompt_evolver.py - Masukkan ke dalam gawang atau masalah yang Anda inginkan diminta yang dirancang.
Frontend:
- Masuk ke direktori frontend
- Mulai frontend
Kredit :
Referensi :
- Htn
- Dokumen
- https://arxiv.org/pdf/1106.4869.pdf
- https://arxiv.org/pdf/1403.7426.pdf
- https://www.cs.umd.edu/~nau/papers/nau2021gtpyhop.pdf
- Buku
- Perencanaan Otomatis, Teori dan Praktik (2008) oleh Malik Ghallab, Dana Nau, Paolo Traverso (Bab 11)
- Implementasi dan Dokumentasi
- https://www.cs.umd.edu/projects/shop/description.html
- https://github.com/ptrefall/fluid-hierarchical-task-network
- https://github.com/maksmaisak/htn
- https://maksmaisak.github.io/htn/front.html
- https://github.com/dananau/gtpyhop
- Video
- https://www.youtube.com/watch?v=7l3tcofmr7w
- https://www.youtube.com/watch?v=mypf9_5wvlm
- https://www.youtube.com/watch?v=7rhi4fwljw4
- https://www.youtube.com/watch?v=KXM467TFTCY
- https://www.youtube.com/watch?v=XXUSFBVQuly