ChatGPT代码解释器与Jupyter Notebook合体,编码能力更强了

当你应用 AI 编码帮忙的时候会遇到什么困难?它是不是让你又爱又恨?本文介绍的 Chapyter 将目前火爆的 ChatGPT 代码解释器与 Jupyter Notebook 结合了起来,让你的编码更加地高效。

毋庸置疑,在 AI 的帮助下,开发者的编码效率能够大大提升。

开发者们将从简单、重复的编码工作中解脱出来。但是随之而来的诸多问题,往往让应用 AI 的开发者们头秃不已。

Chapyter 将 GPT-4 这样强大的代码生成模型合并到 Jupyter Notebook 编码环境中,开辟了人类 – AI 协作的新模式,在极大程度上解决了大部分编程帮忙会出现的问题。

Chapyter 是一个 JupyterLab 扩展,将 GPT-4 无缝连接到你的编码环境,并且具有一个代码解释器,可以将自然语言描述翻译为 Python 代码并主动施行。并且 Chapyter 通过在你最熟悉的 IDE 中启用「自然语言编程」,提高你的工作效率,并使你能够探索更多未尝试过的新想法。

ChatGPT代码解释器与Jupyter Notebook合体,编码能力更强了

项目链接:https://github.com/chapyter/chapyter

下图为 Chapyter 与部分现有的编码帮忙的差别。

可以发现,Chapyter 将编码帮忙的优势综合了起来。它可以帮助开发者完成各种复杂的编码使命、主动施行 AI 生成的代码,还能够让开发者进行原位调试、自定义 Prompt,甚至保护了开发者与代码的隐私性,避免数据被利用。

ChatGPT代码解释器与Jupyter Notebook合体,编码能力更强了

Chapyter 的特点与优势

Chapyter 的主要特点有:

1. 从自然语言生成代码并主动施行

只需在使命自然语言描述的单元格开头添加命令「%% chat」,代码就会生成,并且用时极短,只需要几秒钟。

ChatGPT代码解释器与Jupyter Notebook合体,编码能力更强了

别小瞧了 Chapyter 的这个优势。

主动补全一直是许多 AI 辅助编码工具的主流交互,在编码环境中提供 AI 支持,并且可以显著提高开发人员工作的生产力和满意度。然而,主动补全并不完美:穿插 AI 代码建议大概会分散注意力;生成的代码大概包含大概很难调试的隐藏错误;并且生成的代码通常只跨越几行,很难在上下文之外生成新的功能。

Chapyter 通过提供单元级代码生成和主动施行克服了这些问题。你只需键入要施行的操作的自然语言描述,Chapyter 将挪用 GPT-X 模型来生成代码并为你施行。这与 Copilot 等系统中的代码补全非常不同:其旨在支持仅跨越几行代码并且与当前工作非常相关的微使命,例如,完成函数挪用。而 Chapyter 旨在接管完整的使命,有时大概与现有代码不同。

默认情况下,生成的代码是隐藏的,因为 Chapyter 希望淡化 AI 生成的代码并专注于结果。并且,关于主动施行你也无需担心,因为 Chapyter 有一个安全模式来防止主动施行大概危险的代码。

2. 应用编码历史和施行输入来生成代码

Chapyter 还可以利用你的代码历史记录和施行输入来提供上下文感知建议。它还可以选择加载文件,以便为进一步处理和分析提供建议。

如下图所示,通过在代码生成中添加 –history 或 -h 标志,Chapyter 可以应用之前的施行历史和输入,为加载的 IRIS 数据集生成相应的可视化代码。

ChatGPT代码解释器与Jupyter Notebook合体,编码能力更强了

3. 原位调试、编辑代码

生成的代码大概并不完美,大概包含 bug 或错误。由于 Chapter 已完全集成到 Jupyter Notebook 中,因此无需离开 IDE,你就可以轻松地检查代码并修复任何错误或 bug (例如,在这种情况下安装缺少的依赖项)。

ChatGPT代码解释器与Jupyter Notebook合体,编码能力更强了

4.prompt 和 AI 配置透明化,并允许自定义

Chapyter 发布了库中应用的所有 prompt,并致力于让自定义所应用的 prompt 和设置更加便捷。

可查阅:https://github.com/chapyter/chapyter/blob/main/chapyter/programs.py

5. 应用 AI 时,隐私优先 

Chapyter 是一个极小的 Python 包,可以在本地安装并与 JupyterLab 无缝应用。它应用 OpenAI API 挪用 GPT-X 模型,默认情况下不会保留交互数据和代码进行训练。

因此与 Copilot 或 ChatGPT 缓存你的数据并用来训练和分析不同,Chapyter 所有发送到 OpenAI 的数据将不会被保存用于训练(可参阅 OpenAI API 数据应用策略)。

Chapyter 的构成

Chapyter 主要由两个部分组成:

实现 ipython magic 命令,用来处理提示和挪用 GPT-X 模型;

另一个是监听 Chapyter 单元格施行情况的前端,它会主动施行新生成的单元格并更新单元格的样式。

下图展示了施行 Chapyter 单元格后前端和 ipython 内核的编排。

ChatGPT代码解释器与Jupyter Notebook合体,编码能力更强了

参考链接:

[P] Chapyter: ChatGPT Code Interpreter in Jupyter Notebooks
byu/Shannon-Shen inMachineLearning

https://www.szj.io/posts/chapyter

https://github.com/chapyter/chapyter

给TA打赏
共{{data.count}}人
人已打赏
AI

比标准Attention提速5-9倍,大模型都在用的FlashAttention v2来了

2023-7-18 14:55:00

AI

能胜任统计学家?Transformers超强进修体制「主动算法采用」

2023-7-18 15:01:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索