ChatGPT代码解释器与Jupyter Notebook合体,编码能力更强了
机器之心报导
当你使用 AI 编码助手的时候会遇到甚么困难?它是不是是让你又爱又恨?本文介绍的 Chapyter 将目前火爆的 ChatGPT 代码解释器与 Jupyter Notebook 结合了起来,让你的编码更加地高效。
无庸置疑,在 AI 的帮助下,开发者的编码效力能够大大提升。
开发者们将从简单、重复的编码工作中摆脱出来。但是随之而来的诸多问题,常常让使用 AI 的开发者们头秃不已。
Chapyter 将 GPT⑷ 这样强大的代码生成模型合并到 Jupyter Notebook 编码环境中,开辟了人类 - AI 协作的新模式,在极大程度上解决了大部份编程助手会出现的问题。
Chapyter 是一个 JupyterLab 扩大,将 GPT⑷ 无缝连接到你的编码环境,并且具有一个代码解释器,可以将自然语言描写翻译为 Python 代码并自动履行。并且 Chapyter 通过在你最熟习的 IDE 中启用「自然语言编程」,提高你的工作效力,并使你能够探索更多何尝试过的新想法。
项目链接:https://github.com/chapyter/chapyter
下图为 Chapyter 与部份现有的编码助手的差别。
可以发现,Chapyter 将编码助手的优势综合了起来。它可以帮助开发者完成各种复杂的编码任务、自动履行 AI 生成的代码,还可以够让开发者进行原位调试、自定义 Prompt,乃至保护了开发者与代码的隐私性,避免数据被利用。
Chapyter 的特点与优势
Chapyter 的主要特点有:
1. 从自然语言生成代码并自动履行
只需在任务自然语言描写的单元格开头添加命令「%% chat」,代码就会生成,并且用时极短,只需要几秒钟。
别小瞧了 Chapyter 的这个优势。
自动补全一直是许多 AI 辅助编码工具的主流交互,在编码环境中提供 AI 支持,并且可以显著提高开发人员工作的生产力和满意度。但是,自动补全其实不完善:穿插 AI 代码建议可能会分散注意力;生成的代码可能包括可能很难调试的隐藏毛病;并且生成的代码通常只逾越几行,很难在上下文以外生成新的功能。
Chapyter 通过提供单元级代码生成和自动履行克服了这些问题。你只需键入要履行的操作的自然语言描写,Chapyter 将调用 GPT-X 模型来生成代码并为你履行。这与 Copilot 等系统中的代码补全非常区别:其旨在支持仅逾越几行代码并且与当前工作非常相关的微任务,例如,完成函数调用。而 Chapyter 旨在接收完全的任务,有时可能与现有代码区别。
默许情况下,生成的代码是隐藏的,由于 Chapyter 希望淡化 AI 生成的代码并专注于结果。并且,关于自动履行你也无需担心,由于 Chapyter 有一个安全模式来避免自动履行可能危险的代码。
2. 使用编码历史和履行输出来生成代码
Chapyter 还可以利用你的代码历史记录和履行输出来提供上下文感知建议。它还可以选择加载文件,以便为进一步处理和分析提供建议。
以下图所示,通过在代码生成中添加 --history 或 -h 标志,Chapyter 可使用之前的履行历史和输出,为加载的 IRIS 数据集生成相应的可视化代码。
3. 原位调试、编辑代码
生成的代码可能其实不完善,可能包括 bug 或毛病。由于 Chapter 已完全集成到 Jupyter Notebook 中,因此无需离开 IDE,你就能够轻松地检查代码并修复任何毛病或 bug (例如,在这类情况下安装缺少的依赖项)。
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 内核的编排。
参考链接:
https://www.reddit.com/r/MachineLearning/comments/15269v8/p_chapyter_chatgpt_code_interpreter_in_jupyter/
https://www.szj.io/posts/chapyter
https://github.com/chapyter/chapyter
© THE END
转载请联系本公众号取得授权
投稿或寻求报导:content@jiqizhixin.com