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

2024-04-14 20:12

本文主要是介绍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工具教程

在这里插入图片描述

这篇关于21.5k Star , AI 智能体项目OpenDevin:少写代码,多创造(附部署教程)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/903899

相关文章

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将