在 Quarto 中使用 Binder

人工智能与机器学习

概述

人工智能(AI)和机器学习(ML)是当今科技领域最热门的话题之一。AI是指计算机系统能够执行通常需要人类智能的任务,如视觉识别、语音识别和决策制定。ML是AI的一个子集,专注于开发能够从数据中学习的算法。

关键技术

深度学习

深度学习是ML的一个分支,使用多层神经网络来处理复杂的数据模式。它在图像和语音识别方面取得了显著的成果。

强化学习

强化学习是一种通过试错来学习的ML方法。它通常用于游戏和机器人控制等领域。

应用领域

医疗保健

AI和ML在医疗诊断、药物发现和个性化治疗方面有广泛应用。

金融

在金融领域,AI用于风险管理、欺诈检测和算法交易。

挑战

数据隐私

随着AI和ML的发展,数据隐私成为一个重要问题。如何在不侵犯个人隐私的情况下利用数据是一个挑战。

伦理问题

AI系统的决策过程可能不透明,这引发了关于伦理和责任的讨论。

未来展望

AI和ML的未来充满希望,但也伴随着挑战。随着技术的进步,我们期待看到更多创新的应用和解决方案。

概述

Binder 项目提供了一套工具,旨在简化共享计算环境的流程。Binder 使得为用户提供一个恢复计算环境的链接变得简单,并允许他们与你的项目代码进行交互。

要在 Quarto 项目中使用 Binder,你需要包含一组描述计算环境的配置文件。Quarto 可以通过 quarto use binder 命令自动创建这些文件。从你的 Quarto 项目目录中运行该命令。该命令将扫描项目并确定恢复环境所需的配置文件。将生成的文件提交到你的项目仓库,你的项目就已准备好使用 Binder。

继续阅读以获取更详细的流程介绍,或跳过直接了解如何指定依赖项、可能生成的特定配置文件,或如何在文档中添加 Binder 链接

流程介绍

考虑一个包含 _quarto.yml 和包含可执行 R 代码单元的文档 histogram.qmd 的 Quarto 项目:

histogram.qmd
---
title: 直方图
---

```{r}
hist(rnorm(100))
```

为了构建这个项目的环境,Binder 需要安装 Quarto 和 R,并且应该使用与本地构建项目时相同的 Quarto 和 R 版本。环境的一个不错补充是适合项目内容的 IDE——对于 .qmd 文档中的 R 代码单元,RStudio 将是一个不错的选择。

要在项目目录中让 Quarto 生成描述需求的文件,运行:

终端
quarto use binder

该命令将首先检测并报告项目配置:

[✓] 检测到项目配置:

    Quarto       最新预发布版本
    JupyterLab   默认
    引擎         knitr
    R            4.3.2 (2023-10-31)
    编辑器       rstudio

未发现提供依赖项的文件。如果继续,使用 Binder 运行此项目时将不会恢复任何依赖项。

了解更多信息:
https://www.quarto.org/docs/prerelease/1.4/binder.html#dependencies

? 是否继续?(Y/n) ›

Quarto 检测到正在使用的 Quarto 和 R 版本,我们的 Quarto 文档使用 Knitr 引擎,并为项目选择合适的编辑器。

Quarto 还会检测描述 R、Python 或 Julia 依赖项的文件——你可以在下面的依赖项中了解更多信息。这个项目没有这些文件,因为 R 代码不需要额外的包。

如果继续,Quarto 将列出它将创建的文件:

将写入以下文件:
┌─────────────┬────────────────────────────────────────┐
│ postBuild   │ 配置 Quarto 和支持工具                 │
├─────────────┼────────────────────────────────────────┤
│ apt.txt     │ 安装 Quarto 所需的包                    │
├─────────────┼────────────────────────────────────────┤
│ runtime.txt │ 安装 R 并配置 RStudio                   │
└─────────────┴────────────────────────────────────────┘

 ? 继续?(Y/n) › 

在最终确认后,Quarto 将这些文件写入项目:

写入配置文件
[✓] postBuild
[✓] apt.txt
[✓] runtime.txt

这些配置文件需要与项目文件一起提交到项目仓库。

mybinder.org 上,你提供项目仓库的链接。Binder 从配置文件构建计算环境,并为你提供一个链接,用户可以在其中与构建的计算环境中的仓库内容进行交互。

你可以通过以下 Binder URL 尝试这个项目: https://mybinder.org/v2/gh/cwickham/binder-example/HEAD?urlpath=rstudio

此链接末尾的 ?urlpath=rstudio 意味着链接将打开一个 RStudio 会话。Binder 环境可能需要一些时间来启动,但一旦启动,你应该会进入一个打开项目的 RStudio 实例。由于计算环境已配置,你可以以通常的方式渲染项目(通过 RStudio 界面或使用终端中的 quarto render)。

根据你的项目使用的语言和引擎,Quarto 可能会生成除本项目所示之外的其他文件。你可以在下面的配置文件中了解更多关于 quarto use binder 可能创建的文件。 大多数项目会有额外的依赖,如R、Python或Julia包。如前所述,Quarto可以检测到指定这些依赖的常见文件。你可以在接下来的依赖中了解更多关于这些文件的信息。

依赖

当你的项目使用Binder恢复到一个新的计算环境时,项目所具有的任何依赖也必须被恢复。quarto use binder命令不会从你的Quarto文档中检测计算依赖,但它会检测到通常用于描述它们的文件。为每个环境描述它们的最常见方式如下:

语言 环境 文件
R renv renv.lock
R Binder R配置 install.R
Python Conda environment.yml
Python Pip requirements.txt
Julia Pkg project.toml

通常这些文件是使用虚拟环境的结果。有关使用Quarto与虚拟环境的更多信息,请参见虚拟环境

配置文件

以下文件可能由quarto use binder命令生成。请注意,该命令会在覆盖任何用户文件之前提示,这些用户文件不是它生成的,或者自生成以来已被修改。

postBuild

构建后脚本在恢复环境后运行代码。此脚本生成的命令确保环境中存在适当版本的Quarto,安装任何所需的工具如TinyTex或Chromium,并在适用时配置VSCode和VSCode的Quarto扩展。

apt.txt

提供一个Debian包列表,使用apt-get安装。此文件生成了所有Quarto包依赖。

runtime.txt

对于R项目,此文件将生成适当的R版本,用于确保计算环境中存在相同的R版本。这还将导致在用户恢复计算环境时配置并可用RStudio。

install.R

对于R项目,将生成一个install.R文件以激活任何存在的renv环境。

.jupyter

对于使用Jupyter引擎的QMD文件的项目,将生成一个.jupyter目录,该目录将在JupyterLab环境中配置对VSCode的支持。

你可以在Binder文档中了解更多关于Binder如何使用这些配置文件的信息。

Tip

quarto use binder命令生成的文件应提交到你的仓库中,以便在Binder使用仓库恢复计算环境时可用。

添加一个Binder链接

如果你的项目托管在GitHub上,你可以通过在文档YAML中添加code-links: binder来为你的项目添加一个Binder链接:

histogram.qmd
---
title: Histogram
code-links: binder
---

渲染后,你会在代码链接下看到一个“启动Binder”链接:

渲染的HTML页面上代码链接部分的截图,显示了一个带有文本启动Binder的链接。

如果你有一个手稿项目,你也可以在手稿配置中使用code-links: binder,以在你的手稿网页上获得一个链接:

_quarto.yml
manuscript:
  code-links: binder