尝试以扩展 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 读取数据并绘制价格分布图
  • /newNotebook 使用 pandas 和 seaborn 读取并可视化 titanic 数据集。显示数据集的关键信息。(提问模式)
  • 创建一个 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。

后续步骤