Solusi berbasis Python yang menggunakan Penalaran Multi-Agen , di mana beberapa agen AI berkolaborasi untuk menghasilkan respons optimal terhadap permintaan pengguna. Dengan mensimulasikan interaksi antar agen dan mengintegrasikan Swarm Framework for Intelligence , sistem ini meningkatkan kemampuan penalaran untuk memberikan jawaban yang akurat dan halus. Agen khusus dapat ditambahkan melalui JSON, memungkinkan Anda menyesuaikan kepribadian, gaya interaksi, dan banyak lagi. Sistem ini memanfaatkan Prompt Caching untuk mengoptimalkan kinerja dan mengurangi latensi dan biaya untuk permintaan berulang.
Skrip Penalaran Multi-Agen menciptakan pengalaman chatbot interaktif di mana beberapa agen AI berkolaborasi melalui proses penalaran terstruktur untuk memberikan jawaban optimal. Setiap agen membawa perspektif dan keahlian yang unik, dan melalui langkah-langkah diskusi, verifikasi, kritik, dan penyempurnaan yang berulang-ulang, mereka berkumpul untuk menghasilkan respons yang akurat dan berkualitas tinggi.
Selain itu, sistem ini mengintegrasikan Swarm Framework for Intelligence untuk meningkatkan kolaborasi antar agen. Swarm memungkinkan agen untuk berkoordinasi secara efisien, memanfaatkan kecerdasan kolektif untuk menyelesaikan tugas-tugas kompleks.
Pengguna juga dapat chatting dengan agen individu . Agen menyadari satu sama lain, termasuk kepribadian dan kebiasaan mereka, dan dapat menjawab pertanyaan tentang satu sama lain, memberikan pengalaman yang kaya dan interaktif.
Kloning repositori :
git clone https://github.com/AdieLaine/multi-agent-reasoning.git
Arahkan ke direktori proyek :
cd multi-agent-reasoning
Instal paket yang diperlukan :
pip install openai colorama tiktoken
Instal Kawanan:
pip install git+ssh://[email protected]/openai/swarm.git
or
pip install git+https://github.com/openai/swarm.git
Lihat repositori GitHub Swarm untuk petunjuk instalasi terperinci.
Setel kunci API OpenAI Anda :
Tetapkan kunci API Anda sebagai variabel lingkungan:
export OPENAI_API_KEY= ' your-api-key-here '
Alternatifnya, Anda dapat mengaturnya langsung di skrip Anda atau menggunakan file .env
.
Jalankan skrip menggunakan Python:
python reasoning.py
Saat menjalankan skrip, Anda akan disajikan dengan menu:
═════════════════════════════════════════════════════════════════════════════════════════════
║ Multi-Agent Reasoning Chatbot ║
═════════════════════════════════════════════════════════════════════════════════════════════
Please select an option:
1. Chat with an agent
2. Use reasoning logic
3. Use Swarm-based reasoning
4. Exit
Enter your choice (1/2/3/4):
Opsi 1: Ngobrol dengan agen
Opsi 2: Gunakan logika penalaran
Opsi 3: Gunakan penalaran berbasis Swarm
Opsi 4: Keluar
Sistem Penalaran Multi-Agen menggunakan model OpenAI tertentu:
o1-preview-2024-09-12
untuk tugas penalaran.gpt-4o
untuk interaksi obrolan dengan agen.gpt-4o
.Model-model ini mendukung fitur-fitur canggih dan pelaporan penggunaan token, memungkinkan sistem untuk memberikan informasi penggunaan token terperinci setelah setiap respons.
Tujuan : Memungkinkan pengguna untuk ngobrol langsung dengan agen yang dipilih.
Contoh :
Inti dari fungsi chatbot terletak pada proses penalaran yang digunakan oleh agen. Proses ini dirancang untuk mensimulasikan lingkungan kolaboratif di mana agen berpikir kritis, memverifikasi fakta, menantang perspektif satu sama lain, dan menyempurnakan tanggapan mereka berdasarkan umpan balik yang konstruktif.
Tujuan : Agen menghasilkan respons awal terhadap perintah pengguna berdasarkan alasan dan pengetahuan masing-masing.
Contoh :
Tujuan : Agen memverifikasi keakuratan dan validitas tanggapan mereka sendiri untuk memastikan kebenaran faktual.
Contoh :
Tujuan : Para agen saling mengkritik tanggapan terverifikasi untuk mengidentifikasi area perbaikan, kelalaian, atau bias.
Contoh :
Tujuan : Agen menyempurnakan tanggapan mereka dengan memasukkan umpan balik dari kritik dan memperbaiki alasan awal mereka.
Contoh :
Tujuan : Menggabungkan tanggapan halus dari semua agen menjadi satu jawaban tunggal, kohesif, dan komprehensif.
blend_responses
.Contoh :
Tujuan : Memasukkan umpan balik pengguna untuk lebih menyempurnakan respons, memastikan kepuasan dan akurasi.
MAX_REFINEMENT_ATTEMPTS
.Contoh :
Tujuan : Memungkinkan percakapan mempertahankan konteks di beberapa perintah pengguna untuk dialog yang koheren.
Contoh :
Integrasi Swarm meningkatkan sistem Penalaran Multi-Agen dengan memungkinkan koordinasi agen dinamis dan delegasi tugas. Swarm memungkinkan agen untuk berkolaborasi secara efisien, memanfaatkan kecerdasan kolektif untuk menyelesaikan tugas-tugas kompleks dan meningkatkan daya tanggap.
Swarm berfokus untuk menjadikan koordinasi dan eksekusi agen menjadi ringan, sangat terkendali, dan mudah diuji. Ia mencapai hal ini melalui dua abstraksi primitif: Agen dan Handoffs . Agen mencakup instruksi dan alat dan dapat, kapan saja, memilih untuk menyerahkan percakapan ke Agen lain.
Inisialisasi Klien Swarm : Sistem menginisialisasi klien Swarm untuk mengelola interaksi agen.
from swarm import Agent , Swarm
client = Swarm ()
Inisialisasi Agen :
agents.json
.Penanganan Percakapan :
Tujuan : Memanfaatkan Swarm Framework for Intelligence untuk mengoordinasikan agen secara dinamis, memungkinkan kolaborasi dan delegasi tugas yang efisien.
Inisialisasi :
agents.json
.Diskusi :
client.run()
Swarm.Verifikasi :
Mengkritik :
Penyempurnaan :
Memadukan Respons :
blend_responses
.Contoh :
Tujuan : Menyediakan antarmuka obrolan yang memanfaatkan kemampuan Swarm untuk interaksi agen yang lancar.
Agen Kawanan untuk Obrolan :
Penanganan Percakapan :
def swarm_chat_interface ( conversation_history ):
# Load Swarm agent's configuration
swarm_agent = ... # Initialize Swarm agent
messages = [{ "role" : "system" , "content" : swarm_agent . instructions }]
messages . extend ( conversation_history )
response = client . run ( agent = swarm_agent , messages = messages )
swarm_reply = response . messages [ - 1 ][ 'content' ]. strip ()
return swarm_reply
Respons Dinamis :
Contoh :
Desain Agen :
Definisi Fungsi :
Variabel Konteks :
Penanganan Kesalahan :
Pengujian :
Apa itu Swarm dan bagaimana cara meningkatkan sistemnya?
Apakah saya perlu memodifikasi agen saya yang sudah ada agar dapat bekerja dengan Swarm?
Agent
. Agen yang ada dapat diadaptasi dengan memasukkan struktur dan konvensi Swarm.Bisakah saya menambahkan lebih banyak agen ke sistem Swarm?
agents.json
dan menginisialisasinya di sistem.Bagaimana cara Swarm menangani serah terima agen?
Apakah Swarm kompatibel dengan model yang digunakan dalam sistem?
gpt-4o
. Caching Cepat meningkatkan efisiensi sistem Penalaran Multi-Agen dengan mengurangi latensi dan biaya saat menangani perintah yang berulang atau panjang. Ia bekerja dengan menyimpan awalan umum terpanjang dari perintah, memungkinkan pemrosesan lebih cepat dari permintaan berikutnya yang menggunakan kembali awalan ini.
Durasi Tembolok :
usage
yang menampilkan detail penggunaan token. "usage" : {
"prompt_tokens" : 2006 ,
"completion_tokens" : 300 ,
"total_tokens" : 2306 ,
"prompt_tokens_details" : {
"cached_tokens" : 1920
},
"completion_tokens_details" : {
"reasoning_tokens" : 0
}
}
cached_tokens
menunjukkan berapa banyak token cepat yang diambil dari cache. Agen dikonfigurasikan melalui file agents.json
, sehingga memudahkan penyesuaian atributnya.
Lokasi : Harus ditempatkan di direktori yang sama dengan skrip reasoning.py
.
Struktur :
{
"agents" : [
{
"name" : " Agent 47 " ,
"system_purpose" : " You are a logical and analytical assistant, focusing on facts and clear reasoning. " ,
"interaction_style" : { ... },
"ethical_conduct" : { ... },
"capabilities_limitations" : { ... },
"context_awareness" : { ... },
"adaptability_engagement" : { ... },
"responsiveness" : { ... },
"additional_tools_modules" : { ... },
"personality" : {
"logical" : " Yes " ,
"analytical" : " Yes " ,
"humor_style" : " ... " ,
"friendly_demeanor" : " ... " ,
"personality_traits" : [ " Methodical " , " Precise " ],
"empathy_level" : " Moderate " ,
"interaction_style_with_humor" : " Dry wit " ,
"quirks" : [ " Uses technical jargon " ]
}
},
{
"name" : " Agent 74 " ,
"system_purpose" : " You are a creative and empathetic assistant, emphasizing imaginative solutions and understanding. " ,
"interaction_style" : { ... },
"ethical_conduct" : { ... },
"capabilities_limitations" : { ... },
"context_awareness" : { ... },
"adaptability_engagement" : { ... },
"responsiveness" : { ... },
"additional_tools_modules" : { ... },
"personality" : {
"creative" : " Yes " ,
"empathetic" : " Yes " ,
"humor_style" : " ... " ,
"friendly_demeanor" : " ... " ,
"personality_traits" : [ " Imaginative " , " Caring " ],
"empathy_level" : " High " ,
"interaction_style_with_humor" : " Playful " ,
"quirks" : [ " Uses metaphors " ]
}
},
{
"name" : " Swarm Agent " ,
"system_purpose" : " You are a collaborative AI assistant composed of multiple expert agents. You coordinate tasks among agents to provide comprehensive and accurate responses. " ,
"interaction_style" : { ... },
"personality" : {
"coordinator" : " Yes " ,
"collaborative" : " Yes " ,
"personality_traits" : [ " Organized " , " Facilitator " ],
"quirks" : [ " Ensures all perspectives are considered " ]
}
}
]
}
Kustomisasi :
Contoh :
Kode ini disusun untuk memfasilitasi proses penalaran dan interaksi obrolan dengan agen. Ini juga menggabungkan Swarm Framework untuk meningkatkan koordinasi agen.
Perpustakaan :
os
, time
, logging
, json
: Untuk operasi sistem, pengaturan waktu, logging, dan penanganan JSON.colorama
: Untuk keluaran konsol berwarna.swarm
: Untuk mengimplementasikan Swarm Intelligence.tiktoken
: Untuk penghitungan token yang akurat (di bagian lain skrip).Inisialisasi :
from swarm import Agent , Swarm
client = Swarm ()
Agen diinisialisasi dari file konfigurasi agents.json
.
Setiap agen dibuat sebagai instance Swarm Agent
dengan instruksi dan atribut spesifik.
Agen disadarkan satu sama lain dengan menambahkan informasi tentang agen lain ke dalam instruksi mereka.
def initialize_swarm_agents ():
# Load agents from agents.json and create Swarm agents
agents = []
# ... Load and initialize agents with awareness of others
return agents
Fungsi : swarm_chat_interface(conversation_history)
Tujuan : Menangani interaksi obrolan dengan agen Swarm.
Proses :
def swarm_chat_interface ( conversation_history ):
# Prepare messages
messages = [{ "role" : "system" , "content" : swarm_agent . instructions }]
messages . extend ( conversation_history )
# Run Swarm client
response = client . run ( agent = swarm_agent , messages = messages )
swarm_reply = response . messages [ - 1 ][ 'content' ]. strip ()
return swarm_reply
Fungsi : run_swarm_reasoning(user_prompt)
Tujuan : Menggunakan agen Swarm untuk berkolaborasi dan merespons permintaan pengguna setelah beberapa tahap penalaran.
Proses :
blend_responses
menggabungkan tanggapan yang telah disempurnakan menjadi jawaban akhir.Pemrosesan Paralel : Swarm memungkinkan agen melakukan langkah-langkah ini secara bersamaan, sehingga meningkatkan efisiensi.
Contoh Fungsi Blending :
def blend_responses ( agent_responses , user_prompt ):
# Prepare combined prompt
combined_prompt = ...
# Initialize Blender agent
blender_agent = Agent (
name = "Swarm Agent" ,
instructions = "You are a collaborative AI assistant composed of multiple expert agents."
)
# Run blending process
response = client . run ( agent = blender_agent , messages = [{ "role" : "user" , "content" : combined_prompt }])
blended_reply = response . messages [ - 1 ][ 'content' ]
return blended_reply
swarm_middle_agent_interface(user_prompt)
:run_swarm_reasoning
dengan perintah pengguna.swarm_chat_interface(conversation_history)
:Di bawah ini adalah diagram alur yang diperbarui yang mencerminkan logika baru, termasuk mode obrolan, kesadaran agen satu sama lain, transparansi penggunaan token, cache cepat, dan integrasi Swarm:
Kontribusi dipersilakan! Untuk berkontribusi:
Proyek ini dilisensikan di bawah Lisensi MIT.
Untuk menyiapkan repositori GitHub:
Buat repositori baru di GitHub bernama multi-agent-reasoning
.
Tambahkan file README.md
dengan konten ini.
Sertakan skrip reasoning.py
di direktori root.
Sertakan file agents.json
di direktori root.
Buat file .gitignore
untuk mengecualikan file yang tidak diperlukan:
# Exclude log files
reasoning.log
swarm_middle_agent.log
# Exclude environment files
.env
# Python cache
__pycache__ /
* .py [ cod ]
Komit dan dorong file ke GitHub.
multi-agent-reasoning/
├── README.md
├── reasoning.py
├── swarm_middle_agent.py
├── agents.json
├── LICENSE
├── .gitignore
└── img/
├── reasoningbanner.png
├── reasoningflow.png
├── agents.png
└── promptcache.png
└── swarm.png
Jangan ragu untuk menjelajahi kode, menyesuaikan agen, dan terlibat dengan chatbot Multi-Agent Reasoning!
Jika Anda memiliki pertanyaan atau memerlukan bantuan, silakan buka terbitan di GitHub.