如何使用带有 GPT-4 的 ChatGPT 进行编码?

493 阅读4分钟

介绍

目前,我正在使用LangChainOpenAI API开发一个应用程序——GPT-4 在使开发过程更快、更无缝方面提供了巨大帮助。

我在本文中的目标是向您展示 AI 工具如何使编码变得更快、更简单,无论您是专业人士还是新手。让我们看看带有 GPT-4 的 ChatGPT 如何促进您的编码工作!

GPT-4 vs GPT-3.5——有什么区别?

使用 GPT-4 模型的 ChatGPT 擅长编码。标准 ChatGPT 与 GPT-3.5 之间的区别显而易见。

你不必认为我的话是理所当然的。让我们看一个我认为最能概括质量差异的例子。

示例任务是编写一个函数来检查字符串是否包含列表中的任何短语。

首先,让我们看看 ChatGPT with GPT-3.5的答案是什么:

image.png

从字符串列表中查找任何短语,GPT-3.5。图片由作者提供。

没关系,但非常基本和天真。我们没有收到一个功能——使用起来很方便。输出未保存到变量中,这使得代码难以用于其他目的。

当然,我们可以修改提示并使其更具体,但这里的重点是在没有明确描述的情况下查看模型的性能。现在,让我们看看GPT-4将如何应对吧!

这是GPT-4为同一任务提供的内容——提示保持不变:

image.png

我们可以很容易地看到 GPT-4 创建的输出更好。首先,这是一个函数,而 GPT-3.5 提供了原始代码。此外,该函数返回一个布尔值——这使得它很容易在任何类型的表达式中使用。

这个例子的重点是可视化 GPT-3.5 和 GPT-4 之间编码的整体质量差异。在下一节中,我将展示一些我最近如何使用 GPT-4 进行编码的示例。

例子

在 Visual Studio Code 中设置 Poetry 环境

我最近从 PyCharm 转移到了 Visual Studio Code。我不知道如何设置Poetry依赖管理工具以使其与 VSCode 一起工作。我本可以滚动浏览文档,但我决定询问GPT-4如何做到这一点。

image.png

输出非常详细和正确!图片由作者提供。

答案看起来是正确的,但不完全适合我的情况。我已经有一个包含项目的目录。所以我跟进了另一个提示:

image.png

另一个详细的输出。图片由作者提供。

看起来不错,但我仍然对初始列表中的第 8 点有疑问。我在项目中没有 .venv 目录。所以我又问了模型:

image.png

这让我完成了解释器的配置!

这个例子的重点是展示 GPT-4 如何能够很好地调试和处理与工具相关的对话!我总是觉得设置编码环境很烦人,但现在 GPT-4 使工作变得容易多了!

使用教程创建新代码

这对我来说是一个杀手级用例。使用新库时,可能很难为与教程中介绍的不同的事物/用例生成正确的代码。

这就是 GPT-4 也可以提供救援的地方。让我们看一个基于教程笔记本的示例,我们为我们的用例生成新代码!顺便提一句。在此示例中,我们将使用 GPT-4 不了解的 LangChain——我们将仅基于教程中提供的示例。

image.png

GPT-4 不知道 LangChain。图片由作者提供。

任务: 我们需要检查文件中的令牌数量,看看它是否超过了用户设置的最大令牌数量(在我们的例子中是 4000 个令牌)。这是我必须解决的一项实际任务,以便截断比 GPT-3.5-turbo 模型的上下文窗口更长的文档。作为一次性提示的示例,我将使用OpenAI cookbook

这是初始提示:

image.png

向 GPT-4 提供任务和示例。图片由作者提供。

这是输出:

image.png

第一个输出有点幼稚,但我们没有给它一个重要的例子!图片由作者提供。

第一个输出有点幼稚,但我们没有给模型一个带有解码功能的重要示例。

这就是为什么我跟进了教程中的另一部分,该部分展示了如何使用此功能:

image.png

更新后的功能看起来不错!图片由作者提供。

输出给我留下了深刻的印象!该模型能够根据附加示例修改函数。我将此功能添加到文本摘要引擎的工作流程中,并且运行良好!