懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

内容分享2周前发布
0 1 0

#暑期创作大赛##与ChatGPT的有趣对话##ChatGPT中国应用社区#

懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

它为 Jupyter Lab 增添了一个原生的聊天界面,能够通过魔法命令向 ChatGPT 发送提示,并能通过文本提示生成整个笔记本。

此前,我们已经看到了如何通过扩展将 ChatGPT 的功能添加到 Jupyter Notebook 和 VSCode,目前是时候把它带到 Jupyter Lab 了!

你为何需要它?

不同于我之前展示的扩展,这个扩展提供了一个聊天界面,让我们可以与 Jupyter AI 对话助手进行交流。此外,它支持各种生成模型提供商,OpenAI、Anthropic、Cohere、Hugging Face 等。

以下是你需要了解的关于 Jupyter AI 的全部内容。

配置 Jupyter AI

要安装 jupyter_ai,你需要拥有 Python 3.8 至 3.10 和 JupyterLab 3。你可以通过 conda 和 pip 来安装 jupyter_ai,但如果你像我一样使用基于 Apple Silicon 的 Mac (M1, M1 Pro, M2 等),那么你应该使用 conda。

让我们创建一个带有 Python 3.10 的新虚拟环境并安装 jupyter_ai。

$ conda create -n jupyter-ai python=3.10
$ conda activate jupyter-ai
$ pip install jupyter_ai

注意,基于 Apple Silicon 的 Mac 用户需要卸载 pip 提供的 grpcio 版本,并改为安装 conda 提供的版本。

$ pip uninstall grpcio; conda install grpcio

然后我们可以启动 Jupyter Lab。

jupyter lab

如果一切顺利安装,你应该能在 Jupyter Lab 的左侧面板看到新的“聊天”图标。

懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

点击“Start Here”以选择模型并输入你的 API 密钥。

懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

保存更改后,点击左上角的“返回”按钮。目前你应该可以看到下面的聊天界面,可以开始聊天了。

懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

稍后我们将看到一些你可以通过聊天界面做的很酷的事情。目前让我们关注笔记本。

使用 Jupyter AI

第一,我们需要通过在笔记本单元格中运行下面的代码来加载 jupyter_ai 扩展。

%load_ext jupyter_ai

然后,我们可以使用下面的代码列出所有可用的提供商和模型。

%ai list

这是你可以使用的提供商和模型。

懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

请注意,要使用特定提供商的 Jupyter AI,你必须安装其 Python 包,并在你的环境或聊天界面中设置 API 密钥。

假设我想使用 OpenAI 的 ChatGPT 模型。为此,我必须安装 openai 包。

!pip install openai

并在我的环境中设置 API 密钥(去 OpenAI 官网生成你的 OpenAI API 密钥)

import os
os.environ["OPENAI_API_KEY"]=your-api-key

目前我们可以在 Jupyter Lab 中开始使用 ChatGPT。

魔法命令

让我们使用 %%ai 魔法命令生成代码。
%%ai chatgpt
一个计算两个整数的最小公倍数的函数,
以及一个运行最小公倍数函数的5个测试用例的函数
如果你运行上面的命令,你将得到以下输出。

懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

正如你所看到的,默认情况下,%%ai 命令的输出将以 markdown 格式呈现。你可以通过使用魔法命令的 -f 参数来更改输出的格式为代码、图片、markdown、数学公式、HTML、JSON 和文本。

目前让我们将格式设置为代码。

%%ai chatgpt -f code
一个计算两个整数的最小公倍数的函数,
以及一个运行最小公倍数函数的5个测试用例的函数

目前,输出会插入到另一个单元格中。

懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

你还可以生成以 markdown 格式展示的数学公式。

%%ai chatgpt -f math
在LaTeX中生成由`$$`包围的二维热方程,不要包括解释。

懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

输入、输出和错误

如果你想使用内核知道但不在当前单元格中的代码执行提示,你可以使用花括号语法在你的提示中包含变量和其他 Python 表达式。

当你想解释位于 Jupyter 笔记本其他位置的代码时,这特别有用。假设我有下面的代码,它的输入位于In[25]。

for i in range(1,9):
print(i)

目前我可以在 %%ai 魔法命令中引用 In[25] 来获得解释。

%%ai chatgpt
解释下面的代码:
--
{In[25]}

懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

除了 In,其他特殊列表带有插值语法的是 Out 和 Err,当你需要处理输出或错误时它们会很有协助。

%%ai chatgpt
解释下面代码的错误之处:
--
{In[28]}

下面是 Err 的示例:

懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

使用聊天界面

位于侧边面板的聊天界面可以协助你做类似于我们之前用 %%ai 魔法命令看到的事情。

如果你想在提示中包含笔记本的一部分,只需选择该部分然后勾选“Include selection”。

懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

在下面的示例中,我请求解释笔记本中的代码:

懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

聊天界面的一个很酷的功能是通过文本提示生成整个笔记本。你只需发送以 /generate 开头的消息,如下面的示例所示。

/generate a demo of how to use the pandas library

几分钟后,你应该会收到下面的消息。如果你转到左侧面板的文件部分,你会看到一个新生成的 .ipynb 文件。

懒人的福音,Jupyter AI可以直接利用魔法进行自动化编程

就是这样!想了解更多关于 Jupyter AI 的信息,请访问官方文档。

© 版权声明

相关文章

1 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    金典商标转让网 读者

    收藏了,感谢分享

    无记录