use async_trait::async_trait;
use toolcraft_request::ByteStream;
use crate::error::Result;
#[async_trait]
pub trait ModelClient<I, O> {
async fn infer(&self, input: I) -> Result<O>;
}
#[async_trait]
pub trait StreamModelClient<I> {
async fn infer_stream(&self, input: I) -> Result<ByteStream>;
}