介绍
对有效软件开发的需求是推动人工智能作为有价值的编程合作伙伴的采用。 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
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3 英文版
推荐:为Win版本,支持代码提示!