在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', '短', ' ...
随机推荐
- C#中BitConverter.ToUInt16、BitConverter.ToUInt32原理与用法详解
一.基础知识 a.1字节=8位(1Byte=8bit) 二进制表示:11111111 十进制表示:255 计算机内部约定用多少字节来规范数值,比如红绿蓝三色在计算机中只分配了一个字节,一个字节 ...
- props传值遇Cannot read property getAttribute of undefined异常
今有一个echarts 图标的子组件使用watch 监听接受父组件传入的data,而在父组件页面再次根据日期筛选数据,重新传入子组件进行图表重绘时老实会提示报错 vue.runtime.esm.js? ...
- R 包初学者指南
由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. 基于 11 个最常见的用户问题介绍 R 软件包. R 包是由社区开发 (developed b ...
- DASCTF二进制专项部分Writeup
easynote create:堆大小可以任意分配只要不超过0xFFF create() unsigned __int64 create() { int i; // [rsp+0h] [rbp-20 ...
- 【Python&GIS】通过经纬度创建矢量点文件
最近在做项目时,需要判断某个点是否在感兴趣区内.所以需要使用Python先根据经纬度的点创建矢量文件,再通过点文件和面文件的位置关系判断点是否在面内. 这里我们使用osgeo ...
- 华为IP综合实验
目录 实验拓扑 实验需求 实验步骤 1.配置IP地址和环回口地址 2.在总公司上进行相应VLAN划分与配置 3. SW3和SW4的互连接口启用eth-trunk,最大带宽为2G 4. SW1.SW2. ...
- 整理spring-web里支持的文件以及对应的Content-Type
前言 最近在弄文件上传.下载.在线预览时经常需要设置请求标头或者响应标头的Content-Type 属性.所以研究了一下spring支持哪些Content-Type,通过研究MediaTypeFact ...
- @Inherited元注解的使用
@Inherited注解标记其他的注解用于指明标记的注解是可以被自动继承的. 注意:此注解只对注解标记的超类有效,对接口是无效的. 示例: 先声明两个用@Inherited标记的注解,@Name和@A ...
- JetBrain学信网注册(Clion)
一.打开网站 首先打开JetBrains关于学生认证的网站:https://www.jetbrains.com/shop/eform/students,可以看见以下页面: 二.人工验证 人工验证适合于 ...
- IDEA连接数据库
我只想卷死各位,或者被各位卷死 在入门案例映射配置文件中存在报红的情况.问题如下: 产生的原因:Idea和数据库没有建立连接,不识别表信息.但是大家一定要记住,它并不影响程序的执行. 解决方式:在Id ...