如果您正在寻找人工智能助手来帮助您编写代码,那么您很可能遇到过 CodeGPT。它是您在编程时可以用来帮助您的众多人工智能工具之一。但CodeGPT真的能写代码吗?
CodeGPT 是一个专用扩展,它使用不同的人工智能 (AI) 模型来帮助程序员编写和修复代码。它包括旨在更快、更轻松编程的各种功能,包括自动完成、代码解释、重构、文档、单元测试、错误检查和错误修复。它还具有类似 ChatGPT 的界面,您可以从代码编辑器访问。
该扩展特别强大,因为它可以让您连接到来自 OpenAI 和 Google 等不同提供商的各种主流大语言模型 (LLM)。最重要的是,CodeGPT 允许您创建自己的 AI 代理,您可以在项目中使用它或与其他人共享。
虽然有多种适用于 Linux、macOS 和 Windows 的代码编辑器,但 CodeGPT 仅提供两种。现在,您可以在 VS Code 或 Cursor(VS Code 的一个分支)中安装和使用 CodeGPT。
您可以免费下载并安装 CodeGPT,但使用该扩展需要付费。 CodeGPT 提供各种订阅套餐,如果您需要无限制访问,您可以付费购买。
CodeGPT Plus 共有三种订阅计划。基本计划的价格为 9.99 美元/月,其次是标准计划(19.99 美元/月)和黄金计划(49.99 美元/月)。有一个免费试用期,您可以使用该试用期来评估扩展。每个包都可以让您访问特定的 AI 代理并进行无限的交互。
请记住,您需要为无限制使用第三方 AI 模型(例如 OpenAI 的 GPT-4 模型)付费。尽管您可以免费访问 Open AI 的 GPT-4 模型,但您无法在 VS Code 或 Cursor 中执行此操作。
为了评估这一点,我们将使用扩展来帮助我们在 Python 中生成两个不同的代码示例。
首先,我们要求模型使用所有相关方法在 Python 中生成堆栈数据结构。我们使用了这个提示:
在 Python 中创建一个堆栈并包含所有必要的方法
模型生成了以下响应:
classStack:def__init__(self):self.stack = []defpush(self, item):self.stack.append(item)defpop(self):if self.is_empty():raise IndexError("Pop from empty stack")return self.stack.pop()defpeek(self):if self.is_empty():raise IndexError("Peek from empty stack")return self.stack[-1]defis_empty(self):return len(self.stack) == 0defsize(self):return len(self.stack)
此示例表明 CodeGPT 足够聪明,可以使用类创建堆栈,并包含必要的检查处理可能出现的特定错误。例如,如果您尝试查看或弹出空堆栈,代码会抛出信息性错误。
在第二个挑战中,我们要求 CodeGPT 将 JSON 格式的响应从 JSONPlaceholder API 保存到 CSV 文件。对于上下文,来自 JSONPlaceholder API 的响应如下所示:
{'userId': 1,'id': 1,'title': 'sunt aut facere repellat provident occaecati excepturi optio reprehenderit','body': 'quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto'}
我们向 CodeGPT 询问了以下问题:
我已向 https://jsonplaceholder.typicode.com/posts/1 上的外部 API 发出请求,并且收到了回复。我已将响应格式化为 json,如何将其保存在 csv 文件中?
CodeGPT 响应的代码为:
import csvimport requests# Make a GET request to the APIresponse = requests.get('https://jsonplaceholder.typicode.com/posts/1')# Convert the response to JSON formatdata = response.json()# Since we're receiving a dictionary, we need to turn it into a list of one dictionarydata = [data]# Open (or create) a CSV file to write the datawith open('output.csv', 'w', newline='') as output_file:# Create a CSV writer objectwriter = csv.DictWriter(output_file, fieldnames=data[0].keys())# Write the CSV headerswriter.writeheader()# Write the data to the CSV filewriter.writerows(data)
一般来说,这个响应很好;它不需要任何调整即可工作。 CodeGPT 还添加了注释,解释了各行代码的用途,如果您是第一次做某事,这会很有用。
这里唯一的问题是调用 open() 时响应未指定编码类型。虽然会自动包含默认值,但建议指定编码类型,并且在使用 Python 写入文件时将其视为最佳实践。这可能会帮助您避免错误的解释,从而导致文本混乱。
所以:CodeGPT 可以编写代码,但您应该小心,因为它并不总是为您提供最佳输出。您得到的结果可能容易出错,并且可能不遵循最佳实践。每当您使用 CodeGPT 或任何其他人工智能驱动的工具编写代码时,请首先努力理解代码的作用。不要只是复制和粘贴。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3