OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  DevGPT 模拟虚拟开发团队协作的软件工程Agent系统

DevGPT 模拟虚拟开发团队协作的软件工程Agent系统

 
  whisper ·  2026-03-25 09:46:21 · 5 次点击  · 0 条评论  

Dev-GPT:您的自动化开发团队

⚠️ 此为实验版本。⚠️

产品经理
产品经理
开发者
开发者
DevOps
DevOps

告诉您的 AI 团队您想构建什么微服务,他们就会为您实现。 唯一的限制是您的想象力!

测试状态 代码覆盖率 包版本 支持的 Python 版本 支持平台 下载量

欢迎来到 Dev-GPT,我们利用先进的人工智能技术将您的想法变为现实!
我们的自动化开发团队旨在创建满足您特定需求的微服务,让您的软件开发过程无缝且高效。
团队由虚拟的产品经理、开发者和 DevOps 工程师组成,确保您的项目从概念到部署的每个环节都得到妥善处理。

快速开始

pip install dev-gpt
dev-gpt generate

要求

  • 拥有访问 gpt-3.5-turbogpt-4 权限的 OpenAI API 密钥。
  • 如果您希望微服务能够搜索网络内容,需要设置 GOOGLE_API_KEYGOOGLE_CSE_ID 环境变量。
    更多信息请参考此处
dev-gpt configure --openai_api_key <您的 openai api 密钥>
dev-gpt configure --google_api_key <google api 密钥> (可选,用于谷歌自定义搜索)
dev-gpt configure --google_cse_id <google cse id> (可选,用于谷歌自定义搜索)

如果您设置了环境变量 OPENAI_API_KEY,则可以跳过配置步骤。
您的 API 密钥必须能访问 gpt-4 才能使用此工具。
我们正在研究如何支持使用 gpt-3.5-turbo

文档

生成微服务

dev-gpt generate \
--description "<微服务功能描述>" \
--model <gpt-3.5-turbo 或 gpt-4> \
--path </本地文件夹路径>

生成个人微服务需要以下信息:
- 您想要实现的任务 描述。(可选)
- 您想要使用的 模型 - gpt-3.5-turbogpt-4gpt-3.5-turbo 价格便宜约 10 倍,但无法生成太复杂的微服务。(默认:您有权限访问的最大模型)
- 微服务生成到本地的 路径。(默认:./microservice)

创建过程通常需要 5 到 15 分钟。
在此期间,GPT 会迭代构建您的微服务,直到找到能让测试场景通过的策略。

请注意,使用 GPT-4 生成每个微服务的 OpenAI 费用大约在 $0.50 到 $3.00 之间,使用 GPT-3.5-Turbo 则在 $0.05 到 $0.30 之间。

运行微服务

在本地 Docker 中运行微服务。如果您的机器上未运行 Docker,它将尝试在不使用 Docker 的情况下运行。
此命令会在浏览器中打开一个游乐场,供您测试微服务。

dev-gpt run --path <微服务路径>

部署微服务

如果您想将微服务部署到云端,需要一个 Jina 账户
创建 Jina 账户时,您会获得一些免费额度,可用于部署微服务($0.025/小时)。
如果额度用完,您可以购买更多。

dev-gpt deploy --microservice_path <微服务路径>

删除微服务

为了节省额度,您可以通过以下命令删除微服务:

jc list # 获取微服务 ID
jc delete <微服务 ID>

示例

本节展示了使用 Dev-GPT 可以生成的微服务类型,帮助您了解其能力。

赞美生成器

dev-gpt generate \
--description "用户输入一些内容,获得一个相关的深度赞美。" \
--model gpt-4

赞美生成器

根据 URL 提取并总结新闻文章

dev-gpt generate \
--description "使用 Newspaper3k 库从新闻文章 URL 中提取文本,并使用 GPT 生成摘要。示例输入:http://fox13now.com/2013/12/30/new-year-new-laws-obamacare-pot-guns-and-drones/" \
--model gpt-4

新闻文章示例

