Client

Struct Client 

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

Handles the connectivity to the Prediction Guard API. It is safe to be used across threads.

Implementations§

Source§

impl Client

Source

pub fn new() -> Result<Self>

Creates a new instance of client to be used. Assumes the Prediction Guard keys, PREDICTIONGUARD_API_KEY and PREDICTIONGUARD_URL are set in the environment.

Source

pub fn from_environment(pg_env: PgEnvironment) -> Result<Self>

Creates a new instance of client to be used with a particular Prediction Guard environment.

§Arguments:
  • pg_env - the prediction guard environment to connect to.
Source

pub async fn check_health(&self) -> Result<String>

Calls the health endpoint.

Returns the text response from the server. A 200 (Ok) status code is expected from Prediction Guard api. Any other status code is considered an error.

Source

pub async fn retrieve_model_list( &self, capability: String, ) -> Result<Vec<String>>

Retrieves the list of models available for a set capability

§Arguments:
  • capability - The capability of models to sort by.

Returns a vector of strings with the model names. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn embedding(&self, req: &Request) -> Result<Response>

Calls the embedding endpoint.

§Arguments:

Returns a embedding::Response. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn generate_completion(&self, req: &Request) -> Result<Response>

Calls the generate completion endpoint.

§Arguments:

Returns a completion::Response. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn generate_chat_completion( &self, req: &Request<Message>, ) -> Result<Response>

Calls the generate chat completion endpoint.

§Arguments:

Returns an instance of chat::Response. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn generate_chat_completion_events<F>( &self, req: &mut Request<Message>, event_handler: &mut F, ) -> Result<Option<ResponseEvents>>
where F: FnMut(&String),

Calls the generate chat completion endpoint.

§Arguments:
  • req - An instance of chat::Request::<Message>
  • event_handler - Event handler function that is called when a server side event is raised.

Returns an instance of chat::Response.

The generated text is returned via events from the server. The event handler function gets called every time the client receives an event response with data. Once the server terminates the events the call returns. The entire chat::Response response is then returned to the caller.

A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn generate_chat_completion_events_async( &self, req: &mut Request<Message>, sender: &Sender<String>, ) -> Result<Option<ResponseEvents>>

Calls the generate chat completion endpoint.

§Arguments:
  • req - An instance of chat::Request::<Message>
  • sender - A sender instance for a channel where there is a receiver waiting for a message.

Returns an instance of chat::Response.

The generated text is returned via events from the server. The sender gets called every time the client receives an event response with data. Once the server terminates the events the call returns. The receiver should handle the stop message which means there are no more messages to receive and exit. The entire chat::Response response is then returned to the caller.

A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn generate_chat_vision( &self, req: &Request<MessageVision>, ) -> Result<Response>

Calls the generate chat completion endpoint for chat vision.

§Arguments:

Returns an instance of chat::Response. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn rerank(&self, req: &Request) -> Result<Response>

Calls the rerank endpoint.

§Arguments:

Returns an instance of rerank::Response. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn check_factuality(&self, req: &Request) -> Result<Response>

Calls the factuality check endpoint.

§Arguments:

Returns am instance of factuality::Response. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn translate(&self, req: &Request) -> Result<Response>

Calls the translate endpoint.

§Arguments:

req - Instance of translate::Request

Returns a translate::Response. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn pii(&self, req: &Request) -> Result<Response>

Calls the PII endpoint that is used to remove/detect PII information in the request.

§Arguments:

req - An instance of pii::Request

Returns an instance of pii::Response. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn injection(&self, req: &Request) -> Result<Response>

Calls the injection check endpoint.

§Arguments:

req - Instance of injection::Request

Returns an instance of injection::Response. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn toxicity(&self, req: &Request) -> Result<Response>

Calls the injection check endpoint.

§Arguments:

req - An instance of toxicity::Request

Returns an instance of toxicity::Response. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn tokenize(&self, req: &Request) -> Result<Response>

Calls the tokenize endpoint.

§Arguments:

Returns an instance of tokenize::Response. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Source

pub async fn models(&self, req: Option<&Request>) -> Result<Response>

Retrieves the list of models available.

Returns a vector with the model metadata. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code is considered an error.

Trait Implementations§

Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Client

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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,