Dalam tutorial ini, Anda akan membangun sistem multi-agen lokal sepenuhnya dengan IBM® Granite dengan menggunakan BeeAI di Python. Agen-agen ini akan berkolaborasi untuk menegosiasikan perjanjian kontrak untuk layanan penataan lanskap antara dua perusahaan dengan mempertimbangkan tren pasar dan batasan anggaran internal. Alur kerja akan terdiri dari agen penasihat anggaran, agen penyusun kontrak, agen pencarian web, dan agen penasihat pengadaan. Mengingat kontrak, data anggaran, industri layanan, dan nama perusahaan yang disediakan oleh pengguna, agen berkolaborasi untuk menghasilkan email untuk menegosiasikan persyaratan kontrak yang menguntungkan klien.
BeeAI yang diluncurkan oleh IBM Research dan kini disumbangkan ke Linux Foundation, adalah platform AI agen sumber terbuka yang memungkinkan pengembang untuk membangun agen AI dari kerangka kerja apa pun.1
Agen kecerdasan buatan (AI) merujuk pada sistem atau program yang dibangun menggunakan model bahasa besar (LLM) untuk secara mandiri melaksanakan tugas atas nama pengguna atau sistem lain dengan merancang alur kerjanya dan memanfaatkan alat yang tersedia. Agen AI lebih canggih daripada chatbot LLM tradisional karena mereka dapat mengakses alat yang telah ditentukan sebelumnya, merencanakan tindakan pada masa depan, dan memerlukan sedikit atau tanpa intervensi manusia untuk memecahkan dan mengotomatiskan masalah yang kompleks.
Pendahulu BeeAI adalah Kerangka Kerja Bee Agent, kerangka kerja sumber terbuka khusus untuk membangun agen LLM tunggal. Sebaliknya, BeeAI menyediakan ekosistem yang lebih canggih untuk membangun dan mengatur alur kerja multiagen.
BeeAI adalah:
Panduan langkah demi langkah ini dapat ditemukan di repositori GitHub kami dalam bentuk Jupyter Notebook.
Pertama-tama, kita perlu menyiapkan lingkungan kita dengan memenuhi beberapa prasyarat.
1. Dalam tutorial ini, kita tidak akan menggunakan antarmuka pemrograman aplikasi (API) seperti yang tersedia di IBM® watsonx.ai dan OpenAI. Sebagai gantinya, kita dapat menginstal versi terbaru Ollama untuk menjalankan model secara lokal.
Cara termudah untuk menginstal Ollama untuk macOS, Linux dan Windows adalah melalui halaman web mereka: https://ollama.com/download. Langkah ini akan menginstal aplikasi bilah menu untuk menjalankan server Ollama di latar belakang dan membuat Anda tetap mendapatkan informasi terbaru tentang rilis terbaru.
Sebagai alternatif, Anda dapat menginstal Ollama dengan homebrew di terminal Anda:
Jika menginstal dari brew, atau membangun dari sumber, Anda perlu mem-boot server pusat:
2. Ada beberapa LLM yang mendukung pemanggilan alat seperti model Llama terbaru dari Meta dan model Mistral dari Mistral AI. Untuk tutorial ini, kita akan menggunakan model sumber terbuka Granite 3.3 IBM. Model ini memiliki fitur penalaran yang ditingkatkan dan kemampuan mengikuti instruksi.3 Ambil model Granite 3.3 terbaru dengan menjalankan perintah berikut di terminal Anda.
3. Untuk menghindari konflik dependensi paket, mari kita siapkan lingkungan virtual. Untuk membuat lingkungan virtual dengan Python versi 3.11.9, jalankan perintah berikut di terminal Anda.
Kemudian, untuk mengaktifkan lingkungan, jalankan:
4. File
Untuk menginstal paket-paket ini, jalankan perintah berikut di terminal Anda.
5. Buat file Python baru berjudul
Di bagian atas file Python baru, sertakan pernyataan impor untuk pustaka dan modul yang diperlukan.
Dalam metode utama asinkron menggunakan
Untuk visual alur kerja agen, lihat diagram berikut.
Kita akan merakit setiap komponen alur kerja ini dalam langkah-langkah berikut.
Alur kerja kita bergantung pada input pengguna. Input awal yang diperlukan adalah nama perusahaan klien dan kontraktor. Pengguna akan diminta dengan teks berikut setelah eksekusi alur kerja di langkah selanjutnya. Tambahkan kode berikut ke metode utama.
Kita juga akan membutuhkan nama-nama file yang berisi laporan anggaran perusahaan klien,
Dalam kode berikut, kita juga memverifikasi ekstensi file untuk membantu memastikan bahwa ekstensi file selaras dengan format yang kita siapkan. Jika ada jenis file yang salah, pengguna akan diminta untuk mencoba lagi.
Input terakhir yang diperlukan adalah industri dari layanan yang dijelaskan dalam kontrak. Input ini dapat berupa keuangan, konstruksi, atau lainnya.
Alat pertama yang dapat kita bangun dalam sistem multi-agen kita adalah untuk agen penasihat anggaran. Agen ini bertanggung jawab untuk membaca data anggaran klien. Fungsi yang diberikan kepada agen adalah
Sekarang, mari kita mengatur kekuatan pendorong agen, fungsi
Untuk membantu memastikan penggunaan alat ini dengan tepat, gunakan kelas
Kita dapat menyelesaikan inisialisasi alat pertama menggunakan adaptor LangChain di BeeAI, yaitu LangChainTool.
Alat berikutnya yang bisa kita bangun adalah untuk agen synthesizer kontrak. Agen ini bertanggung jawab untuk membaca kontrak antara klien dan kontraktor. Fungsi yang diberikan kepada agen adalah
Pada langkah ini, kita dapat menambahkan berbagai agen ke alur kerja. Mari kita berikan alat khusus yang sesuai untuk penasihat anggaran dan agen synthesizer kontrak. Kita juga dapat mengatur nama agen, peran, instruksi, daftar alat, dan LLM.
Untuk mencari tren pasar dalam industri yang relevan di web, kita dapat membuat agen dengan akses ke
Agen keempat dan terakhir dalam sistem multi-agen kita adalah penasihat pengadaan. Agen ini bertanggung jawab untuk menggunakan informasi yang diambil dan disintesis oleh agen lain untuk membuat email yang meyakinkan kepada perusahaan kontraktor untuk kepentingan klien. Email tersebut harus mempertimbangkan tren pasar dan batasan anggaran internal klien untuk menegosiasikan persyaratan kontrak. Agen ini tidak memerlukan alat eksternal tetapi dijalankan oleh instruksinya.
Kita sekarang dapat menyelesaikan metode utama kita dengan semua kode kita sejauh ini. Di bagian akhir metode utama, kita dapat menyertakan eksekusi alur kerja agen. Dengan kata kunci
Untuk contoh kontrak dan data anggaran serta skrip final, lihat repositori GitHub kami. Untuk menjalankan proyek, kita dapat menjalankan perintah berikut di terminal.
Gunakan sampel input pengguna ini:
Teks berikut menggambarkan contoh output yang kita terima setelah menjalankan alur kerja multi-agen ini.
Output:
- > Langkah 'Budget Advisor' telah selesai dengan hasil sebagai berikut.
Anggaran Perusahaan A untuk periode tersebut menunjukkan varians total -12.700 USD. Varians terbesar ada pada Gaji Karyawan (-5000 USD), Iklan Online (-3000 USD), Iklan Cetak (-2000 USD), dan Pemeliharaan dan Perbaikan (-1000 USD). Ada juga varians yang lebih kecil dalam Sewa, Listrik, Air, Penataan Lanskap, dan Layanan Kebersihan. - > Langkah 'Contract Synthesizer' telah selesai dengan hasil sebagai berikut.
Kontrak antara Perusahaan A dan Perusahaan B adalah untuk layanan penataan lanskap di properti klien di Delaware. Total pembayaran yang harus dilakukan oleh Perusahaan A adalah 5.500 USD setelah penyelesaian pekerjaan. Kedua belah pihak telah sepakat untuk mematuhi hukum dan peraturan yang berlaku di Delaware.
- > Langkah 'Web Search' telah selesai dengan hasil sebagai berikut.
Subjek: Proposal Negosiasi untuk Layanan Penataan Lanskap
Tim Perusahaan B yang terhormat,
Salam sejahtera untuk Anda.
Setelah dengan cermat meninjau data anggaran internal kami dan tren pasar di industri penataan lanskap, kami telah mengidentifikasi area yang kami yakini memerlukan penyesuaian agar lebih selaras dengan kendala keuangan kami sambil tetap mempertahankan standar layanan berkualitas tinggi.
Lingkup Pekerjaan: Kami mengusulkan pengurangan ruang lingkup pekerjaan, dengan fokus pada layanan penting yang secara langsung berdampak pada daya tarik trotoar dan nilai properti. Hal ini dapat mencakup pemangkasan pohon, pemangkasan semak, dan pemeliharaan rumput, dengan selingan tanaman warna-warni untuk meningkatkan daya tarik visual.
Ketentuan Pembayaran: Mengingat tren pasar saat ini yang menunjukkan sedikit penurunan biaya penataan lanskap karena meningkatnya persaingan, kami mohon Anda mempertimbangkan kembali jumlah total pembayaran. Kami mengusulkan pembayaran total yang direvisi sebesar 4.800 USD setelah penyelesaian pekerjaan, yang mencerminkan pengurangan sebesar 12%.
Waktu: Untuk mengoptimalkan alokasi sumber daya dan meminimalkan gangguan pada operasi kami, kami menyarankan untuk memperpanjang jadwal proyek hingga dua minggu. Penyesuaian ini akan memungkinkan kami untuk mengelola kendala anggaran internal kami dengan lebih baik tanpa mengorbankan kualitas layanan.
Kami percaya bahwa penyesuaian ini akan memungkinkan kedua belah pihak untuk mencapai hasil yang saling menguntungkan dengan tetap mematuhi hukum dan peraturan yang berlaku di Delaware. Kami menghargai pengertian Anda dan terbuka untuk berdiskusi lebih lanjut untuk mencapai kesepakatan yang sesuai dengan tren pasar saat ini dan batasan anggaran internal kami.
Terima kasih atas perhatian Anda terhadap masalah ini. Harap beri tahu kami jika penyesuaian yang diusulkan ini dapat diterima, atau jika Anda memiliki proposal balasan.
Salam hormat
[Nama Anda]
Perusahaan A
- > Langkah 'Procurement Advisor' telah selesai dengan hasil sebagai berikut.
Jawaban akhir telah dikirim ke Perusahaan B, mengusulkan revisi total pembayaran sebesar 4.800 USD setelah pekerjaan selesai, yang mencerminkan pengurangan sebesar 12%. Proposal ini juga mencakup ruang lingkup pekerjaan yang dikurangi dan waktu proyek yang diperpanjang.
Email terakhir: Jawaban akhir telah dikirim ke Perusahaan B, mengusulkan revisi total pembayaran sebesar 4.800 USD setelah pekerjaan selesai, yang mencerminkan pengurangan 12%. Proposal ini juga mencakup ruang lingkup pekerjaan yang dikurangi dan waktu proyek yang diperpanjang.
Terbukti, agen dengan tepat menggunakan alat bantu yang tersedia untuk membaca dan memadukan data kontrak dan anggaran untuk kemudian menyusun email yang efektif untuk menegosiasikan ketentuan kontrak demi kepentingan klien. Kita dapat melihat output dari setiap agen dalam alur kerja dan pentingnya peran masing-masing agen. Detail utama seperti ruang lingkup pekerjaan penataan lanskap, ketentuan pembayaran, dan jadwal kontrak disorot dalam email. Kita juga dapat melihat bahwa negosiasi memanfaatkan tren pasar dalam penataan lanskap untuk kepentingan klien juga. Akhirnya, total pembayaran yang direvisi sebesar 4.800 USD yang diusulkan dalam email tersebut sesuai dengan anggaran penataan lanskap klien sebesar 5.200 USD. Bagus sekali!
Dengan tutorial ini, Anda membangun beberapa agen BeeAI, masing-masing dengan alat khusus. Setiap agen memiliki peran penting dalam contoh penggunaan sistem manajemen kontrak. Langkah selanjutnya dapat mencakup menjelajahi berbagai repositori GitHub yang tersedia di organisasi GitHub i-am-bee dan membangun lebih banyak alat khusus. Dalam repositori, Anda juga akan menemukan buku catatan Python pemula untuk lebih memahami komponen inti BeeAI seperti
Bantu pengembang untuk membangun, menerapkan, dan memantau agen AI dengan studio IBM watsonx.ai.
Ciptakan produktivitas inovatif dengan salah satu rangkaian kemampuan paling komprehensif di industri untuk membantu bisnis membangun, menyesuaikan, dan mengelola agen dan asisten AI.
Raih penghematan biaya lebih dari 90% dengan model Granite yang lebih kecil dan terbuka, yang dirancang untuk efisiensi pengembang. Model yang sesuai dengan kebutuhan perusahaan ini memberikan kinerja luar biasa terhadap tolok ukur keamanan dan di berbagai tugas perusahaan, mulai dari keamanan siber hingga RAG.