Bina Pengaturcara Pasangan AI dengan Crewai - Analytics Vidhya
Apr 09, 2025 am 09:30 AMPengenalan
Permintaan untuk pembangunan perisian yang cekap memacu penggunaan kecerdasan buatan sebagai rakan pengaturcaraan yang berharga. Pembantu pengekodan berkuasa AI sedang merevolusikan pembangunan dengan memudahkan penulisan kod, debugging, dan pengoptimuman, seperti pengaturcara pasangan manusia. Artikel ini menunjukkan membina pengaturcara pasangan AI menggunakan ejen krew untuk menyelaraskan tugas pengekodan dan meningkatkan produktiviti pemaju.
Gambaran Keseluruhan
Panduan ini merangkumi:
- Memahami peranan Crewai dalam membantu tugas pengekodan.
- Mengenal pasti komponen utama: ejen, tugas, alat, dan krew, dan interaksi mereka.
- Pengalaman praktikal menyediakan ejen AI untuk penjanaan kod dan semakan.
- Mengkonfigurasi pelbagai ejen AI untuk pengekodan kerjasama.
- Menggunakan Crewai untuk menilai dan mengoptimumkan kualiti kod.
Jadual Kandungan
- Contoh kualitatif NVLM 1.0 D 74B
- Perbandingan NVLM dengan LLM lain
- Batasan LLM multimodal lain
- Menangani batasan tersebut
- NVLM: Kaedah Model dan Latihan
- Data latihan
- Hasilnya
- Mengakses NVLM D 72B
- Mengimport perpustakaan yang diperlukan
- Model sharding
- Preprocessing imej
- Jubin imej dinamik
- Memuatkan dan memproses gambar
- Memuat dan menggunakan model
- Perbualan teks dan gambar
- Soalan yang sering ditanya
Keupayaan pengaturcara pasangan AI
Pengatur pasangan AI menawarkan beberapa kelebihan:
- Penjanaan Kod: Menjana kod untuk masalah yang diberikan menggunakan satu ejen AI dan mengkaji semula dengan yang lain.
- Peningkatan Kod: Menilai kod sedia ada berdasarkan kriteria yang ditentukan.
- Pengoptimuman Kod: Permintaan Kod Penambahbaikan, seperti menambah komen atau docstrings.
- Debugging: Menerima cadangan untuk menyelesaikan kesilapan kod.
- Penjanaan kes ujian: Menjana kes ujian untuk pelbagai senario, termasuk pembangunan yang didorong oleh ujian.
Artikel ini memberi tumpuan kepada dua keupayaan pertama.
Apa itu Crewai?
Crewai adalah rangka kerja untuk mewujudkan ejen AI. Komponen utamanya ialah:
- Ejen: Ejen menggunakan model bahasa yang besar (LLM) untuk menghasilkan output berdasarkan arahan input. Ia berinteraksi dengan alat, menerima input pengguna, dan berkomunikasi dengan ejen lain.
- Tugas: Menentukan objektif ejen, termasuk keterangan, ejen, dan alat yang boleh digunakan.
- Alat: Ejen menggunakan alat untuk tugas seperti carian web, bacaan fail, dan pelaksanaan kod.
- Krew: Sekumpulan ejen yang bekerjasama dalam tugas, menentukan interaksi, perkongsian maklumat, dan delegasi tanggungjawab.
Juga Baca: Membina Ejen AI Kerjasama dengan Crewai
Mari kita bina ejen untuk menggambarkan konsep -konsep ini.
Prasyarat
Sebelum membina pengaturcara pasangan AI, dapatkan kunci API untuk LLMS.
Mengakses LLM melalui API
Menjana kunci API untuk LLM yang anda pilih dan simpannya dengan selamat dalam fail .env
untuk akses projek sambil mengekalkan privasi.
Contoh fail .env
Contoh fail .env
:
Perpustakaan yang diperlukan
Versi perpustakaan berikut digunakan:
- Crewai - 0.66.0
- Crewai-Tools-0.12.1
Automasi Penciptaan Kod
Bahagian ini menunjukkan pengimportan perpustakaan dan ejen yang menentukan untuk penjanaan kod dan semakan.
Mengimport perpustakaan
dari dotenv import load_dotenv LOAD_DOTENV ('/. env') dari ejen import krew, tugas, krew
Menentukan ejen penulis kod
Satu ejen menjana kod, ulasan lain.
code_writer_agent = agen (role = "jurutera perisian", matlamat = 'Tulis kod yang dioptimumkan dan dikekalkan, termasuk dokumen dan komen', backstory = "" "Anda adalah seorang jurutera perisian yang dioptimumkan, kod yang boleh dipelihara dengan docstrings dan komen." "" LLM = 'GPT-4O-MINI', verbose = benar)
Parameter ejen dijelaskan
- Peranan: mentakrifkan fungsi ejen.
- Matlamat: Menentukan objektif ejen.
- Backstory: Menyediakan konteks untuk interaksi yang lebih baik.
- LLM: Menentukan LLM yang digunakan (lihat dokumentasi Litellm untuk pilihan).
- Verbose: Membolehkan pembalakan input/output terperinci.
Menentukan tugas penulis kod
code_writer_task = tugas (description = 'tulis kod untuk menyelesaikan masalah dalam {bahasa}. Masalah: {masalah}', Diharapkan_Output = 'Kod Format yang baik dengan jenis mengisyaratkan', agen = code_writer_agent)
Parameter tugas dijelaskan
- Penerangan: Objektif tugas yang jelas dengan pembolehubah ({bahasa}, {masalah}).
- Diharapkan_Output: Format output yang dikehendaki.
- Ejen: Ejen yang diberikan kepada tugas itu.
Menentukan ejen dan tugas pengulas kod
Begitu juga, tentukan code_reviewer_agent
dan code_reviewer_task
.
code_reviewer_agent = agen (role = "jurutera perisian kanan", matlamat = 'Pastikan kod dioptimumkan dan dikekalkan', backstory = "" "Anda adalah Kod Kanan Kanan untuk dibaca, kebolehpercayaan, dan prestasi." "", LLM = 'GPT-4O-MINI', verbose = benar) code_reviewer_task = tugas (description = "" "Kod ulasan yang ditulis untuk masalah dalam {bahasa}. Masalah: {masalah}" "", Diharapkan_Output = 'Kod Semakan', agen = code_reviewer_agent)
Membina dan Menjalankan Krew
Buat dan jalankan krew:
krew = krew (ejen = [code_writer_agent, code_reviewer_agent], tugas = [code_writer_task, code_reviewer_task], verbose = benar) result = crew.kickoff (input = {'masalah': 'buat permainan tic-tac-toe', 'bahasa': 'python'})
Output Contoh:
Analisis keputusan
Objek result
mengandungi:
result.dict (). Kekunci () >>> dict_keys (['mentah', 'pydantic', 'json_dict', 'tasks_output', 'token_usage'])) # Penggunaan token result.dict () ['token_usage'] >>> {'total_tokens': 2656, ...} # Output akhir cetak (result.raw)
Kod yang dihasilkan kemudiannya boleh dilaksanakan.
Penilaian kod automatik
Bahagian ini meliputi menilai kod sedia ada.
Menentukan keperluan penilaian
Pertama, kumpulkan keperluan menggunakan ejen, kemudian menilai kod berdasarkan keperluan tersebut menggunakan ejen lain.
Menggunakan alat
FileReadTool
membaca fail. Alat meningkatkan keupayaan ejen. Alat boleh diberikan kepada tugas dan ejen; Tugasan peringkat tugas mengatasi tugasan peringkat ejen.
Menyediakan ejen dan tugas perhimpunan keperluan
dari krewi_tools import fileReadtool code_requirements_agent = agen (role = "Data Scientist", matlamat = 'Tentukan keperluan kod untuk masalah tertentu.', backstory = "" "Anda adalah keperluan saintis data yang menentukan keperluan kod untuk menyelesaikan masalah." "", LLM = 'GPT-4O-MINI', verbose = benar) code_requirement_task = Task (description = 'Write step-by-step syarat. Masalah: {masalah}', diharapkan_output = 'teks keperluan diformat.', agen = code_requirements_agent, human_input = benar)
human_input=True
membolehkan input pengguna untuk pelarasan.
Penilaian Kod
Contoh ini menggunakan FileReadTool
dan gpt-4o
untuk mengendalikan konteks yang lebih baik.
file_read_tool = fileReadTool ('eda.py') code_evaluator_agent = agen (role = "Evaluator Sains Data", matlamat = 'Menilai kod berdasarkan keperluan yang disediakan', backstory = "" "Anda adalah evaluator sains data mengkaji semula kod berdasarkan keperluan yang diberikan." "", LLM = 'GPT-4O', verbose = benar) code_evaluator_task = tugas (description = "" "menilai fail kod berdasarkan keperluan. Hanya berikan penilaian, bukan kod." "", dijangkakan_output = 'Penilaian terperinci berdasarkan keperluan.', alat = [file_read_tool], ejen = code_evaluator_agent)
Membina Krew Penilaian
Buat krew dan tentukan masalahnya:
krew = krew (ejen = [code_requirements_agent, code_evaluator_agent], tugas = [code_requirement_task, code_evaluator_task], verbose = benar) Masalah = "" "Lakukan EDA pada dataset tempoh perjalanan teksi NYC ..." "" # (Penerangan dataset ditinggalkan untuk keringkasan) hasil = crew.kickOff (input = {'masalah': masalah})
Output
Output menunjukkan input manusia meminta:
Output tugas boleh diakses secara individu:
Cetak (code_requirement_task.output.raw) cetak (result.raw)
Kesimpulan
Crewai menyediakan rangka kerja yang kuat untuk meningkatkan pembangunan perisian melalui penjanaan, kajian semula, dan penilaian kod AI yang didorong. Dengan menentukan peranan, matlamat, dan tugas, pemaju dapat menyelaraskan aliran kerja dan meningkatkan produktiviti. Mengintegrasikan pengaturcara pasangan AI dengan Crewai meningkatkan kecekapan dan kualiti kod. Fleksibiliti Crewai memudahkan kolaborasi ejen AI yang lancar, menghasilkan kod yang dioptimumkan, dikekalkan, dan bebas ralat. Ketika AI berkembang, keupayaan pengaturcaraan pasangan Crewai akan menjadi semakin berharga bagi pemaju.
Soalan yang sering ditanya
Q1. Apakah Crewai dan peranannya dalam pembangunan perisian? Crewai adalah rangka kerja agen AI yang membantu pemaju dengan penulisan kod, semakan, dan penilaian, meningkatkan produktiviti.
S2. Apakah komponen utama Crewai? Ejen, tugas, alat, dan krew. Ejen melakukan tindakan; Tugas menentukan objektif; Alat memanjangkan keupayaan ejen; Krew membolehkan kerjasama ejen.
Q3. Bagaimana cara menyediakan ejen AI yang menjana kod? Tentukan peranan, matlamat, backstory, dan LLM ejen, kemudian buat tugas yang sama yang menentukan masalah dan output yang diharapkan.
Q4. Bolehkah ejen krew bekerjasama? Ya, melalui "krew," yang membolehkan ejen mengendalikan aspek yang berbeza dari tugas dengan cekap.
S5. Alat apa yang ada? Pelbagai alat meningkatkan keupayaan ejen, termasuk bacaan fail, carian web, dan pelaksanaan kod.
Atas ialah kandungan terperinci Bina Pengaturcara Pasangan AI dengan Crewai - Analytics Vidhya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

