在Jupyter中使用AI写代码,如有神助,太惊艳了
昨晚看到一个可以在JupyterLab中使用的AI代码辅助工具jupyter-ai,它的交互确实非常棒,可以直接聊天,也可以就笔记中的代码提问,最出彩的是生成笔记功能,还是蛮惊艳的。
这里就极简介绍一下安装及用法
第一步是创建环境并安装
conda create -n jupyter-ai python=3.11
conda activate jupyter-ai
pip install jupyter_ai
Jupyter AI 支持很多模型,这里就以使用最广泛的openai为例

要使用 OpenAI 模型,请安装openai的包,并在从终端启动 JupyterLab 时设置环境变量:
pip install openai
OPENAI_API_KEY="这里填api" jupyter lab
启动之后界面是这样

聊天界面
Jupyter AI 的最简单方法是使用聊天界面,单击左侧面板中的新“聊天”图标以打开聊天界面。

当你第一次打开聊天界面时,Jupyter AI 会询问你想要使用哪些模型作为语言模型和嵌入模型。做出选择后,UI 可能会显示一个或多个设置键的文本框。如果要切换模型,可以点击右上角的齿轮。可以选择语言模型,也可以选择嵌入模型。您应该选择其中之一,以便可以使用聊天界面的完整功能。

设置完所有必要的按键后,单击 Jupyter AI 侧面板左上角的“后退”(左箭头)按钮。现在出现聊天界面,可以使用底部的消息框提问。

询问笔记本中的内容
Jupyter AI 的聊天界面可以在提示中包含笔记本的一部分。

比如选中代码后在聊天界面提问代码的用途

可以将 Jupyternaut 的响应复制到剪贴板,以便将其粘贴到笔记本或任何其他应用程序中。
还可以在发送消息之前单击“替换选择”,选择用 Jupyternaut 的回答替换原内容。
连复制粘贴都省了!
生成一个新笔记本
可以使用 Jupyter AI 根据文本提示生成整个笔记本。
首先,打开聊天面板,然后向其发送一条以/generate开头的消息

当 Jupyter AI 生成笔记本后,它会向向发送另一条消息,其中包含其生成的文件名。这里没有那么智能哈,你需要手动打开该文件。
需要注意:可能需要几分钟才能生成笔记本,在此期间,你仍然可以像平常一样使用 JupyterLab 和 Jupyter AI。
Jupyter AI 工作时请勿关闭 JupyterLab 实例。

