介紹
對有效軟件開發的需求是推動人工智能作為有價值的編程合作夥伴的採用。 AI驅動的編碼助手正在通過簡化代碼寫作,調試和優化的方式徹底改變開發,就像人類對程序員一樣。本文展示了使用Crewai代理來簡化編碼任務並提高開發人員生產率的構建AI對程序員。
概述
本指南涵蓋:
- 了解Crewai在協助編碼任務中的作用。
- 識別關鍵組件:代理,任務,工具和工作人員及其交互。
- 實踐經驗設置AI代理以生成代碼和審核。
- 配置多個用於協作編碼的AI代理。
- 利用Crewai評估和優化代碼質量。
目錄
- NVLM 1.0 D 74B的定性示例
- NVLM與其他LLM的比較
- 其他多模式LLM的局限性
- 解決這些限制
- NVLM:模型和培訓方法
- 培訓數據
- 結果
- 訪問NVLM D 72B
- 導入必要的庫
- 模型碎片
- 圖像預處理
- 動態圖像瓷磚
- 加載和預處理圖像
- 加載和使用模型
- 文本和圖像對話
- 常見問題
AI對程序員功能
AI對程序員提供了幾個優點:
- 代碼生成:使用一個AI代理生成給定問題的代碼,並與另一個AI代理一起對其進行審查。
- 改進代碼:根據指定標準評估現有代碼。
- 代碼優化:請求代碼增強功能,例如添加註釋或Docstrings。
- 調試:收到解決代碼錯誤的建議。
- 測試案例生成:生成各種情況的測試用例,包括測試驅動的開發。
本文重點介紹了前兩個功能。
什麼是克魯伊?
Crewai是創建AI代理的框架。它的關鍵組成部分是:
- 代理:代理使用大型語言模型(LLM)根據輸入提示產生輸出。它與工具交互,接受用戶輸入並與其他代理進行通信。
- 任務:定義代理的目標,包括描述,代理和可用工具。
- 工具:代理使用工具用於Web搜索,文件讀取和代碼執行等任務。
- 機組人員:一組代理商在任務上合作,定義互動,信息共享和責任委託。
另請閱讀:與Crewai建立協作AI代理商
讓我們建立一個代理來說明這些概念。
先決條件
在構建AI對程序員之前,請獲取llms的API鍵。
通過API訪問LLM
為您選擇的LLM生成一個API密鑰,並將其安全存儲在.env
文件中以進行項目訪問,同時保持隱私。
示例.env文件
樣本.env
文件:
所需的庫
使用以下庫版本:
- Crewai - 0.66.0
- Crewai-Tools - 0.12.1
創建自動代碼
本節演示了進口庫和定義代理代碼生成和審核。
導入庫
來自dotenv import load_dotenv load_dotenv('/。env') 來自Crewai進口代理,任務,機組人員
定義代碼作者代理
一個代理生成代碼,另一個代碼對其進行了審查。
code_writer_agent = agent(角色=“軟件工程師”, 目標='寫優化和可維護的代碼,包括docstrings and評論', BackStory =“”“您是一名軟件工程師,編寫具有Docstrings和Commist的可維護代碼的軟件工程師。“”, llm ='gpt-4o-mini', 冗長= true)
代理參數解釋了
- 角色:定義代理的功能。
- 目標:指定代理商的目標。
- 背景故事:為更好的互動提供上下文。
- LLM:指定使用的LLM(有關選項,請參見Litellm文檔)。
- 冗長:啟用詳細的輸入/輸出記錄。
定義代碼作者任務
code_writer_task = task(description ='寫代碼以{語言}求解問題。 Expect_output ='帶有類型提示的良好代碼', 代理= code_writer_agent)
解釋了任務參數
- 描述:帶有變量({language},{Quards})的清除任務目標。
- Expect_Output:所需的輸出格式。
- 代理:分配給任務的代理。
定義代碼審閱者代理和任務
同樣,定義code_reviewer_agent
和code_reviewer_task
。
code_reviewer_agent = agent(角色=“高級軟件工程師”, 目標='確保代碼是優化和可維護的', BackStory =“”“您是一名高級工程師,審查代碼,以了解可讀性,可維護性和性能。”“, llm ='gpt-4o-mini', 冗長= true) code_reviewer_task = task = task(Description =“”“評論為問題編寫的{language}的編寫代碼。 Expect_Output ='審閱的代碼', 代理= code_reviewer_agent)
建造和經營船員
創建並運行船員:
crew = crew(agestents = [code_writer_agent,code_reviewer_agent], tasks = [code_writer_task,code_reviewer_task], 冗長= true) 結果= crew.kickoff(inputs = {'Quards':'創建一個TIC-TAC-TOE遊戲','Language':'Python'})
樣本輸出:
結果分析
result
對象包含:
result.dict()。鍵() >>> dict_keys(['raw','pydantic','json_dict','tasks_output','token_usage']) #標記用法 result.dict()['token_usage'] >>> {'total_tokens':2656,...} #最終輸出 打印(result.raw)
然後可以執行生成的代碼。
自動代碼評估
本節涵蓋評估現有代碼。
定義評估要求
首先,使用代理收集要求,然後根據這些要求使用另一個代理來評估代碼。
使用工具
FileReadTool
讀取文件。工具增強了代理功能。工具可以分配給任務和代理;任務級別的作業覆蓋了代理級別的分配。
設置需求收集代理和任務
來自crewai_tools導入FileReadTool code_requirements_agent = agent(角色=“數據科學家”, 目標='定義給定問題的代碼要求。 ',, BackStory =“”“您是一個數據科學家,定義了解決問題的代碼要求。“”,, llm ='gpt-4o-mini', 冗長= true) code_requirement_task = task(description ='寫逐步要求。 Exceels_output ='格式要求文本。 ', 代理= code_requirements_agent, human_input = true)
human_input=True
允許用戶輸入進行調整。
代碼評估
該示例使用FileReadTool
和gpt-4o
來更好地處理較大的上下文。
file_read_tool = filereadtool('eda.py') code_evaluator_agent = agent(角色=“數據科學評估者”, 目標='根據提供的要求評估代碼', BackStory =“”“您是基於給定要求的數據科學評估者,審查代碼。”“,, llm ='gpt-4o', 冗長= true) code_evaluator_task = task = task(Description =“”“根據要求評估代碼文件。僅提供評估,而不是代碼。 Expect_output ='基於要求的詳細評估。 ', 工具= [file_read_tool], 代理= code_evaluator_agent)
建立評估人員
創建船員並定義問題:
crew = crew(agestents = [code_requirements_agent,code_evaluator_agent], tasks = [Code_requirement_task,code_evaluator_task], 冗長= true) 問題=“”“在紐約出租車旅行持續時間數據集上執行EDA ...”“”#(省略了省略的數據集說明) 結果= crew.kickoff(inputs = {'Quards':Quards})
輸出
輸出顯示人類輸入提示:
可以單獨訪問任務輸出:
打印(code_requirement_task.output.raw) 打印(result.raw)
結論
Crewai提供了一個有力的框架,可通過AI驅動的代碼生成,審核和評估來增強軟件開發。通過定義角色,目標和任務,開發人員可以簡化工作流程並提高生產力。將AI對程序員與Crewai集成,可提高效率和代碼質量。 Crewai的靈活性有助於無縫的AI代理協作,從而獲得了優化,可維護和無錯誤的代碼。隨著AI的發展,Crewai的配對編程功能將對開發人員越來越有價值。
常見問題
Q1。 Crewai及其在軟件開發中的作用是什麼? Crewai是AI代理框架,可協助開發人員對代碼編寫,審核和評估,提高生產率。
Q2。 Crewai的主要組件是什麼?代理,任務,工具和工作人員。代理執行動作;任務定義目標;工具擴展代理功能;機組人員啟用代理商協作。
Q3。如何設置代碼生成的AI代理?定義代理的角色,目標,背景故事和LLM,然後創建一個相應的任務,指定問題和預期輸出。
Q4。 Crewai代理商可以合作嗎?是的,通過“機組人員”,允許代理有效地處理任務的不同方面。
Q5。有哪些工具可用?各種工具增強了代理功能,包括文件讀數,Web搜索和代碼執行。
以上是與Crewai -Analytics Vidhya建立AI對程序員的詳細內容。更多資訊請關注PHP中文網其他相關文章!

經常使用“ AI-Ready勞動力”一詞,但是在供應鏈行業中確實意味著什麼? 供應鏈管理協會(ASCM)首席執行官安倍·埃什肯納齊(Abe Eshkenazi)表示,它表示能夠評論家的專業人員

分散的AI革命正在悄悄地獲得動力。 本週五在德克薩斯州奧斯汀,Bittensor最終遊戲峰會標誌著一個關鍵時刻,將分散的AI(DEAI)從理論轉變為實際應用。 與閃閃發光的廣告不同

企業AI面臨數據集成挑戰 企業AI的應用面臨一項重大挑戰:構建能夠通過持續學習業務數據來保持準確性和實用性的系統。 NeMo微服務通過創建Nvidia所描述的“數據飛輪”來解決這個問題,允許AI系統通過持續接觸企業信息和用戶互動來保持相關性。 這個新推出的工具包包含五個關鍵微服務: NeMo Customizer 處理大型語言模型的微調,具有更高的訓練吞吐量。 NeMo Evaluator 提供針對自定義基準的AI模型簡化評估。 NeMo Guardrails 實施安全控制,以保持合規性和適當的

AI:藝術與設計的未來畫卷 人工智能(AI)正以前所未有的方式改變藝術與設計領域,其影響已不僅限於業餘愛好者,更深刻地波及專業人士。 AI生成的藝術作品和設計方案正在迅速取代傳統的素材圖片和許多交易性設計活動中的設計師,例如廣告、社交媒體圖片生成和網頁設計。 然而,專業藝術家和設計師也發現AI的實用價值。他們將AI作為輔助工具,探索新的美學可能性,融合不同的風格,創造新穎的視覺效果。 AI幫助藝術家和設計師自動化重複性任務,提出不同的設計元素並提供創意輸入。 AI支持風格遷移,即將一種圖像的風格應用

Zoom最初以其視頻會議平台而聞名,它通過創新使用Agentic AI來引領工作場所革命。 最近與Zoom的CTO XD黃的對話揭示了該公司雄心勃勃的願景。 定義代理AI 黃d

AI會徹底改變教育嗎? 這個問題是促使教育者和利益相關者的認真反思。 AI融入教育既提出了機遇和挑戰。 正如科技Edvocate的馬修·林奇(Matthew Lynch)所指出的那樣

美國科學研究和技術發展或將面臨挑戰,這或許是由於預算削減導致的。據《自然》雜誌報導,2025年1月至3月期間,美國科學家申請海外工作的數量比2024年同期增加了32%。此前一項民意調查顯示,75%的受訪研究人員正在考慮前往歐洲和加拿大尋找工作。 過去幾個月,數百項NIH和NSF的撥款被終止,NIH今年的新撥款減少了約23億美元,下降幅度接近三分之一。洩露的預算提案顯示,特朗普政府正在考慮大幅削減科學機構的預算,削減幅度可能高達50%。 基礎研究領域的動盪也影響了美國的一大優勢:吸引海外人才。 35

Openai推出了強大的GPT-4.1系列:一個專為現實世界應用設計的三種高級語言模型家族。 這種巨大的飛躍提供了更快的響應時間,增強的理解和大幅降低了成本


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

禪工作室 13.0.1
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

WebStorm Mac版
好用的JavaScript開發工具