6 个版本
新 0.2.3 | 2024 年 8 月 20 日 |
---|---|
0.2.2 | 2024 年 7 月 25 日 |
0.1.1 | 2024 年 7 月 23 日 |
#1516 在 网络编程
每月 465 次下载
290KB
952 行代码(不含注释)
gradio-rs
Rust 中的 Gradio 客户端。
特性
- 查看 API
- 上传文件
- 进行预测
- 阻塞的
predict
方法 - 非阻塞的
submit
方法
- 阻塞的
- 命令行界面
- 同步和异步 API
文档
使用方法
查看 示例目录 获取更多示例。
以下是一个使用 BS-RoFormer
模型从音频文件中分离人声和背景音乐的示例。
use gradio::{PredictionInput, Client, ClientOptions};
#[tokio::main]
async fn main() {
if std::env::args().len() < 2 {
println!("Please provide an audio file path as an argument");
std::process::exit(1);
}
let args: Vec<String> = std::env::args().collect();
let file_path = &args[1];
println!("File: {}", file_path);
let client = Client::new("JacobLinCool/vocal-separation", ClientOptions::default())
.await
.unwrap();
let output = client
.predict(
"/separate",
vec![
PredictionInput::from_file(file_path),
PredictionInput::from_value("BS-RoFormer"),
],
)
.await
.unwrap();
println!(
"Vocals: {}",
output[0].clone().as_file().unwrap().url.unwrap()
);
println!(
"Background: {}",
output[1].clone().as_file().unwrap().url.unwrap()
);
}
查看 ./examples/sd3.rs 获取使用 submit
方法的非阻塞示例。
命令行界面
cargo install gradio
gr --help
以 stabilityai/stable-diffusion-3-medium
HF Space 为例
> gr list stabilityai/stable-diffusion-3-medium
API Spec for stabilityai/stable-diffusion-3-medium:
/infer
Parameters:
prompt ( str )
negative_prompt ( str )
seed ( float ) numeric value between 0 and 2147483647
randomize_seed ( bool )
width ( float ) numeric value between 256 and 1344
height ( float ) numeric value between 256 and 1344
guidance_scale ( float ) numeric value between 0.0 and 10.0
num_inference_steps ( float ) numeric value between 1 and 50
Returns:
Result ( filepath )
Seed ( float ) numeric value between 0 and 2147483647
> gr run stabilityai/stable-diffusion-3-medium infer 'Rusty text "AI & CLI" on the snow.' '' 0 true 1024 1024 5 28
Result: https://stabilityai-stable-diffusion-3-medium.hf.space/file=/tmp/gradio/5735ca7775e05f8d56d929d8f57b099a675c0a01/image.webp
Seed: 486085626
对于文件输入,只需使用文件路径作为参数即可
gr run hf-audio/whisper-large-v3 predict 'test-audio.wav' 'transcribe'
output: " Did you know you can try the coolest model on your command line?"
依赖项
~10–23MB
~342K SLoC