Client

Struct Client 

Source
pub struct Client { /* private fields */ }
Expand description

The main client for interacting with the modelexpress_server via gRPC

Implementations§

Source§

impl Client

Source

pub async fn new(config: Config) -> CommonResult<Self>

Create a new client with the given configuration

Source

pub async fn new_with_cache( config: Config, cache_config: CacheConfig, ) -> CommonResult<Self>

Create a new client with cache configuration

Source

pub fn get_cache_config(&self) -> Option<&CacheConfig>

Get cache configuration

Source

pub fn set_cache_config(&mut self, cache_config: CacheConfig)

Set cache configuration

Source

pub fn list_cached_models(&self) -> CommonResult<CacheStats>

List cached models

Source

pub fn clear_cached_model(&self, model_name: &str) -> CommonResult<()>

Clear specific model from cache

Source

pub fn clear_all_cached_models(&self) -> CommonResult<()>

Clear entire cache

Source

pub async fn get_model_path(&self, model_name: &str) -> Result<PathBuf>

Source

pub async fn preload_model_to_cache( &mut self, model_name: &str, provider: ModelProvider, ignore_weights: bool, ) -> CommonResult<()>

Pre-download model to cache

Source

pub async fn health_check(&mut self) -> CommonResult<Status>

Get the server health status

Source

pub async fn send_request<T: DeserializeOwned>( &mut self, action: impl Into<String>, payload: Option<HashMap<String, Value>>, ) -> CommonResult<T>

Send a request to the server

Source

pub async fn request_model_with_provider_and_fallback( &mut self, model_name: impl Into<String>, provider: ModelProvider, ignore_weights: bool, ) -> CommonResult<()>

Request a model from the server with a specific provider and automatic fallback This function will first try to use the server for streaming downloads. If the server is unavailable, it will fallback to downloading directly.

Source

pub async fn request_model_with_provider( &mut self, model_name: impl Into<String>, provider: ModelProvider, ignore_weights: bool, ) -> CommonResult<()>

Request a model from the server with a specific provider This function will wait until the model is downloaded using streaming updates

Source

pub async fn request_model( &mut self, model_name: impl Into<String>, ignore_weights: bool, ) -> CommonResult<()>

Request a model from the server using the default provider (Hugging Face) with automatic fallback This function will first try to use the server, then fallback to direct download if needed

Source

pub async fn request_model_server_only( &mut self, model_name: impl Into<String>, ignore_weights: bool, ) -> CommonResult<()>

Request a model from the server only (no fallback) This function will wait until the model is downloaded using streaming updates from the server

Source

pub async fn request_model_with_smart_fallback( model_name: impl Into<String>, provider: ModelProvider, config: Config, ignore_weights: bool, ) -> CommonResult<()>

Request a model with automatic server fallback, creating client connection only if needed This function will try to download via server if possible, otherwise download directly

Source

pub async fn download_model_directly( model_name: impl Into<String>, provider: ModelProvider, ignore_weights: bool, ) -> CommonResult<()>

Download a model directly without using the server This bypasses the server entirely and downloads the model using the specified provider

Auto Trait Implementations§

§

impl !Freeze for Client

§

impl !RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,