0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Chapyter让编码更加地高效

科技绿洲 来源:机器之心 作者:机器之心 2023-11-03 10:37 次阅读

相信很多小伙伴是Jupyter的重度使用者,本篇介绍一个利器 Chapyter 它将目前火爆的 ChatGPT 代码解释器与 Jupyter Notebook 结合了起来,让编码更加地高效。

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

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

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

Chapyter 是一个 JupyterLab 扩展,将 GPT-4 无缝连接到你的编码环境,并且具有一个代码解释器,可以将自然语言描述翻译为 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 内核的编排。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码
    +关注

    关注

    6

    文章

    840

    浏览量

    54534
  • 代码
    +关注

    关注

    30

    文章

    4603

    浏览量

    67390
  • 解释器
    +关注

    关注

    0

    文章

    98

    浏览量

    6437
收藏 人收藏

    评论

    相关推荐

    基于RFID和AI等先进技术,医疗保健更加高效、准确

    电子发烧友网报道(文/吴子鹏)近年来,随着数字技术的快速发展和用户需求的不断提升,我国数字医疗产业迅速崛起。主要体现在三方面:其一是医院资产的数字化管理,医院运转更加高效;其二是医疗过程的数字化
    的头像 发表于 05-23 00:09 3007次阅读
    基于RFID和AI等先进技术,<b class='flag-5'>让</b>医疗保健<b class='flag-5'>更加高效</b>、准确

    最新的高效音视频编码及视频图像处理技

    本帖最后由 mr.pengyongche 于 2013-4-30 02:58 编辑 最新的高效音视频编码及视频图像处理技术在视频领域,图像视频的很多问题困扰着广大IT技术人员。现在给大家介绍
    发表于 10-11 16:39

    均值滤波如何信号更加平稳

    求教各位大神采集的多路信号怎么每100个数取平均再显示,也就是用均值滤波信号更加平稳
    发表于 11-24 09:03

    如何现场总线通讯更加稳定可靠?

    如何现场总线通讯更加稳定可靠?怎样才能搭建好握手通讯?
    发表于 05-20 06:58

    清除故障,Windows更加亲切

    清除故障,Windows更加亲切 针对服务器的需求,Windows 2003对声卡、显卡等硬件的默认设置做了处理,个人用户在使用时经常会碰
    发表于 01-29 11:46 211次阅读

    微视酷推出Pico亮相CES展,VR教育变得更加的实用和高效

    学习效率和积极性;一站式解决方案为学校教育和企业培训提供专业的技术服务。2018年微视酷转型为VR教育提供核心技术,老师成为真正的VR教育内容制作者,实现VR技术赋能教育现代化,VR教育变得更加的实用和
    的头像 发表于 01-16 11:15 3494次阅读

    自动驾驶警车自动贴罚单,交警的执法变得更加高效

    在自动驾驶技术被视为汽车行业的一个转折点之后,人们对于该技术的讨论普遍停留在家用车、火车和公交车上,而近日,福特的一项专利则提醒人们,自动驾驶还可以交警的执法变得更加高效
    发表于 06-11 02:04 1572次阅读

    如何智慧城市变得更加的科学高效

    智慧交通通过收集车流信息进行分析预判,对于重点时段、重点路段提早疏导,车流更加通畅,城市交通变得高效
    发表于 04-09 10:49 449次阅读

    智慧医疗送服务上门,医疗服务变得更加高效

    没有全民健康,就没有全面小康。近年来,随着电子社保卡、网络就医、移动方舱等便捷智慧医疗服务纷纷涌现,不仅方便了患者,也缓解了医院的接诊压力,医疗服务变得更加高效
    发表于 12-28 10:55 648次阅读

    储能设备设计可以电能更加合理高效的使用

    的地方使用。可以在时间、空间方面满足人们的用电需求,电能更加合理高效的使用。储能设备分为户用储能、工商业储能、大型储能,生活中常见的有移动电源、储能电池、家用储能机等。 设计师通过市场调研并结合用户的需求,
    发表于 05-22 14:33 1883次阅读

    了解高级处理器功能可促进高效编码

    了解高级处理器功能可促进高效编码
    发表于 05-14 18:38 10次下载
    了解高级处理器功能可促进<b class='flag-5'>高效</b><b class='flag-5'>编码</b>

    C++代码更加高效的几个小技巧

    今天和大家介绍一下能让C++代码更加高效的几个小技巧,话不多说,以下为本文目录: 参数传递方式:值传递还是引用传递 函数返回方式:按值返回还是按引用返回 使用移动语义 避免创建临时对象 了解返回值
    的头像 发表于 09-23 15:20 2218次阅读
    <b class='flag-5'>让</b>C++代码<b class='flag-5'>更加高效</b>的几个小技巧

    一键控制家居场景 生活更加智能

    硬件场景:一键控制家居场景 生活更加智能
    发表于 12-22 17:51 466次阅读

    ADAS技术在车辆中更加普及

    ADAS技术在车辆中更加普及
    发表于 10-31 08:23 0次下载
    <b class='flag-5'>让</b>ADAS技术在车辆中<b class='flag-5'>更加</b>普及

    模块电源有哪些优势 BOSHIDA高效稳定,节省空间!选择模块电源,你的设备更加可靠

    模块电源有哪些优势  BOSHIDA高效稳定,节省空间!选择模块电源,你的设备更加可靠 使用模块电源有以下几个优势: 高效稳定:模块电源采用先进的开关电源技术,具有
    的头像 发表于 03-25 09:04 218次阅读