Mengoptimumkan sistem berasaskan ejen: menstrukturkan input dan output untuk prestasi yang dipertingkatkan
Mahu meningkatkan prestasi sistem berasaskan ejen anda? Strategi utama dengan teliti menstrukturkan kedua -dua input dan output pertengahan yang ditukar antara agen. Artikel ini memperincikan cara mengatur input, menggunakan ruang letak untuk pemindahan data, dan output struktur untuk memastikan setiap ejen menyampaikan hasil yang diharapkan. Dengan mengoptimumkan unsur -unsur ini, anda akan mencapai hasil yang lebih konsisten dan boleh dipercayai dari sistem Agentic anda. Sistem Agentik memanfaatkan pelbagai ejen yang berkolaborasi, berkomunikasi, dan menyelesaikan masalah penyelesaian melebihi LLM individu. Panduan ini menggunakan Crewai, Model Pydantic, dan JSON untuk struktur output (dan input) dalam konteks pelbagai agen.
Model Pydantic, yang disediakan oleh Perpustakaan Pydantic, adalah objek Python yang direka untuk parsing data dan pengesahan. Mereka membolehkan penciptaan kelas python (model) yang secara automatik mengesahkan data apabila instantiasi, memastikan data input sepadan dengan jenis dan kekangan yang dijangkakan. Ini memastikan pengendalian data berstruktur yang boleh dipercayai.
Ciri -ciri utama:
Ciri | Penerangan |
---|---|
Pengesahan data | Mengesahkan data input terhadap jenis yang dijangkakan (contohnya, int , str , list ) dan peraturan tersuai. |
Penukaran jenis automatik | Secara automatik menukar jenis data yang serasi (misalnya, "2024-10-27" ke datetime.date ). |
Serialization data | Siri data ke dalam format seperti JSON, memudahkan interaksi API. |
Nilai lalai | Membolehkan medan pilihan atau nilai lalai untuk pengendalian input fleksibel. |
Mari kita buat UserModel
yang mewarisi dari BaseModel
Pydantic. Kelas instantiated memerlukan id
integer, name
rentetan, dan alamat e -mel.
dari basemodel import pydantic Kelas Usermodel (Basemodel): ID: int Nama: Str E -mel: Str # Input yang sah valid_user = usermodel (id = 1, name = "vidhya", email = "vidhya@example.com") cetak (valid_user) # Input tidak sah (menimbulkan ralat pengesahan) Cuba: Invalid_user = userModel (id = "one", name = "vidhya", email = "vidhya@example.com") Kecuali ValueError sebagai E: cetak (f "ralat pengesahan: {e}")
Ini menunjukkan pengendalian kesilapan Pydantic apabila jenis data yang salah disediakan.
Mari kita meneroka ciri nilai pilihan, tarikh, dan lalai:
dari basemodel import pydantic dari menaip import pilihan dari tarikh import datetime Kelas EventModel (BaseModel): event_name: pilihan [str] = tiada # medan pilihan event_loc: str = "India" # nilai lalai event_date: tarikh # Penukaran automatik event = eventModel (event_date = "2024-10-27") Cetak (acara)
Ini mempamerkan bidang pilihan dan penukaran jenis automatik.
Pasang Crewai:
PIP Pasang Crewai
Input diformat dalam pendakap keriting {}
menggunakan nama berubah apabila menentukan ejen dan tugas. Menetapkan human_input=True
mendorong pengguna untuk maklum balas output. Berikut adalah contoh ejen dan tugas untuk menjawab soalan fizik:
dari ejen import krew, tugas, krew Import OS os.environ ['openai_api_key'] = '' # gantikan dengan kunci anda os.environ ['openai_model_name'] = 'gpt-4o-mini-2024-07-18' # atau model pilihan anda # ... (ejen dan definisi tugas seperti dalam contoh asal) ...
Input diluluskan melalui parameter inputs
dalam crew.kickoff()
.
Mari buat ejen untuk mengumpul butiran pengguna (nama, e -mel, telefon, pekerjaan). Penstrukturan output sebagai model Pydantic atau JSON mentakrifkan format output yang dijangkakan, memastikan ejen berikutnya menerima data berstruktur.
dari basemodel import pydantic dari menaip senarai import # ... (definisi model Pydantic seperti dalam contoh asal) ... # ... (ejen dan definisi tugas seperti dalam contoh asal, menggunakan output_pydantic dan output_json) ...
Ejen akhir menggabungkan semua butiran, menyimpan output ke fail menggunakan output_file
.
Artikel ini menekankan pentingnya penstrukturan input dan output dalam sistem multi-agen menggunakan Pydantic dan Crewai. Data berstruktur dengan baik meningkatkan prestasi, kebolehpercayaan, dan menghalang kesilapan. Strategi ini membina sistem agensi yang lebih mantap untuk tugas -tugas yang kompleks.
Q1. Apakah sistem berasaskan ejen? Sistem berasaskan ejen menggunakan pelbagai ejen yang bekerjasama untuk menyelesaikan masalah, melebihi keupayaan LLM tunggal.
S2. Apa itu Crewai? Crewai adalah rangka kerja untuk menguruskan sistem agentik, menyelaraskan kerjasama ejen dan pengendalian data.
Q3. Bagaimana cara memasukkan imej di Crewai? Satu kaedah adalah untuk menyediakan URL imej sebagai pemboleh ubah input.
Q4. Apakah model pydantic? Model Pydantic mengesahkan dan bersiri data, memastikan integriti data dalam sistem berasaskan ejen.
S5. Bagaimana cara struktur output menggunakan pydantic? Tentukan bidang output yang dijangkakan dalam model Pydantic untuk memastikan pemformatan data yang konsisten untuk ejen berikutnya.
Atas ialah kandungan terperinci Menstrukturkan input & output dalam sistem ejen pelbagai menggunakan Crewai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!