现在,大语言模型(LLM)与 Jupyter 连接起来了!
这主要归功于一个名叫 Jupyter AI 的项目,它是官方支持的 Project Jupyter 子项目。目前该项目已经完全开源,其连接的模型主要来自 AI21、Anthropic、AWS、Cohere、OpenAI 等各大明星公司和机构。
项目地址:https://github.com/jupyterlab/jupyter-ai
有了大模型的加持,Jupyter 功能也发生了很大的变化。现在你可以在该环境中生成代码、总结文档、创建注释、修复错误等。你甚至可以使用文本 prompt 生成 notebooks。
Jupyter AI 的安装过程也非常简单,安装代码如下:
pip install 'jupyter-ai>=1.0,<2.0' # If you use JupyterLab 3
pip install jupyter-ai # If you use JupyterLab 4
建了技术交流群!想要进交流群、获取如下原版资料的同学,可以直接加微信号:dkl88194。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。
方式①、添加微信号:dkl88194,备注:来自CSDN + 技术交流
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
资料1
资料2
此外,Jupyter AI 提供了两种不同的界面与 LLM 交互。在 JupyterLab 中,你可以使用聊天界面与 LLM 进行对话,以帮助处理代码。此外,在任何支持 notebook 或 IPython 的环境中,包括 JupyterLab、Notebook、IPython、Colab 和 Visual Studio Code,你可以使用 %% ai 魔术命令调用 LLM。
大模型加持下的 Jupyter
接下来我们看看效果如何。
编程助手
Jupyter 聊天界面如下图所示,用户可以与 Jupyternaut(编程助手)进行对话。在 Jupyternaut 功能栏我们可以看到这样一句话「大家好,我是 Jupyternaut,你的编程助理。你可以使用文本框向我提问,也可以使用命令向我提问。」
接下来,用户向 Jupyternaut 询问了一个问题:如「在 Python 中,元组和列表有什么区别?」Jupyternaut 给出了这两者的关键区别,并且回答的非常正确,最后还贴心的举了示例:
假如有一部分代码你不是很了解,你可以选中这部分代码,并将其当做 prompt,然后要求 Jupyternaut 解释这段代码,除此之外,Jupyternaut 还能对代码进行修改、识别代码错误等。
如果你对代码不满意,还可以让 Jupyternaut 按照要求重写代码:
重写代码后,Jupyternaut 会将代码重新发送回用户选择的语言模型进行替换:
从文本 prompt 生成 notebook
Jupyter AI 的聊天界面可以根据文本 prompt 生成一个完整的 notebook。想要实现这一点,用户需要运行「/generate」命令,外加一个文本描述。
Jupyternaut 生成 notebook 后,会向用户发送一个包含文件名的消息,用户可以打开该文件进行查看:
访问本地文件
你可以使用「/learn」命令让 Jupyternaut 学习本地文件,随后使用「/ask」命令询问有关本地文件的问题。举例来说,使用「/learn」命令,你可以让 Jupyternaut 学习关于 Jupyter AI 文档的知识:
一旦 Jupyternaut 学习完成,你就可以使用「/ask」命令提出问题:
魔法功能
Jupyter AI 还提供了可以在 notebook cells 和 IPython 命令行界面中运行的 %% ai 命令,每个 %% ai 命令都需要一个模型,通常指定为 provider?id:model?id:
还有研究者体验了一下 %% ai 魔法命令,让其调用 ChatGPT :
此外,你还可以使用 - f 或 --format 参数自定义输出的格式,包括 HTML、数学、源代码和图像,这对于研究人员和教育工作者来说非常有用。
一番展示下来,有了大模型加持的 Jupyter 确实方便了很多。想要尝试的小伙伴,可以前去一试了。