化学式可视化

dev-gpt generate \
--description "将化学式转换为 2D 化学结构图。示例输入:C=C, CN=C=O, CCC(=O)O" \
--model gpt-4

化学式可视化

3D 模型的 2D 渲染

dev-gpt generate \
--description "使用 trimesh 和 pyrender.OffscreenRenderer 以及 os.environ['PYOPENGL_PLATFORM'] = 'egl' 和 freeglut3-dev 库,创建整个 3D 对象及其 x、y、z 轴旋转的 2D 渲染。示例输入:https://graphics.stanford.edu/courses/cs148-10-summer/as3/code/as3/teapot.obj" \
--model gpt-4

3D 模型的 2D 渲染

产品推荐

dev-gpt generate \
--description "根据用户产品浏览历史和产品类别(时尚、电子产品、运动)生成个性化产品推荐。示例:输入:浏览历史:prod1(电子产品),prod2(时尚),prod3(时尚),输出:p4(时尚)" \
--model gpt-4

产品推荐

Hacker News 搜索

dev-gpt generate \
--description "给定搜索查询,使用 Hacker News API 查找文章,并返回(标题、作者、网站链接、网站首张图片)的列表。" \
--model gpt-4

Hacker News 搜索

动物检测器

dev-gpt generate \
--description "给定一张图片,返回带有所有动物边界框的图片(使用 https://pjreddie.com/media/files/yolov3.weights, https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolov3.cfg)。示例输入:https://images.unsplash.com/photo-1444212477490-ca407925329e" \
--model gpt-4

动物检测器

表情包生成器

dev-gpt generate \
--description "根据图片和标题生成表情包。示例输入:https://media.wired.com/photos/5f87340d114b38fa1f8339f9/master/w_1600%2Cc_limit/Ideas_Surprised_Pikachu_HD.jpg, 顶部文字:When you discovered GPT Dev" \
--model gpt-4

表情包生成器

押韵词生成器

dev-gpt generate \
--description "给定一个单词,使用 datamuse API 返回一个押韵词列表。" \
--model gpt-4

押韵词生成器

词云生成器

dev-gpt generate \
--description "根据给定文本生成词云。" \
--model gpt-4

词云生成器

3D 模型信息

dev-gpt generate \
--description "给定一个 3D 对象,返回顶点数和面数。示例:https://raw.githubusercontent.com/polygonjs/polygonjs-assets/master/models/wolf.obj" \
--model gpt-4

3D 模型信息

表格提取

dev-gpt generate \
--description "给定一个 URL,提取所有表格为 CSV 格式。示例:http://www.ins.tn/statistiques/90" \
--model gpt-4

表格提取

音频转梅尔频谱图

dev-gpt generate \
--description "从音频文件创建梅尔频谱图。示例:https://cdn.pixabay.com/download/audio/2023/02/28/audio_550d815fa5.mp3" \
--model gpt-4

音频转梅尔频谱图

文本转语音

dev-gpt generate \
--description "将文本转换为语音。" \
--model gpt-4

文本转语音



您的浏览器不支持音频元素。

热力图生成器

dev-gpt generate \
--description "根据图片和一组相对坐标列表创建热力图。示例输入:https://images.unsplash.com/photo-1574786198875-49f5d09fe2d2, [[0.1, 0.2], [0.3, 0.4], [0.5, 0.6], [0.2, 0.1], [0.7, 0.2], [0.4, 0.2]]" \
--model gpt-4

热力图生成器

二维码生成器

dev-gpt generate \
--description "根据 URL 生成二维码。示例输入:https://www.example.com" \
--model gpt-4

二维码生成器

曼德博集合可视化器

dev-gpt generate \
--description "使用自定义参数可视化曼德博集合。示例输入:center=-0+1i, zoom=1.0, size=800x800, iterations=1000" \
--model gpt-4

曼德博集合可视化器

Markdown 转 HTML 转换器

dev-gpt generate --description "将 Markdown 转换为 HTML"

