Roy adalah alternatif ringan selain autogen
untuk mengembangkan sistem multi-agen tingkat lanjut menggunakan model bahasa. Hal ini bertujuan untuk menyederhanakan dan mendemokratisasi pengembangan kecerdasan kolektif yang muncul.
Model Agnostic : Gunakan LLM apa pun, tidak diperlukan API eksternal. Defaultnya adalah model wizard-coder-python terkuantisasi 4-bit untuk efisiensi.
Modular dan Dapat Dikomposisi : Roy menguraikan interaksi agen menjadi blok penyusun yang dapat digunakan kembali - membuat templat, mengambil, menghasilkan, mengeksekusi.
Transparan dan Dapat Disesuaikan : Setiap metode memiliki tujuan yang jelas. Tukar komponen dengan mudah atau tambahkan kemampuan baru.
git clone https://github.com/JosefAlbers/Roy
cd Roy
pip install -r requirements.txt
pip install -U transformers optimum accelerate auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/
from roy import Roy
roy = Roy ()
Gunakan templat untuk menyusun percakapan dan memberikan konteks.
s = 'What date is today? Which big tech stock has the largest year-to-date gain this year? How much is the gain?'
roy . generate ( roy . format ( s ))
Meningkatkan generasi dengan pengetahuan yang relevan.
s = 'Create a text to image generator.'
r = roy . retrieve ( s , n_topk = 3 , src = 'huggingface' )
[ roy . generate ( s ) for s in r ]
Agen berkolaborasi secara ketat untuk menyempurnakan keluaran sesuai spesifikasi secara berulang.
# Iterative multiturn chat style
s = "Create a secure and unique secret code word with a Python script that involves multiple steps to ensure the highest level of confidentiality and protection. n "
for i in range ( 2 ):
c = roy . generate ( s , prohibitions = [ 'input' ])
s += roy . execute ( c )
Tolok ukur dan ulangi arsitektur model Anda dengan mudah:
Komponen Tukar : Model bahasa, format prompt, arsitektur agen, dll.
Tes pada Beragam Tugas : Aritmatika, pengkodean python, HumanEval OpenAI, dll.
Kuantifikasi Peningkatan : Lihat bagaimana setiap perubahan memengaruhi kinerja secara keseluruhan.
from human_eval import evaluate
evaluate ( roy . generate )
Roy bertujuan untuk memfasilitasi munculnya sistem multi-agen yang kompleks dan adaptif. Hal ini mengambil inspirasi dari konsep biologis dan AI untuk memungkinkan koordinasi terdesentralisasi dan pembelajaran berkelanjutan.
Survival of the Fittest - Evaluasi secara berkala dan pertahankan secara selektif agen berkinerja tinggi berdasarkan akurasi, kecepatan, dll. Agen beradaptasi melalui interaksi rekan.
Campuran Pakar - Menunjuk keahlian agen, membentuk tim spesialis secara dinamis, dan mengarahkan tugas ke pakar yang optimal. Terus menyempurnakan dan menambah tenaga ahli.
Mekanisme ini memfasilitasi munculnya kolektif agen yang mampu, adaptif, dan efisien.
Primitif yang fleksibel untuk membangun ekosistem agen.
from roy import Roys
roys = Roys ()
# AutoFeedback
roys . create ( agents = { 'Coder' : 'i = execute(generate(i))' })
roys . start ( requests = { 'i' : 'Create a mobile application that can track the health of elderly people living alone in rural areas.' })
# Retrieval Augmented Generation
roys . create (
agents = {
'Retriever' : 'r = retrieve(i)' ,
'Generator' : 'o = generate(r)' ,
})
roys . start ( requests = { 'i' : 'Create a Deutsch to English translator.' })
# Providing a custom tool to one of the agents using lambda
roys . create (
agents = {
'Coder' : 'c = generate(i)' ,
'Proxy' : 'c = custom(execute(c))' ,
},
tools = { 'custom' : lambda x : f'Modify the code to address the error encountered: n n { x } ' if 'Error' in x else None })
roys . start ( requests = { 'i' : 'Compare the year-to-date gain for META and TESLA.' })
Roy sedang dalam pengembangan aktif. Kami menyambut baik kontribusi - jangan ragu untuk membuka terbitan dan PR!
Jika menurut Anda proyek ini bermanfaat atau menarik dan ingin mendukung lebih banyak eksperimen ini, silakan belikan saya kopi!