Skip to content

Latest commit

 

History

History
94 lines (62 loc) · 2.88 KB

File metadata and controls

94 lines (62 loc) · 2.88 KB

Streamlit

Streamlit 是一个基于 Python 的 Web 应用程序框架,可以帮助数据科学家和学者在短时间内开发机器学习可视化仪表板。只需几行代码,就可以构建并部署强大的数据应用程序。其特点如下:

  • 跨平台,支持 Windows、macOS、Linux
  • 只需要掌握 Python,开发者就可以构建 Web App,不需要有任何的前端基础
  • 开源,社区资源丰富(Community forumGithub

由于 Streamlit 基于 Python,开发者无需学习其他就可以搭建一个较为完整的系统。此次教程,我们团队就通过 Streamlit + Jina 构建了一套系统。

快速开始

在开始之前,你需要确保你的电脑有以下环境:

  • 一个 IDE 或者文本编辑器
  • Python 3.7 - Python 3.10
  • pip

安装 Streamlit 非常简单,打开终端,执行:

pip install streamlit

官方提供了一个预设网页:

streamlit hello

如果你能正常运行并打开该网页,说明你的 Streamlit 安装成功了!

自由开发

Streamlit 框架提供了很多 API 供开发者使用。下面的步骤将指引你一步一步构建自己的第一个 Web App:

  1. 打开 IDE(如 vscode),创建一个 hello-streamlit.py 文件,输入:
import streamlit as st
  1. 每个Web页面都会有一个title,如下图所示:

page-title

st.set_page_config(page_title="Hello Streamlit")
  1. Streamlit API 中提供了很多页面中常见的 elements:
st.title('This is your first Streamlit page!')  # 标题

st.markdown('Streamlit is **_really_ cool**.')  # markdown

code = '''def hello():
     print("Hello, Streamlit!")'''
st.code(code, language='python')  # code

df = pd.DataFrame(
     np.random.randn(50, 20),
     columns=('col %d' % i for i in range(20)))
st.dataframe(df)  # dataframe

st.latex(r'''
     a + ar + a r^2 + a r^3 + \cdots + a r^{n-1} =
     \sum_{k=0}^{n-1} ar^k =
     a \left(\frac{1-r^{n}}{1-r}\right)
     ''')  # latex
  1. 打开终端,输入如下命令启动Streamlit:
streamlit run main.py

界面如下:

hello

完整代码参见 hello-streamlit.py

这里只介绍了 Streamlit 的冰山一角,更多特性和细节感兴趣的同学可以去官网进一步学习。另外,官网也有很多 Streamlit 模板,可以帮助你更高效地搭建自己的应用。

以下即为使用流程:

  1. 上传视频
  2. 输入描述
  3. 输入Top N值
  4. 点击搜索,等待返回结果
  5. 查看搜索结果