21.5k Star , AI 智能体项目OpenDevin:少写代码,多创造(附部署教程)

Aitrainee | 公众号:AI进修生

这是一个旨在复制 Devin 的开源项目,Devin 是一位自主人工智能软件工程师,能够执行复杂的工程任务并在软件开发项目上与用户积极协作。该项目致力于通过开源社区的力量复制、增强和创新 Devin
在这里插入图片描述

Devin 代表了一种尖端的自主代理,旨在应对软件工程的复杂性。它利用 shell、代码编辑器和 Web 浏览器等工具的组合,展示了LLM在软件开发方面尚未开发的潜力。我们的目标是探索和扩展 Devin 的能力,确定其优势和需要改进的领域,以指导开放代码模型的进展。

如何部署

第一章:准备环境

1.1 安装Docker(Linux系统)

首先,通过运行下面的命令来安装 Docker 并配置阿里云的镜像加速器:

curl -fsSL <https://get.docker.com> | bash -s docker --mirror Aliyun

1.2 安装 Docker Compose

完成 Docker 的安装后,接下来安装 Docker Compose:

sudo apt install docker-compose

1.3 用户权限设置

为了便于管理 Docker,将当前用户添加到 Docker 用户组:

sudo usermod -aG docker $USER

第二章:系统更新与软件安装

2.1 更新系统软件

检查并列出所有可升级的软件包:

sudo apt list --upgradable

执行软件包升级:

sudo apt upgrade

2.2 安装必要的开发工具

安装 Node.js 和 npm,这对于许多现代开发环境是必需的:

sudo apt install nodejs npm

同样,安装 make 工具来管理和维护项目:

sudo apt install make

第三章:安装 Anaconda 和设置 Python 环境

3.1 下载与安装 Anaconda

下载 Anaconda 安装脚本,并为其设置执行权限:

wget <https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh>
chmod +x Anaconda3-2023.03-1-Linux-x86_64.sh

执行 Anaconda 安装脚本:

./Anaconda3-2023.03-1-Linux-x86_64.sh

更新环境变量以确保 Anaconda 正确配置:

source ~/.bashrc

3.2 配置 Python 环境

创建并激活一个名为 open 的新 Python 环境,指定 Python 版本为 3.11:

conda create -n open python=3.11
conda activate open

第四章:项目设置和构建

4.1 安装 Poetry

安装 Poetry 来管理 Python 项目的依赖:

curl -sSL <https://install.python-poetry.org> | python3 -

更新路径和环境变量:

export PATH="$HOME/.local/bin:$PATH"
source ~/.bashrc

4.2 获取并构建项目

克隆并进入 OpenDevin 项目目录,然后使用 make 构建项目:

git clone <https://github.com/OpenDevin/OpenDevin.git>
cd OpenDevin
make build

在这里插入图片描述

第五章:配置语言模型

5.1 选择和配置语言模型

OpenDevin 支持使用 litellm 库配置多种语言模型。默认配置是使用 OpenAI 的 GPT-4,但用户可以根据需求选择其他模型,如 Anthropic 的 Claude 或 Llama。

5.1.1 使用 Makefile 配置模型

简单有效的配置方法是通过 Makefile:

make setup-config

此命令会引导您输入所需的 LLM API 密钥和模型名称,以便个性化您的 OpenDevin 环境。

5.1.2 探索其他模型

如果您希望尝试除 OpenAI GPT 外的其他模型,可以查阅 litellm 文档以获取更多信息和支持。我们也在准备相关文档,以帮助用户探索和配置各种替代模型。

5.2 运行本地模型

具体文档说明如何使用 ollama 在本地运行模型,以及使用 Azure 云服务运行 OpenDevin 的指南正在编写中。

第六章:运行应用程序

6.1 启动 OpenDevin

完成配置后,启动 OpenDevin 就像执行以下命令一样简单:

make run

这将同时启动后端和前端服务器,使您能够与 OpenDevin 交互。

第七章:单独服务器启动

7.1 启动后端服务器

如果需要专注于后端相关任务,可以单独启动后端服务器:

make start-backend

7.2 启动前端服务器

同样,如果要处理前端相关的组件或界面增强,可以单独启动前端服务器:

make start-frontend

第八章:获取帮助

8.1 使用 make help

如果您需要关于可用目标和命令的帮助或信息,可以使用以下命令:

make help