NotebookLM Google adalah alat pengambilan nota AI pintar yang dikuasakan oleh Gemini 2.5, yang cemerlang dalam meringkaskan dokumen. Walau bagaimanapun, ia masih mempunyai batasan penggunaan alat, seperti topi sumber, pergantungan awan, dan ciri "Discover" baru -baru ini

Berikut adalah sepuluh trend yang menarik yang membentuk semula landskap AI perusahaan. Komitmen kewangan untuk llmsorganizations secara signifikan meningkatkan pelaburan mereka di LLM, dengan 72% menjangkakan perbelanjaan mereka meningkat tahun ini. Pada masa ini, hampir 40% a

Pelaburan adalah berkembang pesat, tetapi modal sahaja tidak mencukupi. Dengan penilaian yang semakin meningkat dan tersendiri pudar, pelabur dalam dana usaha yang berfokus pada AI mesti membuat keputusan utama: Beli, membina, atau rakan kongsi untuk mendapatkan kelebihan? Inilah cara menilai setiap pilihan dan PR

Pendedahan: Syarikat saya, Tirias Research, telah berunding untuk IBM, NVIDIA, dan syarikat -syarikat lain yang disebutkan dalam artikel ini. Pemandu Growth Surge dalam penggunaan AI generatif lebih dramatik daripada unjuran yang paling optimis dapat diramalkan. Kemudian, a

Hari -hari itu bernombor, terima kasih kepada AI. Cari lalu lintas untuk perniagaan seperti tapak perjalanan kayak dan syarikat edtech Chegg menurun, sebahagiannya kerana 60% carian di laman web seperti Google tidak mengakibatkan pengguna mengklik sebarang pautan, menurut satu stud

Jurang antara penggunaan yang meluas dan kesediaan emosi mendedahkan sesuatu yang penting tentang bagaimana manusia terlibat dengan pelbagai sahabat digital mereka. Kami memasuki fasa kewujudan bersama di mana algoritma menenun ke dalam harian kami

Mari kita bercakap mengenainya. Analisis terobosan AI yang inovatif ini adalah sebahagian daripada liputan lajur Forbes yang berterusan pada AI terkini, termasuk mengenal pasti dan menerangkan pelbagai kerumitan AI yang memberi kesan (lihat pautan di sini). Menuju ke Agi dan

Mari kita lihat dengan lebih dekat apa yang saya dapati paling penting - dan bagaimana Cisco dapat membina usaha semasa untuk merealisasikan cita -citanya. (Nota: Cisco adalah pelanggan penasihat firma saya, Moor Insights & Strategy.) Berfokus pada AIS dan CU Agentik dan CU
