在 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。

代理模式 提供更自主的体验,可以在其中修改 Notebook、运行单元格,并监控和解决潜在的运行时问题。

示例提示词

  • 创建一个 Jupyter Notebook,用于从 #housing.csv 读取数据
  • 创建一个 Jupyter Notebook,用于从 #housing.csv 读取数据,并添加清理数据的步骤
  • 创建一个 Notebook,用于从 #housing.csv 读取数据并绘制价格分布图
  • 使用 pandas 和 seaborn 读取和可视化 titanic 数据集。显示数据集中的关键信息。/newNotebook (提问模式)
  • 创建一个 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),或右键单击单元格并选择Copilot > 编辑器内联聊天。这将打开内联聊天视图,您可以在其中输入提示词。

提示

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

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

生成响应后,请注意 Notebook 单元格中的代码会更新。您可以接受更改,并决定接受并运行单元格更改。

要使用 AI 生成新的单元格,请选择 Notebook 视图中的生成按钮,或不要将焦点放在单元格上,然后按 ⌘I (Windows, Linux Ctrl+I) 以打开用于新单元格的内联聊天视图。

编辑多个单元格

要进行跨多个单元格的大规模编辑,您可以使用 编辑模式代理模式 中的聊天界面。

示例提示词

  • 绘制价格分布图
  • 确保在可视化和处理数据之前对其进行清理
  • 显示数据集中不同特征之间的关联
  • 使用 matplotlib 而非 seaborn 绘制数据
  • 移除数据集信息的显示

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

请注意,您可以使用叠加控件在不同的编辑建议之间导航,并保留或撤消更改。

询问关于 Notebook 内容的问题

您可以使用聊天界面询问关于 Notebook 内容的问题。这对于获取代码、数据或可视化的解释很有用。您可以为聊天请求添加额外的上下文,例如单元格输出、图表或错误。

以下示例演示了如何询问关于 Notebook 中可视化的相关问题。

  1. 切换到聊天的 提问模式

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

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

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

    请注意,您会收到关于图表的详细解释。

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

执行数据分析和可视化

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

例如,要对 housing 数据集执行数据分析

  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。

后续步骤