#夏日生活打卡季##chatgpt到底有多牛##一起来玩chatgpt##chatGTP人工智能#
我们已经看到ChatGPT可以为我们生成代码,然后我们看到Auto-GPT如何使得GPT-4完全自主。现在,我们可以使用GPT-Engineer仅凭一个提示构建整个应用程序。
它是如何工作的?很简单,您只需要描述您的项目,GPT-Engineer就会为您构建它。
(相关资料图)
无需复制/粘贴代码;无需自行创建文件;无需自己设置项目环境。以下是如何安装和使用GPT-Engineer的步骤。我将解决您在安装过程中可能遇到的所有错误,并且如果GitHub存储库有所更改,我将尝试更新本指南。
第1步:克隆存储库
首先,我们需要克隆此GitHub存储库,为此,打开终端并运行以下代码。
git clone https://github.com/AntonOsika/gpt-engineer.git
第2步:设置GPT-Engineer
将创建一个名为gpt-engineer的新文件夹,使用cd命令切换到该目录。
cd gpt-engineermake installsource venv/bin/activate
注意:如果出现“找不到模块名为venv”的错误,您需要设置一个运行Python 3的虚拟环境(使用pip或conda),然后激活它,最后重复上述步骤。
# pippython3 -m venv name-of-envsource name-of-env/bin/activatecd gpt-engineer(重复上述步骤)# condaconda create --name name-of-env python=3.11.3conda activate name-of-envcd gpt-engineer(重复上述步骤)
然后,我们需要设置API密钥,如下所示。要获取OpenAI API密钥,请访问官网。
# macOS/linuxexport OPENAI_API_KEY=[your api key]# windowsset OPENAI_API_KEY=[your api key]
第3步:运行GPT-Engineer
我们与GPT-Engineer进行交互的方式是通过位于projects文件夹中的main_prompt文件。默认情况下,我们有一个名为“example”的文件夹,如下所示。
如果您想开始一个新项目,只需使用以下命令创建一个新文件夹。
cp -r projects/example/ projects/my-new-project
现在是时候编辑main_prompt文件了,如果您用文本编辑器打开它,将看到下面的文本。
我们正在使用Python编写贪吃蛇游戏。MVC组件在单独的文件中拆分。键盘控制。
这些是创建Python贪吃蛇游戏的指令。您可以按照提示进行测试,但在此演示中,我将将提示更改为抓取我的网站。
注意:如果您保持提示不变,按照下一部分中的步骤应该会得到这个贪吃蛇游戏。
测试1:网页抓取
从此网站抓取文章标题。文章标题位于h2标签内。将数据导出为CSV文件。
最后,运行gpt-engineer我们需要使用下面的命令。
gpt-engineer projects/my-new-project
由于我的文件夹名为“web-scraping”,对于我来说,命令将是gpt-engineer projects/web-scraping。
检查生成的文件!
所有生成的文件将位于projects/my-new-project/workspace中。
这是我得到的文件。
正如您所看到的,我得到了执行抓取的.py文件,而且我还得到了我想要的数据的CSV文件。
所有数据都被成功抓取!
请记住,您在按照本指南中的每个步骤进行操作时可能仍会遇到一些错误。这个GitHub项目很不错,但也存在一些问题。这是我找到的一些问题。
注1:requirements.txt文件可能没有生成。如果是这种情况,请复制生成的all_output.txt文件,并找到requirements.txt部分。删除该部分中除了指定的库以外的所有内容。
注2:如果出现错误openai.error.ServiceUnavailableError:服务器过载或尚未准备好,请稍后再试,问题应该会解决。
测试2:创建Web应用程序
与ChatGPT一样,当您编辑main_prompt文件时,您可以对提示进行详细说明,也可以不那么具体。
在这种情况下,我只需输入“创建一个关于狗的网站”,以查看它在没有太多提示的情况下能提供什么。
这是我得到的所有文件。
不幸的是,我仍然需要做一些调整才能使Web应用程序运行,但GPT-Engineer仍然简化了整个过程。
就是这样!现在轮到您使用GPT-Engineer构建应用程序了。请在评论区告诉我GPT-Engineer是否一次性满足了您的请求,还是您仍然需要做一些调整才能使代码运行起来。