当前位置:   article > 正文

基于python的大模型可视化开发_python可视化界面开发

python可视化界面开发

        接触到大模型后,会发现很多为了简化可视化,不需要像flask那般,直接借助python完成web界面的可视化,下面介绍几种库:

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

(1)gradio

安装: pip install gradio -i https://pypi.tuna.tsinghua.edu.cn/simple

使用:

Gradio 基于 svelte,官方文档Gradio, 提供两个类来构建应用程序UI:

  1. gr.Interface:gr.Interface模块用于创建简易场景下的应用界面。它是使用Gradio构建交互式应用程序的核心模块之一。通过gr.Interface,您可以快速定义输入和输出函数,并将它们与界面组件进行关联,以创建一个具有交互性的应用程序。这个模块提供了简洁的API和直观的界面,使得构建应用程序变得简单易懂。
  2. gr.Blocks:gr.Blocks模块用于定制化场景下的应用界面。它提供了更高级的界面定制和扩展功能,适用于需要更精细控制界面布局和组件交互的情况。通过gr.Blocks,您可以使用不同的布局块(Blocks)来组织界面组件,以实现更灵活、复杂的界面设计。这个模块适用于那些需要对界面进行高度定制的开发者,可以根据具体需求构建独特的应用界面。

Gradio的应用界面模块提供了不同的选择,根据开发者的需求和技术水平,可以选择使用gr.Interface进行简易场景的应用界面开发,或使用gr.Blocks进行更定制化的界面设计。其常见组件如下:

输入输出组件:

    • gr.Image(图像):用于处理图像输入和输出。
    • gr.Textbox(文本框):用于接收和显示文本输入和输出。
    • gr.DataFrame(数据框):用于处理表格数据的输入和输出。
    • gr.Dropdown(下拉选项):用于创建下拉选项菜单,方便用户进行选择。
    • gr.Number(数字):用于处理数值输入和输出。
    • gr.Markdown:用于渲染和显示Markdown格式的文本。
    • gr.Files:用于处理文件的输入和输出。

控制组件:

    • gr.Button(按钮):用于创建按钮,用户可以点击按钮执行特定的操作。
    • gr.Slider(滑块):用于创建可拖动的滑块,用于选择范围内的数值。
    • gr.Checkbox(复选框):用于创建复选框,用户可以选择或取消选择。
    • gr.Radio(单选框):用于创建单选框,用户可以从多个选项中选择一个。
    • gr.Switch(开关):用于创建开关按钮,用户可以切换开关的状态。
    • gr.ColorPicker(颜色选择器):用于选择颜色的输入和输出。
    • 等等

布局组件:

    • gr.Tab(标签页):用于创建多个标签页,使界面更加有组织和易于导航。
    • gr.Row(行布局):用于将组件水平排列在一行中。
    • gr.Column(列布局):用于将组件垂直排列在一列中。

简单使用案例:

  1. ###基于gr.Interface
  2. import gradio as gr
  3. def greet(name):
  4. return "Hello " + name + "!"
  5. demo = gr.Interface(
  6. fn=greet,
  7. inputs=gr.Textbox(lines=2, placeholder="Name Here..."),
  8. outputs="text",
  9. )
  10. demo.launch()
  11. ###基于gr.Blocks
  12. ####with gr.Tab分页, with gr.Accordion可折叠框,with gr.Row()行内显示
  13. import numpy as np
  14. import gradio as gr
  15. def flip_text(x):
  16. return x[::-1]
  17. def flip_image(x):
  18. return np.fliplr(x)
  19. with gr.Blocks() as demo:
  20. gr.Markdown("Flip text or image files using this demo.")
  21. with gr.Tab("Flip Text"):
  22. text_input = gr.Textbox()
  23. text_output = gr.Textbox()
  24. text_button = gr.Button("Flip")
  25. with gr.Tab("Flip Image"):
  26. with gr.Row():
  27. image_input = gr.Image()
  28. image_output = gr.Image()
  29. image_button = gr.Button("Flip")
  30. with gr.Accordion("Open for More!"):
  31. gr.Markdown("Look at me...")
  32. text_button.click(flip_text, inputs=text_input, outputs=text_output)
  33. image_button.click(flip_image, inputs=image_input, outputs=image_output)
  34. demo.launch()

具体使用可以参考:Gradio入门到进阶全网最详细教程[一]:快速搭建AI算法可视化部署演示(侧重项目搭建和案例分享) - 知乎

 (2) streamit

安装方式:pip install streamit

基本使用:

streamit基于 React ,它的上手使用也非常之简单,下面是一个简单示例

  1. import streamlit as st
  2. import numpy as np
  3. import pandas as pd
  4. st.title("This is my first app")
  5. # 有很多方式展示数据 (表格、数组、pandas的表格数据结构),magic方法、st.write()方法
  6. # magic方法
  7. st.write("magic方法使用")
  8. df = pd.DataFrame({
  9. 'first column': [1, 2, 3, 4],
  10. 'second column': [10, 20, 30, 40]
  11. })
  12. # pd.DataFrame( data, index, columns, dtype, copy)
  13. # data数据,index 行标签,columns列标签 默认为np.arange(n),dtype 每一列数据类型,copy 能复制数据默认false
  14. df # 每当Streamlit在自己的行中看到变量或文字值时,它都会使用st.write()自动将其写入您的应用程序。
  15. # st.write()方法,可以自动渲染 文本、数据、Matplotlib图形、Altair图表等等。
  16. st.write("write() 方法使用")
  17. st.write(pd.DataFrame({
  18. 'first column': [1, 2, 3, 4],
  19. 'second column': [10, 20, 30, 40]
  20. }))

运行Streamlit的另一种方法是将其作为Python模块运行。这在配置 PyCharm 等 IDE 以使用 Streamlit 时很有用:

  1. # Running
  2. python -m streamlit run your_script.py
  3. # is equivalent to:
  4. streamlit run your_script.py

对其基础使用可以参考streamlit 入门之基本概念 - 知乎

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/871592
推荐阅读
相关标签
  

闽ICP备14008679号