尝试以扩展 VS Code 中的代理模式!

在 VS Code 中使用 AI 编辑 Jupyter Notebook

Visual Studio Code 支持原生使用 Jupyter Notebook,也支持通过 Python 代码文件来使用。VS Code 中的 AI 功能可以帮助你创建和编辑 Notebook,以及分析和可视化数据。在本文中,你将学习如何使用 VS Code 中的 AI 功能来处理 Jupyter Notebook。

搭建新 Notebook 的脚手架

为了加速开始一个新的 Notebook,你可以使用 VS Code 中的 AI 功能来搭建新 Notebook 的脚手架。使用自然语言提供有关你想要添加的功能以及想要使用的库的详细信息。

要使用 AI 创建新 Notebook,请选择以下任一选项

  • 在聊天输入框中输入斜杠命令 /newNotebook,后跟要创建的 Notebook 的详细信息。

    示例提示

    • /newNotebook 使用 pandas 和 seaborn 读取并可视化 titanic 数据集。显示数据集的关键信息。
    • /newNotebook /newNotebook 分析 housing.csv 文件中的数据
  • 切换到代理模式,然后输入自然语言提示,要求创建一个新的 Notebook。

    示例提示

    • 创建一个 Notebook,从 #housing.csv 读取数据并绘制价格分布图
    • 创建一个 Jupyter Notebook,从 #housing.csv 读取数据。运行所有单元格。

以下屏幕截图显示了代理模式对提示“创建一个 Jupyter Notebook,从 #housing.csv 读取数据”的输出(你可以从 Kaggle 获取此数据集)

Screenshot that shows a new notebook created by agent mode that reads the 'housing.csv' file in the workspace.

请注意,创建了一个新的 .ipynb 文件,其中包含用于读取 CSV 文件和显示数据前几行的 Markdown 和代码单元格。

你现在可以手动进一步编辑 Notebook,或者使用 AI 进行内联编辑或发送后续聊天请求来修改 Notebook。

在 Notebook 单元格中进行内联编辑

如果你已经有一个 Notebook 并希望在单元格中进行一些内联更改,你可以使用内联聊天,就像在代码文件中一样。

要在单元格中进行内联编辑,请按 ⌘I (Windows、Linux 为 Ctrl+I),或在单元格中右键单击并选择 生成代码 > 编辑器内联聊天。这将打开内联聊天视图,你可以在其中输入你的提示。

提示

你可以在聊天提示中引用内核变量。输入 # 后跟变量名即可引用它。例如,如果你有一个名为 df 的变量,可以在聊天提示中输入 #df 来引用它。

Screenshot that shows the inline chat view in a notebook cell.

当生成响应时,请注意代码已在 Notebook 单元格中更新。你可以 接受 更改,并决定 接受并运行 单元格的更改。

要使用 AI 生成新单元格,请在 Notebook 视图中选择 生成 按钮,或者在不聚焦任何单元格的情况下按 ⌘I (Windows、Linux 为 Ctrl+I),为新单元格打开内联聊天视图。

跨多个单元格进行编辑

要进行跨多个单元格的更大范围的编辑,你可以在聊天视图中切换到代理模式。提供一个提示来请求对 Notebook 进行更改,代理模式将迭代任务以实现这些更改。

示例提示

  • 绘制价格分布图
  • 在可视化和处理数据之前,确保数据已经清洗干净
  • 显示数据集中不同特征之间的相关性
  • 使用 matplotlib 而不是 seaborn 来绘制数据
  • 移除数据集信息的显示

Screenshot that shows the response from agent mode to the prompt 'Plot a graph of the price distribution'.

请注意,你可以使用覆盖控件在不同的编辑建议之间导航,并保留或撤销更改。

就 Notebook 内容提问

你可以使用聊天界面就 Notebook 的内容提问。这对于获取代码、数据或可视化的解释非常有用。你可以在聊天请求中添加额外的上下文,例如单元格输出、图表或错误。

以下示例演示了如何就 Notebook 中的可视化提问。

  1. 选择图表旁边的 ...,然后选择 将单元格输出添加到聊天,以将图表作为上下文添加到你的聊天请求中。

    Screenshot that shows the context menu for a graph in a notebook cell.

  2. 在聊天输入字段中输入提示“解释此图表”。

    请注意,你将获得对图表的详细解释。

    Screenshot that shows the response from chat to the prompt 'Explain this chart'.

执行数据分析和可视化

你可以通过在聊天中使用代理模式,对数据集进行完整的数据分析和可视化 Notebook。代理模式会分析数据集,然后搭建一个新的 Notebook,实现用于执行数据分析的代码,并运行单元格来处理和可视化数据。根据需要,代理模式会调用相关的工具和终端命令来完成其任务。

例如,要对住房数据集进行数据分析

  1. 在聊天中打开代理模式

  2. 在聊天输入字段中输入以下提示:对 #housing.csv 中的数据进行数据分析

    请注意,代理模式会迭代执行不同的任务。需要时,请批准工具和命令的调用。

  3. 结果是一个新的 Notebook,其中包含了对数据集的完整数据分析,包括数据清洗、数据可视化和统计分析。

    Screenshot that shows the response from agent mode to the prompt 'Perform data analysis of the data in housing.csv'.

你现在可以手动进一步编辑 Notebook,或者使用 AI 进行内联编辑或发送后续聊天请求来修改 Notebook。

后续步骤