目錄
介紹
概述
目錄
AI對程序員功能
什麼是克魯伊?
先決條件
通過API訪問LLM
示例.env文件
所需的庫
創建自動代碼
導入庫
定義代碼作者代理
代理參數解釋了
定義代碼作者任務
解釋了任務參數
定義代碼審閱者代理和任務
建造和經營船員
結果分析
自動代碼評估
定義評估要求
使用工具
設置需求收集代理和任務
代碼評估
建立評估人員
輸出
結論
常見問題
首頁 科技週邊 人工智慧 與Crewai -Analytics Vidhya建立AI對程序員

與Crewai -Analytics Vidhya建立AI對程序員

Apr 09, 2025 am 09:30 AM

介紹

對有效軟件開發的需求是推動人工智能作為有價值的編程合作夥伴的採用。 AI驅動的編碼助手正在通過簡化代碼寫作,調試和優化的方式徹底改變開發,就像人類對程序員一樣。本文展示了使用Crewai代理來簡化編碼任務並提高開發人員生產率的構建AI對程序員。

概述

本指南涵蓋:

  • 了解Crewai在協助編碼任務中的作用。
  • 識別關鍵組件:代理,任務,工具和工作人員及其交互。
  • 實踐經驗設置AI代理以生成代碼和審核。
  • 配置多個用於協作編碼的AI代理。
  • 利用Crewai評估和優化代碼質量。

目錄

  • NVLM 1.0 D 74B的定性示例
  • NVLM與其他LLM的比較
  • 其他多模式LLM的局限性
  • 解決這些限制
  • NVLM:模型和培訓方法
  • 培訓數據
  • 結果
  • 訪問NVLM D 72B
    • 導入必要的庫
    • 模型碎片
    • 圖像預處理
    • 動態圖像瓷磚
    • 加載和預處理圖像
    • 加載和使用模型
    • 文本和圖像對話
  • 常見問題

AI對程序員功能

AI對程序員提供了幾個優點:

  1. 代碼生成:使用一個AI代理生成給定問題的代碼,並與另一個AI代理一起對其進行審查。
  2. 改進代碼:根據指定標準評估現有代碼。
  3. 代碼優化:請求代碼增強功能,例如添加註釋或Docstrings。
  4. 調試:收到解決代碼錯誤的建議。
  5. 測試案例生成:生成各種情況的測試用例,包括測試驅動的開發。

本文重點介紹了前兩個功能。

什麼是克魯伊?

Crewai是創建AI代理的框架。它的關鍵組成部分是:

  • 代理:代理使用大型語言模型(LLM)根據輸入提示產生輸出。它與工具交互,接受用戶輸入並與其他代理進行通信。
  • 任務:定義代理的目標,包括描述,代理和可用工具。
  • 工具:代理使用工具用於Web搜索,文件讀取和代碼執行等任務。
  • 機組人員:一組代理商在任務上合作,定義互動,信息共享和責任委託。

另請閱讀:與Crewai建立協作AI代理商

讓我們建立一個代理來說明這些概念。

先決條件

在構建AI對程序員之前,請獲取llms的API鍵。

通過API訪問LLM

為您選擇的LLM生成一個API密鑰,並將其安全存儲在.env文件中以進行項目訪問,同時保持隱私。

示例.env文件

樣本.env文件:

與Crewai -Analytics Vidhya建立AI對程序員

所需的庫

使用以下庫版本:

  • 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_agentcode_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'})
登入後複製

樣本輸出:

與Crewai -Analytics Vidhya建立AI對程序員

與Crewai -Analytics Vidhya建立AI對程序員

結果分析

result對象包含:

 result.dict()。鍵()
>>> dict_keys(['raw','pydantic','json_dict','tasks_output','token_usage'])

#標記用法
result.dict()['token_usage']
>>> {'total_tokens':2656,...}

#最終輸出
打印(result.raw)
登入後複製

然後可以執行生成的代碼。

與Crewai -Analytics Vidhya建立AI對程序員

自動代碼評估

本節涵蓋評估現有代碼。

定義評估要求

首先,使用代理收集要求,然後根據這些要求使用另一個代理來評估代碼。

使用工具

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允許用戶輸入進行調整。

代碼評估

該示例使用FileReadToolgpt-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})
登入後複製

輸出

輸出顯示人類輸入提示:

與Crewai -Analytics Vidhya建立AI對程序員

可以單獨訪問任務輸出:

打印(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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1657
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1230
24
開始使用Meta Llama 3.2 -Analytics Vidhya 開始使用Meta Llama 3.2 -Analytics Vidhya Apr 11, 2025 pm 12:04 PM

Meta的Llama 3.2:多模式和移動AI的飛躍 Meta最近公佈了Llama 3.2,這是AI的重大進步,具有強大的視覺功能和針對移動設備優化的輕量級文本模型。 以成功為基礎

10個生成AI編碼擴展,在VS代碼中,您必須探索 10個生成AI編碼擴展,在VS代碼中,您必須探索 Apr 13, 2025 am 01:14 AM

嘿,編碼忍者!您當天計劃哪些與編碼有關的任務?在您進一步研究此博客之前,我希望您考慮所有與編碼相關的困境,這是將其列出的。 完畢? - 讓&#8217

AV字節:Meta' llama 3.2,Google的雙子座1.5等 AV字節:Meta' llama 3.2,Google的雙子座1.5等 Apr 11, 2025 pm 12:01 PM

本週的AI景觀:進步,道德考慮和監管辯論的旋風。 OpenAI,Google,Meta和Microsoft等主要參與者已經釋放了一系列更新,從開創性的新車型到LE的關鍵轉變

向員工出售AI策略:Shopify首席執行官的宣言 向員工出售AI策略:Shopify首席執行官的宣言 Apr 10, 2025 am 11:19 AM

Shopify首席執行官TobiLütke最近的備忘錄大膽地宣布AI對每位員工的基本期望是公司內部的重大文化轉變。 這不是短暫的趨勢。這是整合到P中的新操作範式

視覺語言模型(VLMS)的綜合指南 視覺語言模型(VLMS)的綜合指南 Apr 12, 2025 am 11:58 AM

介紹 想像一下,穿過​​美術館,周圍是生動的繪畫和雕塑。現在,如果您可以向每一部分提出一個問題並獲得有意義的答案,該怎麼辦?您可能會問:“您在講什麼故事?

GPT-4O vs OpenAI O1:新的Openai模型值得炒作嗎? GPT-4O vs OpenAI O1:新的Openai模型值得炒作嗎? Apr 13, 2025 am 10:18 AM

介紹 Openai已根據備受期待的“草莓”建築發布了其新模型。這種稱為O1的創新模型增強了推理能力,使其可以通過問題進行思考

如何在SQL中添加列? - 分析Vidhya 如何在SQL中添加列? - 分析Vidhya Apr 17, 2025 am 11:43 AM

SQL的Alter表語句:動態地將列添加到數據庫 在數據管理中,SQL的適應性至關重要。 需要即時調整數據庫結構嗎? Alter表語句是您的解決方案。本指南的詳細信息添加了Colu

最新的最佳及時工程技術的年度彙編 最新的最佳及時工程技術的年度彙編 Apr 10, 2025 am 11:22 AM

對於那些可能是我專欄新手的人,我廣泛探討了AI的最新進展,包括體現AI,AI推理,AI中的高科技突破,及時的工程,AI培訓,AI,AI RE RE等主題

See all articles