附:一键执行

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun \
&& sudo apt list --upgradable \
&& sudo apt upgrade \
&& sudo apt install docker-compose \
&& sudo usermod -aG docker $USER \
&& sudo apt install nodejs npm \
&& sudo apt install make \
&& wget https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh \
&& chmod +x Anaconda3-2023.03-1-Linux-x86_64.sh \
&& ./Anaconda3-2023.03-1-Linux-x86_64.sh \
&& source ~/.bashrc
&& conda create -n open python=3.11 \
&& conda activate open \
&& curl -sSL https://install.python-poetry.org | python3 - \
&& export PATH="$HOME/.local/bin:$PATH" \
&& source ~/.bashrc \
&& git clone https://github.com/OpenDevin/OpenDevin.git \
&& cd OpenDevin \
&& make build \

https://github.com/OpenDevin/OpenDevin

  • 公众号有最新咨询和AI工具教程

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/543058.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Solana 上创建自己的 SLPToken:简明指南

Solana 定义 Solana 是由 Solana Labs 创建的区块链平台&#xff0c;旨在提供高吞吐量和低延迟的去中心化应用&#xff08;DApps&#xff09;开发环境。它采用一系列创新技术&#xff0c;如 PoH&#xff08;Proof of History&#xff09;共识机制和 Tower BFT&#xff08;BFT …

java:课后笔记wk45

