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

Tetapi apa yang dipertaruhkan di sini bukan sekadar ganti rugi retroaktif atau pembayaran balik royalti. Menurut Yelena Ambartsumian, tadbir urus AI dan peguam IP dan pengasas Ambart Law PLLC, kebimbangan sebenar adalah berpandangan ke hadapan. "Saya fikir Disney dan Universal's MA

Menggunakan AI tidak sama dengan menggunakannya dengan baik. Ramai pengasas telah menemui ini melalui pengalaman. Apa yang bermula sebagai percubaan menjimatkan masa sering mewujudkan lebih banyak kerja. Pasukan akhirnya menghabiskan berjam-jam menyemak semula kandungan yang dihasilkan AI atau mengesahkan output

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

Space Company Voyager Technologies menaikkan hampir $ 383 juta semasa IPOnya pada hari Rabu, dengan saham yang ditawarkan pada $ 31. Firma itu menyediakan pelbagai perkhidmatan yang berkaitan dengan ruang kepada pelanggan dan pelanggan komersial, termasuk aktiviti di dalam

Sudah tentu, saya telah mengikuti Boston Dynamics, yang terletak berdekatan. Walau bagaimanapun, di pentas global, syarikat robotik lain semakin meningkat sebagai kehadiran yang hebat. Robot berkaki empat mereka sudah dikerahkan di dunia nyata, dan

Tambah kepada realiti ini hakikat bahawa AI sebahagian besarnya kekal sebagai kotak hitam dan jurutera masih berjuang untuk menjelaskan mengapa model berkelakuan tidak dapat diramalkan atau bagaimana untuk memperbaikinya, dan anda mungkin mula memahami cabaran utama yang dihadapi industri hari ini.

Nvidia telah menjenamakan semula Lepton AI sebagai DGX Cloud Lepton dan memperkenalkannya pada bulan Jun 2025. Seperti yang dinyatakan oleh Nvidia, perkhidmatan ini menawarkan platform AI bersatu dan mengira pasaran yang menghubungkan pemaju kepada puluhan ribu GPU dari rangkaian global CLO
