Chapyter:在Jupyter中实现自然语言编程
自然语言编程是程序员梦寐以求的目标,Chapyter是一个很有前景的项目,它实现了在Jupyter Notebook中用自然语言直接编程。本文将介绍Chapyter的工作原理、特点以及如何使用。
简介
Chapyter是一款由MIT华人博士生Shannon Zejiang Shen开发的JupyterLab扩展,它将强大的GPT-4代码生成模型融合进编码环境,实现了人类与AI的协作,极大地提高了编码效率,同时解决了许多传统编程助手所面临的问题。
Chapyter的工作原理是连接GPT模型(默认是GPT-3.5-Turbo),将用户用自然语言描述的需求转换为Python代码,然后在Notebook中执行代码并返回结果。
Chapyter的主要特点包括:
- 从自然语言直接生成可执行的Python代码
- 基于执行历史和上下文的代码生成
- 可以调试和编辑生成的代码
- 使用GPT的API接口,保障用户隐私
GitHub项目页:https://github.com/chapyter/chapyter/
特点与优势
从自然语言生成代码并自动执行
只需在任务自然语言描述的单元格开头添加命令「%% chat」,代码就会生成,并且用时极短,只需要几秒钟。Chapyter通过在你熟悉的IDE中启用「自然语言编程」,提高工作效率,并探索更多未尝试过的新想法。生成的代码是隐藏的,关注结果而非AI生成的代码,同时有安全模式来防止自动执行可能危险的代码。
使用编码历史和执行输出来生成代码
Chapyter可以利用你的代码历史记录和执行输出,提供上下文感知建议,并可选择加载文件以便为进一步处理和分析提供支持。
原位调试、编辑代码
生成的代码可能含有bug或错误,但无需离开Jupyter Notebook,你可以在IDE中轻松检查代码并修复问题。
Prompt和AI配置透明化,并允许自定义
Chapyter公开了所使用的所有prompt,并且鼓励用户自定义prompt和设置。
使用AI时,隐私优先
Chapyter是一个极小的Python包,安装简便,并且默认情况下不会保留交互数据和代码进行训练,保护你的数据隐私。
与传统编码助手的区别
Chapyter将编码助手的优势综合起来,让开发者能够完成各种复杂的编码任务,并自动执行AI生成的代码。此外,Chapyter还允许在原位调试、自定义Prompt,保护开发者与代码的隐私性,避免数据被利用。
下图展示了Chapyter与部分现有编码助手的差别:
轻松部署与使用
Chapyter的部署过程十分简单。在装有Python和node.js的环境下,只需在命令行模式中输入「pip install chapyter」命令,就可完成安装。需要注意的是,安装过程可能会将Jupyter升级到4.0以上版本,可能引起环境变化。安装好之后,在环境变量中设置GPT的API key和组织名称,部署就完成了。使用时在Jupyter中输入「%load_ext chapyter」就能启动Chapyter。
结语
Chapyter为Jupyter用户带来了全新的编程体验,让自然语言编程成为现实。它充分发挥了GPT-4强大的代码生成能力,让编码变得高效、简单,同时又保留了调试和编辑的自由,确保编码质量。而且,它非常注重用户隐私,让使用AI时更加安心。不难想象,Chapyter的出现必将在编程领域掀起一股创新风潮,帮助开发者更加轻松地实现自己的编码目标。赶快尝试一下吧!
参考链接:
[1]https://www.reddit.com/r/MachineLearning/comments/15269v8/p_chapyter_chatgpt_code_interpreter_in_jupyter/
[2]https://www.szj.io/