服务网站排名咨询,网站设计不需要考虑,学做网站论坛好吗,网站制作+网站建设前天介绍了 AI软件工程师 微软AI 程序员AutoDev#xff0c;自主执行工程任务生成代码-CSDN博客
今天介绍下另一款Devin替代品#xff0c;开源的Devika
(另外还有一个开源的 OpenDevin : https://github.com/OpenDevin/OpenDevin) Devika
https://github.com/stitionai/dev…
前天介绍了 AI软件工程师 微软AI 程序员AutoDev自主执行工程任务生成代码-CSDN博客
今天介绍下另一款Devin替代品开源的Devika
(另外还有一个开源的 OpenDevin : https://github.com/OpenDevin/OpenDevin) Devika
https://github.com/stitionai/devika
Devika 是一款自主 AI 软件工程师能够理解高水平的人类指令将其分解为步骤研究相关信息并编写代码以实现给定的目标。
Devika 的目标是成为 Cognition AI 的 Devin 的竞争性开源替代方案。
关于
Devika 是一款先进的 AI 软件工程师能够理解高水平的人类指令将其分解为步骤研究相关信息并编写代码以实现给定的目标。
Devika 利用大型语言模型、规划和推理算法以及网络浏览能力来智能地开发软件。
Devika 的目标是通过提供一款 AI 辅助编程工具来彻底改变我们构建软件的方式这款工具可以在极少的人类指导下承担复杂的编码任务。
无论您需要创建一个新功能、修复一个错误还是从零开始开发一个完整的项目Devika 都在这里为您提供帮助。
注意
Devika 是根据 Cognition AI 的 Devin 设计的。
该项目旨在成为 Devin 的开源替代方案其“过度雄心勃勃”的目标是在 SWE-bench 基准测试中达到与 Devin 相同的分数……并最终超越它
主要特点 支持 Claude 3、GPT-4、GPT-3.5 和通过 Ollama 支持的本地语言模型。为了获得最佳性能请使用 Claude 3 系列模型。 先进的 AI 规划和推理能力 上下文关键字提取用于专注研究 无缝的网络浏览和信息收集 支持多种编程语言的代码编写 动态代理状态跟踪和可视化 通过聊天界面进行自然语言交互 基于项目的组织和管理 可扩展的架构用于添加新功能和集成
系统架构
Devika 的系统架构包括以下关键组件
用户界面基于网络的聊天界面用于与 Devika 进行交互、查看项目文件和监视代理状态。
代理核心负责协调 AI 规划、推理和执行过程的中心组件。它与各种子代理和模块通信以完成任务。
大型语言模型Devika 利用像 Claude、GPT-4 和通过 Ollama 支持的本地语言模型等最先进的语言模型用于自然语言理解、生成和推理。
规划和推理引擎负责将高级目标分解为可行动步骤并根据当前上下文做出决策。
研究模块利用关键字提取和网络浏览能力收集与当前任务相关的信息。
代码编写模块根据计划、研究结果和用户需求生成代码。支持多种编程语言。
浏览器交互模块使 Devika 能够浏览网站、提取信息并根据需要与网页元素交互。
知识库存储和检索项目特定信息、代码片段和学习知识以实现高效访问。
数据库持久化项目数据、代理状态和配置设置。
详细文档请阅读 ARCHITECTURE.md[1]。 快速开始
在本地运行项目的最简单方法
1.安装 uv - Python 包管理器https://github.com/astral-sh/uv2.安装 bun - JavaScript 运行时https://bun.sh/3.安装并设置 Ollamahttps://ollama.com/4.在 config.toml 文件中设置 API 密钥。这个功能很快就会移到 UI 中届时您可以直接在 UI 中设置这些密钥而无需触及命令行想要实现它吗请查看此问题#3
然后执行以下一组命令
ollama serve
git clone https://github.com/stitionai/devika.git
cd devika/
uv venv
uv pip install -r requirements.txt
cd ui/
bun install
bun run dev
cd ..
python3 devika.py
复制
安装
Devika 依赖以下内容
••Ollama安装说明请见https://ollama.com/
••Bun安装说明请见https://bun.sh/
••安装 Devika请遵循以下步骤
1.克隆 Devika 仓库
git clone https://github.com/stitionai/devika.git
复制
2.导航到项目目录
cd devika
复制
3.安装所需依赖项 pip install -r requirements.txt playwright install --with-deps # installs browsers in playwright (and their deps) if required
复制
4.设置必要的 API 密钥和配置参见配置部分。5.启动 Devika 服务器 python devika.py
复制
6.编译并运行 UI 服务器
cd ui/
bun install
bun run dev
复制
7.通过打开浏览器并导航到 http://127.0.0.1:3000 访问 Devika Web 界面。
入门
开始使用 Devika请遵循以下步骤 1.在浏览器中打开 Devika Web 界面。 2.点击“新建项目”按钮并为您的项目提供一个名称以创建一个新项目。 3.为您的项目选择所需的编程语言和模型配置。 4.在聊天界面中为 Devika 提供一个高级目标或任务描述以供其工作。 5.Devika 将处理您的请求将其分解为步骤并开始处理任务。 6.监控 Devika 的进展查看生成的代码并根据需要提供额外的指导或反馈。 7.一旦 Devika 完成任务请审阅生成的代码和项目文件。 8.通过提供进一步的指令或修改根据需要迭代和完善项目。
配置
Devika 需要某些配置设置和 API 密钥才能正常工作。使用以下信息更新 config.toml 文件
•OPENAI_API_KEY用于访问 GPT 模型的 OpenAI API 密钥。•CLAUDE_API_KEY用于访问 Claude 模型的 Anthropic API 密钥。•BING_API_KEY用于网页搜索功能的 Bing 搜索 API 密钥。•DATABASE_URL数据库连接的 URL。•LOG_DIRECTORY存储 Devika 日志的目录。•PROJECT_DIRECTORY存储 Devika 项目的目录。请确保保护您的 API 密钥安全不要公开分享。
深入了解
通过下文让我们一起深入了解 Devika 中使用的一些关键组件和技术。
AI 规划和推理
Devika 采用先进的 AI 规划和推理算法将高级目标分解为可执行的步骤。规划过程包括以下阶段
1.目标理解Devika 分析给定的目标或任务描述以理解用户的意图和要求。
2.上下文收集从对话历史、项目文件和知识库中收集相关上下文以通知规划过程。
3.步骤生成根据目标和上下文Devika 生成一系列高级步骤来完成任务。
4.细化和验证细化和验证生成的步骤以确保它们的可行性和与目标的一致性。
5.执行Devika 执行计划中的每个步骤根据需要利用各种子代理和模块。推理引擎不断评估进展并根据执行过程中接收到的新信息或反馈调整计划。
关键词提取
为了实现专注的研究和信息收集Devika 采用了关键词提取技术。该过程包括以下步骤
•预处理对输入文本目标、对话历史或项目文件进行预处理去除停用词、分词和规范化文本。•关键词识别Devika 使用 BERT双向编码器表示变换器模型从预处理的文本中识别重要的关键词和短语。BERT 在大型语料库上的预训练使其能够捕捉语义关系并理解给定上下文中单词的重要性。•关键词排名根据其与手头任务的相关性和重要性对识别的关键词进行排名。使用像 TF-IDF词频-逆文档频率和 TextRank 等技术为每个关键词分配分数。•关键词选择选择排名最高的关键词作为当前上下文中最相关和最具信息性的关键词。这些关键词用于指导研究和信息收集过程。通过提取与上下文相关的关键词Devika 可以专注其研究工作并检索相关信息以协助完成任务。
浏览器交互
Devika 包含浏览器交互能力以导航网站、提取信息和与网页元素交互。浏览器交互模块利用 Playwright 库自动化网页交互。该过程包括以下步骤
•导航Devika 使用 Playwright 导航到特定的 URL 或根据提供的关键词或要求执行搜索。•元素交互Playwright 允许 Devika 与网页元素进行交互例如点击按钮、填写表单和从特定元素中提取文本。•页面解析Devika 解析访问网页的 HTML 结构以提取相关信息。它使用像 CSS 选择器和 XPath 等技术来定位和提取特定数据点。•JavaScript 执行Playwright 使 Devika 能够在浏览器上下文中执行 JavaScript 代码从而实现动态交互和数据检索。•屏幕截图捕获Devika 可以捕获访问网页的屏幕截图这对于视觉参考或调试目的很有用。浏览器交互模块赋予 Devika 从网络收集信息、与在线资源交互以及将实时数据纳入其决策和代码生成过程的能力。
编写代码
Devika 的代码编写模块根据计划、研究发现和用户要求生成代码。该过程包括以下步骤
•语言选择Devika 确定用户指定的编程语言或根据项目上下文推断它。•代码结构生成根据计划和特定于语言的模式Devika 生成代码的高级结构包括类、函数和模块。•代码填充Devika 使用特定的逻辑、算法和数据操作语句填充代码结构。它利用研究发现、知识库中的代码片段以及自己对编程概念的理解来生成有意义的代码。•代码格式化生成的代码根据特定于语言的约定和最佳实践进行格式化以确保可读性和可维护性。•代码审查和完善Devika 审查生成的代码检查语法错误、逻辑不一致以及潜在的改进点。它根据自己的分析和用户提供的任何反馈迭代地完善代码。Devika 的代码编写能力使其能够根据每个项目的具体要求和上下文生成各种编程语言中的功能性和高效代码。
其他
本文由山行翻译整理自https://github.com/stitionai/devika devika AI 软件工程师Devin 的开源替代方案。程序员会被替代吗 另外国内有款多AgentGitHub - kuafuai/DevOpsGPT: Multi agent system for AI-driven software development. Combine LLM with DevOps tools to convert natural language requirements into working software. Supports any development language and extends the existing code.