【Gradio】Gradio客户端与轻量版 | 开始使用 Gradio Python 客户端

Gradio Python 客户端使得使用任何 Gradio 应用作为 API 变得非常容易。例如,考虑这个 Hugging Face Space https://huggingface.co/spaces/abidlabs/whisper,它可以转录从麦克风录制的音频文件。

e079a7e7b3d45183da8f65164aef241f.png

使用 gradio_client 库,我们可以轻松地使用 Gradio 作为 API 来编程转录音频文件。

这是完成它的全部代码:

# 从gradio_client包中导入Client和file类
from gradio_client import Client, file


# 创建一个Client对象,指定要使用的模型是“abidlabs/whisper”
client = Client("abidlabs/whisper")


# 使用客户端的predict方法进行预测,输入参数是一个通过file函数封装的音频文件“audio_sample.wav”
output = client.predict(
    audio=file("audio_sample.wav")
)


# 输出预测结果
print(output)

50b3890c845c2793d12b4ff341583aa9.png

Gradio 客户端适用于任何托管的 Gradio 应用!尽管客户端主要用于托管在 Hugging Face Spaces 上的应用,但您的应用可以托管在任何地方,例如您自己的服务器。

先决条件:要使用 Gradio 客户端,您不需要非常详细地了解 gradio 库。然而,对 Gradio 的输入和输出组件概念有一般的熟悉是有帮助的。

 安装 

如果您已经有了最新版本的 gradio ,那么 gradio_client 将作为依赖项包含在内。但请注意,此文档反映了 gradio_client 的最新版本,所以如果您不确定,请升级!

轻量级 gradio_client 包可以通过 pip(或 pip3)安装,并且已测试可与 Python 3.9 或更高版本一起使用:

$ pip install --upgrade gradio_client

连接到 Hugging Face Spaces 上的 Gradio 应用程序 

首先连接实例化一个 Client 对象,并将其连接到运行在 Hugging Face Spaces 上的 Gradio 应用程序。

from gradio_client import Client


client = Client("abidlabs/en2fr")  # a Space that translates from English to French
from gradio_client import Client


client = Client("abidlabs/my-private-space", hf_token="...")
# 导入os库,用于从环境变量中获取Hugging Face Token
import os
# 从gradio_client包中导入Client和file类
from gradio_client import Client, file


# 从环境变量中读取Hugging Face 
### 将Gradio项目进行轻量打包 为了实现Gradio项目的轻量化打包,可以采用几种策略来减少最终包的大小并优化部署过程[^1]。 #### 使用虚拟环境和依赖管理工具 创建独立的Python虚拟环境对于控制依赖项至关重要。通过`venv`模块建立一个新的虚拟环境,并利用`pip freeze > requirements.txt`命令记录当前环境中安装的所有软件包及其本号。这有助于确保只包含必要的库文件而不引入不必要的开销。 ```bash python -m venv my_gradio_env source my_gradio_env/bin/activate # Linux/MacOS my_gradio_env\Scripts\activate # Windows pip install gradio pip freeze > requirements.txt ``` #### 移除未使用的资源 检查应用程序内部是否存在任何不再需要的大尺寸静态资产(如图片、视频等),以及是否有冗余或过期的数据集副本。清理这些无用的内容能够显著降低整体体积。 #### 配置Docker镜像 构建精简容器化应用也是减轻分发负担的有效方式之一。基于官方提供的最小基础映像(例如alpine linux),编写自定义化的Dockerfile以满足特定需求的同时保持较低层次结构复杂度。 ```dockerfile FROM python:3.9-alpine WORKDIR /app COPY . . RUN pip install --no-cache-dir -r requirements.txt CMD ["python", "app.py"] ``` #### 应用程序本身的优化 针对Gradio本身而言,在启动服务前可以通过设置参数调整其行为模式从而达到更好的性能表现;比如禁用不必要功能插件、启用生产模式等措施均有利于提高效率响应速度。 ```python import gradio as gr demo = gr.Interface(fn=predict, inputs="text", outputs="label") demo.launch(server_name="0.0.0.0", server_port=7860, share=False, debug=True) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值