与Crewai -Analytics Vidhya建立AI对程序员
介绍
对有效软件开发的需求是推动人工智能作为有价值的编程合作伙伴的采用。 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工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文回顾了AI最高的艺术生成器,讨论了他们的功能,对创意项目的适用性和价值。它重点介绍了Midjourney是专业人士的最佳价值,并建议使用Dall-E 2进行高质量的可定制艺术。

Meta的Llama 3.2:多模式和移动AI的飞跃 Meta最近公布了Llama 3.2,这是AI的重大进步,具有强大的视觉功能和针对移动设备优化的轻量级文本模型。 以成功为基础

本文比较了诸如Chatgpt,Gemini和Claude之类的顶级AI聊天机器人,重点介绍了其独特功能,自定义选项以及自然语言处理和可靠性的性能。

嘿,编码忍者!您当天计划哪些与编码有关的任务?在您进一步研究此博客之前,我希望您考虑所有与编码相关的困境,这是将其列出的。 完毕? - 让&#8217

文章讨论了Grammarly,Jasper,Copy.ai,Writesonic和Rytr等AI最高的写作助手,重点介绍了其独特的内容创建功能。它认为Jasper在SEO优化方面表现出色,而AI工具有助于保持音调的组成

Shopify首席执行官TobiLütke最近的备忘录大胆地宣布AI对每位员工的基本期望是公司内部的重大文化转变。 这不是短暂的趋势。这是整合到P中的新操作范式

本周的AI景观:进步,道德考虑和监管辩论的旋风。 OpenAI,Google,Meta和Microsoft等主要参与者已经释放了一系列更新,从开创性的新车型到LE的关键转变

本文评论了Google Cloud,Amazon Polly,Microsoft Azure,IBM Watson和Discript等高级AI语音生成器,重点介绍其功能,语音质量和满足不同需求的适用性。