文章目录 1. class1.1 toString()和equals()1.2 overload-constructor1.3 static 2. Wrapper3. Maths4. array5. arrayList 1. class 1.1 toString()和equals() public class People{private int age;private String name;public People(int age, String name){this.age age…

每日一题:无重复字符的最长子串

给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是"abc"&#xff0c;所以其长度为 3。示例 2: 输入: s "bbbbb" 输出: 1 解释: 因为无重…

mysql题目5

tj11&#xff1a; select max(c.teacher_age) 最大的年龄 from tb_teacher c tj12: select a.class_name 班级名称,b.student_name 学生姓名,b.gender 学生性别 from tb_class a join tb_student b on a.class_idb.class_id join tb_teacher c on a.teacher_idc.teacher_id w…

【深度学习实战(1)】如何使用argparse模块设置自己的训练参数

一、argparse模块用法 1、argparse是一个python模块&#xff0c;用途是&#xff1a;命令行选项、参数和子命令的解释。 2、argparse库下载&#xff1a;pip install argparse 3、使用步骤&#xff1a; 导入argparse模块&#xff0c;并创建解释器 添加所需参数 解析参数 二、…

2024年【化工自动化控制仪表】考试内容及化工自动化控制仪表考试总结

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 化工自动化控制仪表考试内容是安全生产模拟考试一点通生成的&#xff0c;化工自动化控制仪表证模拟考试题库是根据化工自动化控制仪表最新版教材汇编出化工自动化控制仪表仿真模拟考试。2024年【化工自动化控制仪表】…

2009-2021年上市公司僵尸企业识别数据(含原始数据+计算代码+计算结果)

2009-2021年上市公司僵尸企业识别数据&#xff08;含原始数据计算代码计算结果&#xff09; 1、时间&#xff1a;2009-2021年 2、指标&#xff1a; 证券代码 、证券简称、上市日期、year、净利润、政府补助、流动负债合计、负债合计、财务费用明细利息支出、资产总计、长期负…

springboot 人大金仓 kingbase-备份还原,命令中带密码

命令带密码参考 Java代码实现国产人大金仓数据库备份还原需求-CSDN博客文章浏览阅读818次&#xff0c;点赞16次&#xff0c;收藏12次。本人在一次项目中&#xff0c;遇到了需要在系统管理中提供给用户备份还原系统数据的功能&#xff0c;由于项目特殊性&#xff0c;项目底层数…

【漏洞复现】WordPress LayerSlider插件SQL注入漏洞复现

声明&#xff1a;亲爱的读者&#xff0c;我们诚挚地提醒您&#xff0c;Aniya网络安全的技术文章仅供个人研究学习参考。任何因传播或利用本实验室提供的信息而造成的直接或间接后果及损失&#xff0c;均由使用者自行承担责任。Aniya网络安全及作者对此概不负责。如有侵权&#…

PostgreSQL入门到实战-第二十七弹

PostgreSQL入门到实战 PostgreSQL中数据分组操作(二)官网地址PostgreSQL概述PostgreSQL中HAVING命令理论PostgreSQL中HAVING命令实战更新计划 PostgreSQL中数据分组操作(二) 使用PostgreSQL HAVING子句来指定组或聚合的搜索条件 官网地址 声明: 由于操作系统, 版本更新等原因…

驾校驾考全科语音矩阵版h5微信抖音QQ快手小程序app开源版开发

驾校驾考全科语音矩阵版h5微信抖音QQ快手小程序app开源版开发 支持SAAS、支持独立加密、支持独立开源、价格不同。 自带数据&#xff0c;后台一键初始。 驾考系统 微信公众号微信小程序抖音小程序可打包APP 所有车型全覆盖、2024全科题目、语音讲解、模拟考试等等 这是一款什…

NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧

NL2SQL实践系列(1)&#xff1a;深入解析Prompt工程在text2sql中的应用技巧 NL2SQL基础系列(1)&#xff1a;业界顶尖排行榜、权威测评数据集及LLM大模型&#xff08;Spider vs BIRD&#xff09;全面对比优劣分析[Text2SQL、Text2DSL] NL2SQL基础系列(2)&#xff1a;主流大模型…

OSPF动态路由实验(思科)

华为设备参考&#xff1a; 一&#xff0c;技术简介 OSPF&#xff08;Open Shortest Path First&#xff09;是一种内部网关协议&#xff0c;主要用于在单一自治系统内决策路由。它是一种基于链路状态的路由协议&#xff0c;通过链路状态路由算法来实现动态路由选择。 OSPF的…

蓝桥杯真题演练:2023B组c/c++

日期统计 小蓝现在有一个长度为 100 的数组&#xff0c;数组中的每个元素的值都在 0 到 9 的范围之内。 数组中的元素从左至右如下所示&#xff1a; 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 5 7 0 9 9 1 9 4 4 6 8 6 3 …

LeetCode 热题 HOT 100(P31~P40)

系列文章&#xff1a; LeetCode 热题 HOT 100(P1~P10)-CSDN博客 LeetCode 热题 HOT 100(P11~P20)-CSDN博客 LeetCode 热题 HOT 100(P21~P30)-CSDN博客 LeetCode 热题 HOT 100(P31~P40)-CSDN博客 LC76minimum_window . - 力扣&#xff08;LeetCode&#xff09; 题目&…

设计一个通知系统

设计的系统支持不同类型消息的发送&#xff0c;例如push消息&#xff0c;sms消息和邮箱消息&#xff0c;能够支持千万级别的发送&#xff0c;保证消息推送的幂等性。系统结构图如下&#xff1a; 系统架构图中各组件作用说明&#xff1a; device/setting/user info&#xff1a;…

反向迭代器的底层

文章目录 1.迭代器分类2.迭代器使用3.模拟实现迭代器3.1 各个类的迭代器3.2 所有容器的迭代器(迭代器适配器) 1.迭代器分类 迭代器按照定义方式分成以下四种。 正向迭代器&#xff0c;定义方法如下&#xff1a; 容器类名::iterator 迭代器名; 常量正向迭代器&#xff0c;定…

Swagger转换成Excel文件

1、添加swagger解析依赖包&#xff1a; <dependency><groupId>io.swagger.parser.v3</groupId><artifactId>swagger-parser</artifactId><version>2.1.12</version></dependency>2、示例代码&#xff1a; package com.rlclou…

第十四届蓝桥杯题解:平方差 ,更小的数,买瓜,网络稳定性(货车运输)

目录 平方差 更小的数 买瓜 网络稳定性&#xff08;货车运输&#xff09; 货车运输 平方差 这道题就是数论的题&#xff0c;不难想到一个数m可以拆成(a-b)(ab)&#xff0c;其实(a-b)和(ab)就是m的一对因子&#xff0c;不妨设为x和y。 则有&#xff1a; abx; a-by; x*ym; 联…

《由浅入深学习SAP财务》:第2章 总账模块 - 2.7 总账模块报表 -2.7.1 对外报表:资产负债表及利润表

总账模块报表既包括对外报告的资产负债表、损益表、现金流量表&#xff0c;也包括企业自身用于查询和分析的各类报表&#xff0c;如科目余额表等。 2.7.1 对外报表&#xff1a;资产负债表及利润表 在SAP中&#xff0c;出具资产负债表和利润表的标准方法是先在后台建立一套“会…