ToB企服应用市场:ToB评测及商务社交产业平台

标题: Gradio,快速构建AI算法的交互式web界面 [打印本页]

作者: 风雨同行    时间: 2024-10-3 12:35
标题: Gradio,快速构建AI算法的交互式web界面
1、媒介

Gradio是一个开源的python库,像大多数依靠库一样,可直接pip安装导包利用。它紧张做的一件事,是帮助你快速创建一个用户界面,以便向他人演示你的AI模子,尤其是一些对话的大语言模子。另外,Gradio紧张是易用,上手简朴,快速创建,想必可以省去不少麻烦。
2、安装

Gradio要求python版本在3.7以上(包含),直接利用pip安装即可,建议利用镜像源。
  1. pip install gradio
  2. pip install gradio -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
3、组件先容

导包 import gradio as gr,这里用gr代替gradio
3.1 输入输出组件:


3.2 控制组件:


3.3 结构组件:


4、演示demo

Gradio提供了两种方式创建应用界面
1、gr.interface:定义输入和输出函数,将它们与界面组件关联,实用于简朴场景应用
2、gr.Blocks:可以利用不同的结构块来组织界面组件,更加实用于定制化场景应用
4.1 gr.interface

gr.Interface封装接口的初始化参数:

演示demo,输入一张图像,输出该图像的大小
  1. import gradio as gr
  2. #处理函数
  3. def greet(img):
  4.     shape = img.shape
  5.     return shape
  6. #定义输入输出组件
  7. input = gr.Image(label='请输入一张彩色图')
  8. output = gr.Text(label='展示彩色图像的大小')
  9. demo = gr.Interface(
  10.     fn = greet,
  11.     inputs = input,
  12.     outputs = output
  13. )
  14. demo.launch(share=True)
复制代码
乐成执行上述代码之后,在终端会输出web界面链接

可直接点击链接打开界面,定义的输入组件(图像)以及Label,输出组件(文本框)以及Label(用作提示),左下角的clear(扫除) 和 submit (提交)组件是自带的。

测试一下,上传或拖拽一张图像,点击submit,可看到右侧文本框中显示图像大小

在这里,输入组件(图像)默认是对图像举行了读操作的,因为上面定义的处理函数,直接对函数输入举行shape了!
4.2 gr.Blocks

gr.Block方式,还是用刚才的demo例子
  1. import gradio as gr
  2. #处理函数
  3. def greet(img):
  4.     shape = img.shape
  5.     return shape
  6. with gr.Blocks() as demo:
  7.     input = gr.Image(label='请输入一张彩色图')
  8.     output = gr.Text(label='展示彩色图像的大小')
  9.     #创建控制组件按钮作为提交
  10.     submit_btn = gr.Button('submit')
  11.     #使用click方法为按钮添加回调函数
  12.     submit_btn.click(fn=greet,inputs=input,outputs=output)
  13. demo.launch(share=True)
复制代码
链接进去后是这样的,结构不太一样,测试也是上传图片,点击submit输出结果。

还是刚才的demo,不过这里稍加修改下,以行结构情势添加clear按钮
  1. import gradio as gr
  2. #处理函数,分两种情况
  3. def greet(img):
  4.     if img is None:
  5.         return 0
  6.     else:
  7.         shape = img.shape
  8.         return shape
  9. with gr.Blocks() as demo:
  10.     input = gr.Image(label='请输入一张彩色图')
  11.     output = gr.Text(label='展示彩色图像的大小')
  12.     #布局组件,以行分布显示submit和clear按钮
  13.     with gr.Row():
  14.         submit_btn = gr.Button("submit")
  15.         clear_btn = gr.Button("clear")
  16.         submit_btn.click(fn=greet,inputs=input,outputs=output)
  17.         #clear按钮的回调函数输入永远为None
  18.         clear_btn.click(fn=greet,inputs=None,outputs=output)
  19. demo.launch(share=True)
复制代码
这里点击clear按钮,输出永远是0,因为这里的回调函数输入永远为None,输出为0

玩过其他工具的各种组件,信赖对gradio工具的组件也会随意组合玩耍滴。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4