Markdown 转 HTML 转换器

技术洞察

下图展示了创建微服务并将其部署到云端的过程,其中阐述了两种不同的实现策略。


graph TB

    description[描述:根据 URL 生成二维码] --> make_strat{思考策略}

    test[测试:https://www.example.com] --> make_strat[生成策略]

    make_strat --> implement1[实施策略 1]

    implement1 --> build1{构建镜像}

    build1 -->|错误信息| implement1

    build1 -->|失败 10 次| implement2[实施策略 2]

    build1 -->|成功| registry[推送 Docker 镜像到注册表]

    implement2 --> build2{构建镜像}

    build2 -->|错误信息| implement2

    build2 -->|失败 10 次| all_failed[所有策略均失败]

    build2 -->|成功| registry[推送 Docker 镜像到注册表]

    registry --> deploy[部署微服务]

    deploy --> streamlit[生成 Streamlit 游乐场]

    streamlit --> user_run[用户测试微服务]

  1. Dev-GPT 识别出几种实现您任务的策略。
  2. 它测试每种策略,直到找到一种可行的。
  3. 对于每种策略,它会生成以下文件:
    • microservice.py:这是微服务的主要实现。
    • test_microservice.py:这些是确保微服务按预期工作的测试用例。
    • requirements.txt:此文件列出了微服务及其测试所需的包。
    • Dockerfile:此文件用于在容器中运行微服务,并在构建镜像时运行测试。
  4. Dev-GPT 尝试构建镜像。如果构建失败,它会使用错误信息来应用修复,然后再次尝试构建镜像。
  5. 一旦找到成功的策略,它会:
    • 将 Docker 镜像推送到注册表。
    • 部署微服务。
    • 生成一个 Streamlit 游乐场,供您测试微服务。
  6. 如果连续失败 10 次,则转向下一种方法。

🔮 愿景

使用自然语言界面来生成、部署和更新您的微服务基础设施。

✨ 贡献者

如果您想为此项目做贡献,欢迎提交 PR 或 issue。
以下列出了一些待完成的事项。

后续步骤:
- [ ] 检查 Windows 和 Linux 支持是否正常工作
- [ ] 为 README.md 添加视频
- [ ] 修复 bug:代码生成可能无限挂起 - 此时应中止并重新生成
- [ ] 新用户有免费额度,但应提示其验证账户

锦上添花的功能:
- [ ] 响应结果的平滑渲染动画
- [ ] 如果用户运行 dev-gpt 时不带任何参数,显示帮助信息
- [ ] 不显示此消息:🔐 You are logged in to Jina AI as florian.hoenicke (username:auth0-unified-448f11965ce142b6). To log out, use jina auth logout.
- [ ] 将游乐场集成到自定义网关中(无需重建自定义网关)
- [ ] 在普通模式下隐藏提示,在详细模式下显示提示
- [ ] 测试
- [ ] 清理重复代码
- [ ] 支持主流云提供商 - Lambda、Cloud Run、Cloud Functions 等
- [ ] 支持本地 Docker 构建
- [ ] 启用自动扩缩容以节省成本
- [ ] 在 README.md 中添加更多示例
- [ ] 支持多端点 - 示例:具有添加、删除和列出待办事项端点的待办事项列表微服务
- [ ] 支持有状态微服务
- [ ] 当前游乐场即使未更改也会打印两次。确保仅在更改时打印两次。
- [ ] 允许通过提供反馈来更新您的微服务
- [ ] 支持其他大型语言模型,如 Open Assistant
- [ ] 为了节省成本,在生成主要功能代码时应减少上下文插入 - 不需要 Jina 相关知识
- [ ] 使用 dev-gpt list 显示所有部署
- [ ] dev-gpt delete 删除部署
- [ ] dev-gpt update 更新部署
- [ ] 测试参数可选 - 如果没有测试参数,首先询问 GPT 是否需要更多信息来编写测试 - 例如访问 PDF 数据
- [ ]

5 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 21 ms
Developed with Cursor