Hub 文档

Spaces 上的 Shiny

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

Spaces 上的 Shiny

Shiny 是一个开源框架,用于构建简单、美观且高性能的数据应用程序。开发 Shiny 的目标是构建一个足够简单、能在一下午教会别人,但又足够可扩展以支持大型、任务关键型应用程序的框架。您可以在几分钟内创建一个有用的 Shiny 应用程序,但如果您的项目范围扩大,您可以确信 Shiny 可以适应该应用程序。

Shiny 与其他框架的主要区别在于其响应式执行模型。当您编写 Shiny 应用程序时,框架会推断输入、输出和中间计算之间的关系,并使用这些关系仅渲染因用户操作而需要更改的部分。结果是用户可以轻松开发高效、可扩展的应用程序,而无需显式缓存数据或编写回调函数。

Python 版 Shiny

Python 版 Shiny 是 Shiny 的纯 Python 实现。这让您可以访问 Shiny 的所有强大功能,如响应式、复杂布局和模块,而无需使用 R。Python 版 Shiny 非常适合 Hugging Face 应用程序,因为它与 Hugging Face 的其他工具无缝集成。

要开始部署 Space,请点击此按钮选择您的硬件并指定您想要公共还是私人 Space。Space 模板将填充一些文件以启动您的应用程序。

app.py

此文件定义您的应用程序逻辑。要了解如何修改此文件,请参阅Python 版 Shiny 文档。随着应用程序变得越来越复杂,最好将应用程序逻辑分解为模块

Dockerfile

Python 版 Shiny 应用程序的 Dockerfile 非常精简,因为该库没有许多系统依赖项,但如果您的应用程序有额外的系统依赖项,您可能需要修改此文件。此文件的一个基本特征是它在 Space README 文件中指定的端口(默认为 7860)上暴露并运行应用程序。

requirements.txt

Space 将自动安装 requirements.txt 文件中列出的依赖项。请注意,您必须在此文件中包含 shiny。

R 版 Shiny

R 版 Shiny 是 R 社区中一个流行且成熟的应用程序框架,如果您想在 Hugging Face 基础设施上托管 R 应用程序或使用一些很棒的Shiny R 扩展,它是一个不错的选择。要将 Hugging Face 工具集成到 R 应用程序中,您可以使用httr2 调用 Hugging Face API,或者使用reticulate 调用其中一个 Hugging Face Python SDK。

要部署 R Shiny Space,请点击此按钮并填写 Space 元数据。这将为您的 Space 填充所有所需的文件以开始使用。

app.R 此文件包含您所有的应用程序逻辑。如果您愿意,可以将此文件拆分为 ui.Rserver.R

Dockerfile

Dockerfile 基于 rocker shiny 镜像构建。您需要修改此文件以使用其他软件包。如果您使用大量 tidyverse 软件包,我们建议将基础镜像切换到 rocker/shinyverse。您可以通过将它们添加到 dockerfile 的 RUN install2.r 部分来安装额外的 R 软件包,并且可以通过在 RUN installGithub.r 下添加存储库来安装 github 软件包。

此 Dockerfile 有两个主要要求

  • 首先,文件必须暴露您在 README 中列出的端口。默认为 7860,除非有特殊原因,否则我们建议不要更改此端口。

  • 其次,目前您必须使用开发版本的 httpuv,它解决了 Hugging Face 上的应用程序超时问题。

< > 在 GitHub 上更新