Skip to content

交互式应用 📤

Gradio 是一个用于快速搭建机器学习模型、脚本或工具交互界面的开源库,支持网页展示、分享链接、组件拖拽等功能,非常适合用来做可视化演示或测试。

使用场景

场景1:我想录制声音,还得人声分离,怎么办?

1. 定义应用

python
def separate_audio(input):
    # code ...
    return separated_vocals, separated_bg

def init():
    import gradio as gr

    return gr.Interface(
        fn=separate_audio,
        inputs=[
            gr.Audio(type="filepath", label="Input"),
        ],
        outputs=[
            gr.Audio(type="filepath", label="Vocals"),
            gr.Audio(type="filepath", label="Instrumental"),
        ],
        title="CreatorBox Music Source Separation",
    )

if __name__ == "__main__":
    init().launch(server_name="0.0.0.0", server_port=8000)

2. 注册应用

bash
curl -X 'POST' \
  'http://172.18.0.1:8000/app/mounts' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "spleeter",                                   # 名称
  "description": "CreatorBox Music Source Separation",  # 描述
  "module": "src.support.spleeter_",                    # 路径
  "attr": "init",                                       # 方法或变量名
  "path": "/spleeter",                                  # 请求
  "status": 1                                           # 状态
}'

3. 打开应用