用途:构建面向机器学习模型、数据可视化和分析工具的轻量级 Web 界面。
主要能力与工具选择:Streamlit 适合快速 ML 演示与数据应用,API 简单、社区大;Panel 适合复杂仪表盘与响应式布局,集成 Jupyter 与 HoloViz 生态;Gradio 适合 ML 模型分享与 Hugging Face,内置分享、模型内省与 API 生成;Dash(Plotly)适合生产级仪表盘;NiceGUI 适合桌面加 Web 应用。
使用方式:Streamlit 运行 streamlit run app.py;Panel 运行 panel serve app.py;Gradio 通过 interface.launch() 启动。核心设计原则包括从简单开始迭代、按受众优化界面、用 session_state 谨慎处理状态、绝不暴露密钥(使用 st.secrets 或环境变量)。部署可选 Streamlit Community Cloud、Hugging Face Spaces、Panel 加 Cloud Run/Heroku,或 Docker 加任意云。
适用场景:ML 模型演示、数据探索工具、内部仪表盘、原型验证、A/B 测试界面。
限制与注意事项:避免每次交互都重新加载数据(应使用缓存)、避免长时间计算阻塞 UI、缺少边界错误处理、硬编码路径或凭据、控件过多造成认知负担、未考虑移动端。更多进阶内容见 references 中的 streamlit-advanced.md、panel-holoviz.md、gradio-ml.md、app-testing.md、production-deployment.md。相关技能包括 data-science-notebooks、data-science-model-evaluation、data-engineering-orchestration。