在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', '短', ' ...
随机推荐
- Selenium - 基础知识介绍
Selenium - 基础知识介绍 介绍 Selenium是ThoughtWorks员工在业余时间开发并维护的开源项目,并且在ThoughtWorks的项 目中被广泛应用. 简单地说,Selenium ...
- 向量数据库Pinecone,治疗ChatGPT幻觉的药方?
大白话了解新鲜事,今天讲讲以Pinecone为代表的向量数据库.向量数据库Pinecone一夜爆火,4月27日B轮拿到了1亿美元的融资,估值达到7.5亿美元,一个2021年刚刚推出的数据库产品,火爆背 ...
- 2021年蓝桥杯C/C++大学B组省赛真题(路径)
题目描述: 小蓝学习了最短路径之后特别高兴,他定义了一个特别的图,希望找到图中的最短路径. 小蓝的图由2021 个结点组成,依次编号1 至2021. 对于两个不同的结点a, b,如果a 和b 的差的绝 ...
- 2015年蓝桥杯C/C++大学B组省赛真题(星系炸弹)
题目描述: 在X星系的广袤空间中漂浮着许多X星人造"炸弹",用来作为宇宙中的路标. 每个炸弹都可以设定多少天之后爆炸. 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在 ...
- 企业研发效能度量利器,华为云发布CodeArts Board看板服务
摘要:华为云CodeArts Board正式上线,欢迎体验. 本文分享自华为云社区<企业研发效能度量利器,华为云发布CodeArts Board看板服务>,作者:华为云头条. 数字化时代, ...
- WPF中控件转命令
WPF不是所有控件都有Command属性,如果窗体需要在ViewModel 使用System.Windows.Interactivity事件 在nuget浏览搜索 下载System.Windows.I ...
- Vulhub靶场的搭建
Vulhub靶场的搭建(基于centos7) 1>简述 很多人在搭建Vulhub靶场的时候,可能也搜到过许多的文章,但是大多数的文章只是有一个流程,对其中的原理,步骤没有进行详细的说明,这也就导 ...
- GGTalk 开源即时通讯系统源码剖析之:虚拟数据库
继上篇<GGTalk 开源即时通讯系统源码剖析之:服务端全局缓存>详细介绍了 GGTalk 对需要频繁查询数据库的数据做了服务端全局缓存处理,以降低数据库的读取压力以及加快客户端请求的响应 ...
- msyql的基本操作(增删改查)
一.SQL 语法要点 1.SQL 语句不区分大小写,但是数据库表名.列名和值是否区分,依赖于具体的 DBMS 以及配置. 例如:SELECT 与 select .Select 是相同的. 2.多条 S ...
- Blazor资源大全,很棒的Blazor
Blazor资源大全 一个收集了很棒的Blazor资源的集合. Blazor是一个使用C#/Razor和HTML在浏览器中运行的.NET Web框架. 欢迎贡献!请先查看贡献指南.感谢所有的贡献者,你 ...