几种框架比较

gradio streamit dash
主要使用场景 可交互小 Demo 工作流、DashBoard DashBoard、生产环境的复杂演示应用
上手难度 简单 简单 中等
组件丰富度
综合扩展性
Jupyter Notebook 内支持
是否完全开源 部分企业级功能未开源
github stars 13.4k 23.1k 18.2k
案例列表 https://github.com/gradio-app/awesome-demos https://streamlit.io/gallery https://dash.gallery/Portal/

Gradio

Gradio

Gradio能够快速实现AI算法可视化部署,在HuggingFace上有很多人使用

gradio 基于 svelte,它的初步使用非常简单,同时它的自封装组件的功能也相对比较完整,因此可以让开发者专注于编写基于 python 代码的业务处理逻辑,无需关注更多 web 前端页面的实现细节。

Gradio使用

Streamlit

Streamlit • A faster way to build and share data apps

streamit 基于 React ,它的上手使用也非常之简单,也是可以在前后端开发知识为 0 的情况下就可以轻松上手

Streamlit使用

Dash

Dash Documentation & User Guide | Plotly

dash 基于 Plotly.jsReact 和 Flask,因此相对于前两者,它的启动和编码方式更“像”一个 python 后端,也因此代码会稍微多一些。

Dash使用

NiceGUI

NiceGUI

基于VUE的框架【不是专门为机器学习相关设计的】

NiceGUI 是一个易于使用的基于 Python 的 UI 框架,它显示在您的 Web 浏览器中。 您可以创建按钮、对话框、Markdown、3D 场景、绘图等等。

它非常适合微型 Web 应用程序、仪表板、机器人项目、智能家居解决方案和类似用例。 您还可以在开发中使用它,例如在调整/配置机器学习算法或调整电机控制器时。