Gradio 是一个开源Python库,用于快速构建AI模型、API 或任意 Python函数的交互式Web用户界面。
先看三个例子:
1.Stable Diffusion web UI
2.Hugging Face上用Gradio做的在线推理交互页面
3.魔搭社区上用Gradio做的在线推理交互页面
| 安装与使用
在你的Python环境中:pip install gradio
导入使用:import gradio as gr
| 通过初始化gr.Interface对象来构建界面
这是Gradio创建页面的两种方式之一,优点是高度封装,使用起来十分简单,缺点是灵活性差。
假定我们的功能需求是:
例子:
上图示例的界面十多行代码即可完成,非常简洁( 向观智能客服发送代号0736可获得该代码文件,v公众平~台"观智能") :
核心逻辑:
- 定义一个处理函数,这里取名叫person_info
- 初始化交互界面类Interface对象
有三个核心参数:
1. fn,处理函数。这里将上面定义的person_info传给它。
2. inputs,输入组件。有多个输入组件时放在列表中,输入组件的顺序和个数和处理函数fn的参数要一致。
3. outputs,输出组件。多个输出组件时放在列表中,输出组件顺序和个数需要和fn的返回值一致。
**其它:
**1. Clear、Submit、Flag三个按钮是gr.InterFace默认存在的,分别代表清除输入、提交信息、保存日志 2. 会话记忆,也就是保存用户的历史输入信息用的是gr.State()对象,inputs和outputs中的State指向同一个对象 3. 日志保存。点击Flag按钮可保存日志。在项目目录下生成日志文件夹和文件 4. 组件的传入方式
字符串名称,如“textbox”,代表一个文本框
类对象,如 gr.Textbox(),这种方式就可以传入一些参数,比字符串更灵活。上面示例中均采用这种方式。 - 启动服务
demo.launch()。本地默认地址http://127.0.0.1:7860
| 通过gr.Block创建界面
这是Gradio创建界面的另一种方式,作者有时间再写一个相关教程~
如果喜欢作者的文章,可以关注下v公众平台---观智能~