Hub 文档
Spaces 上的 Shiny
并获得增强的文档体验
开始使用
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.R
和 server.R
。
Dockerfile
Dockerfile 基于 rocker shiny 镜像构建。您需要修改此文件以使用其他软件包。如果您使用大量 tidyverse 软件包,我们建议将基础镜像切换到 rocker/shinyverse。您可以通过将它们添加到 dockerfile 的 RUN install2.r
部分来安装额外的 R 软件包,并且可以通过在 RUN installGithub.r
下添加存储库来安装 github 软件包。
此 Dockerfile 有两个主要要求
首先,文件必须暴露您在 README 中列出的端口。默认为 7860,除非有特殊原因,否则我们建议不要更改此端口。
其次,目前您必须使用开发版本的 httpuv,它解决了 Hugging Face 上的应用程序超时问题。