Hub 文档
Spaces 上的 Shiny
并获得增强的文档体验
开始使用
Spaces 上的 Shiny
Shiny 是一个开源框架,用于构建简单、美观且高性能的数据应用程序。开发 Shiny 的目标是构建一个足够简单的东西,可以在一个下午教会别人,但又足够可扩展,可以为大型、关键任务的应用程序提供动力。你可以在几分钟内创建一个有用的 Shiny 应用程序,但如果你的项目范围扩大,你可以确信 Shiny 可以适应该应用程序。
Shiny 与其他框架的主要区别在于其响应式执行模型。当你编写 Shiny 应用程序时,框架会推断输入、输出和中间计算之间的关系,并使用这些关系仅渲染由于用户操作而需要更改的内容。结果是,用户可以轻松开发高效、可扩展的应用程序,而无需显式缓存数据或编写回调函数。
Python 版 Shiny
Shiny for Python 是 Shiny 的纯 Python 实现。这使你可以访问 Shiny 的所有强大功能,如响应性、复杂布局和模块,而无需使用 R。Shiny for Python 非常适合 Hugging Face 应用程序,因为它与其他 Hugging Face 工具无缝集成。
要开始部署 Space,请单击此按钮选择你的硬件,并指定你想要公共或私有 Space。Space 模板将填充一些文件以帮助你启动应用程序。
app.py
此文件定义你的应用程序的逻辑。要了解有关如何修改此文件的更多信息,请参阅 Shiny for Python 文档。随着你的应用程序变得更复杂,最好将你的应用程序逻辑分解为 模块。
Dockerfile
Shiny for Python 应用程序的 Dockerfile 非常简洁,因为该库没有很多系统依赖项,但如果你的应用程序有其他系统依赖项,你可能需要修改此文件。此文件的一个基本功能是它在 space README 文件(默认为 7860)中指定的端口上公开并运行应用程序。
requirements.txt
Space 将自动安装 requirements.txt 文件中列出的依赖项。请注意,你必须在此文件中包含 shiny。
R 版 Shiny
Shiny for R 是 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。你可以通过将其他 R 软件包添加到 dockerfile 的 RUN install2.r
部分来安装它们,github 软件包可以通过将存储库添加到 RUN installGithub.r
下来安装。
此 Dockerfile 有两个主要要求
首先,该文件必须公开你在 README 中列出的端口。默认端口为 7860,我们建议不要更改此端口,除非你有理由这样做。
其次,目前你必须使用 httpuv 的开发版本,这解决了 Hugging Face 上应用程序超时的问题。