总结
jupyter ai 总体还是蛮好用的,本文介绍的也是最常用的。
还有一些其他玩法比如/ask 还有 /learn 大家可以多试试。
还有 %ai 魔法命令在笔记本中使用,就是在将第一个提示发送到 AI 模型之前,通过在笔记本单元或 IPython shell 中运行以下代码来加载 IPython 扩展:
%load_ext jupyter_ai_magics
这里就不做过多介绍,感兴趣可以看下官方文档,个人感觉使用体验不太好。
在Jupyter中使用AI写代码,如有神助,太惊艳了的更多相关文章
- AI写代码! 神器copilot介绍+安装+使用
!郑重提示!!!!!!!: 正在学编程.算法的同学请千万不要依赖此插件,否则你可能甚至无法手写出一个for循环 AI帮我写代码?我帮AI写代码?庄周梦蝶?蝶梦庄周?十分梦幻. copilot在VSco ...
- 从bug中学习怎么写代码
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:从bug中学习怎么写代码.
- Vs Code中炫酷写代码插件Power Mode的安装配置
扩展栏搜索 Power Mode 安装 安装后重启vs code 文件->首选项->设置 搜索setting.json,点击在setting.json中编辑 打开之后在右侧用户设置里添加以 ...
- [转]DllMain中不当操作导致死锁问题的分析——DllMain中要谨慎写代码(完结篇)
在CSDN中发现这篇文章,讲解的比较详细,所以在这里备份一个.原文链接:http://blog.csdn.net/breaksoftware/article/details/8167641 DllMa ...
- MySQL中这14个牛逼的功能,惊艳到我了!!!
前言 我最近几年用MYSQL数据库挺多的,发现了一些非常有用的小玩意,今天拿出来分享到大家,希望对你会有所帮助. 1.group_concat 在我们平常的工作中,使用group by进行分组的场景, ...
- 让 AI 为你写代码 - 体验 Github Copilot
前几天在群里看到有大神分享 Copoilot AI 写代码,看了几个截图有点不敢相信自己的眼睛.今天赶紧自己也来体验一下 Copoilot AI 写代码到底有多神奇. 申请 现在 Copoilot 还 ...
- 在word中显示漂亮的代码
在word中粘贴或写代码时,通常得不到想要的格式,可用‘Notepad++’工具实现. 步骤: (1)安装Notepad++软件,把代码粘贴进去,选择菜单栏中的语言,然后选择相应代码语言,如P-> ...
- .netER的未来路,关于基础是否重要和应该自己手写代码吗?
http://www.cnblogs.com/onepiece_wang/p/5558341.html#!comments 引用"基础知识的学习,一开始可能是背书,但是在后续若干年的工作过程 ...
- 写代码中遇到的问题(php接收不到传过来的json数据,php使用utf8的用法)
今天写代码用python处理完数据,传给php服务器后,发现接收不到数据,因为是跨域,所以加了消息头:header('Access-Control-Allow-Origin:*');但是并没有什么卵用 ...
- SQL强化(二) 在Oracle 中写代码
一 : 关于查询中的转换 -- 字符串转换 一 : decode 函数 转换 SELECT DECODE ( PROTYPE.PRO_TYPE_DATE, 'L', '长', 'm', '短', ' ...
随机推荐
- AI DevOps | ChatGPT 与研发效能、效率提升(中)
为啥 ChatGPT 突然火了? 简单概括就是:产品太过惊艳,体验超预期 之前人工智能发展多年,报道最多的也许就是曾经的李世石大战AlphaGo,现实中的特斯拉自动驾驶,还有波士顿动能放出的机器狗.对 ...
- vue全家桶进阶之路36:Vue3 全局路由useRouter和本地路由useRoute
在 Vue.js 3.x 中,我们可以使用 useRouter 和 useRoute 来获取当前路由对象和当前路由信息. useRouter useRouter 可以用来获取当前路由对象.我们可以通过 ...
- 一个.Net Core开发的开源动态壁纸软件
推荐一个Github上Start超过10.8K的超火.好用.强大的.内置很多优美的动态壁纸软件. 项目简介 这是基于.Net Core+WPF开发的.开源的动态壁纸软件,壁纸设置支持任何文件形式,包括 ...
- 牧云 • 主机管理助手|正式开放应用市场,梦幻联动雷池WAF等多款开源软件
0x00 前言 上个月,我司长亭开源了雷池WAF,不到三天就吸引了超过上千个师傅使用,几个交流群里,师傅们讨论的热火朝天,其中两个话题引起了我们牧云 • 主机管理助手 ( Collie ) 团队的关注 ...
- App性能测试之iTest
本文主要介绍下App性能测试工具iTest_V4.7的使用. 功能简介 1.监控Andorid系统(支持手机,平板,电视,车机等智能终端设备)以及应用app的cpu.内存.流量.电池.帧率.页面耗时等 ...
- ChatGPT在工业领域的研究与应用探索-AI助手实验应用
为什么我的工作效率和质量要比其他人要高,因为我的电脑里有代码库.产品库.方案库.自己工作经验资料库等,根据一个应用场景或需求能够很快关联到想要的资料,并且整合成新的方案.我的核心竞争力是什么?各种资料 ...
- [ARM 汇编]进阶篇—异常处理与中断—2.4.2 ARM处理器的异常向量表
异常向量表简介 在ARM架构中,异常向量表是一组固定位置的内存地址,它们包含了处理器在遇到异常时需要跳转到的处理程序的入口地址.每个异常类型都有一个对应的向量地址.当异常发生时,处理器会自动跳转到对应 ...
- Profinet转EtherNet/IP网关连接AB PLC的应用案例
西门子S7-1500 PLC(profinet)与AB PLC以太网通讯(EtherNet/IP).本文主要介绍捷米特JM-EIP-PN的Profinet转EtherNet/IP网关,连接西门子S7- ...
- 力扣 (LeetCode)算法入门——Day1
704. 二分查找 题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1. ...
- Python copy & deeocopy 探究
简单来说,copy 复制创建新的容器,而引用容器内元素的地址不变.而 deepcopy 也对容器内的容器元素进行复制. 但是这种复制具体是什么体现呢?是否只是对第一层容器元素进行了复制?写了一段代码验 ...