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
impl Client
Sourcepub fn new() -> Result<Self>
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.
Sourcepub fn from_environment(pg_env: PgEnvironment) -> Result<Self>
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.
Sourcepub async fn check_health(&self) -> Result<String>
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.
Sourcepub async fn retrieve_model_list(
&self,
capability: String,
) -> Result<Vec<String>>
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.
Sourcepub async fn embedding(&self, req: &Request) -> Result<Response>
pub async fn embedding(&self, req: &Request) -> Result<Response>
Calls the embedding endpoint.
§Arguments:
req
- An instance ofembedding::Request
Returns a embedding::Response
. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code
is considered an error.
Sourcepub async fn generate_completion(&self, req: &Request) -> Result<Response>
pub async fn generate_completion(&self, req: &Request) -> Result<Response>
Calls the generate completion endpoint.
§Arguments:
req
- An instance ofcompletion::Request
Returns a completion::Response
. A 200 (Ok) status code is expected from the Prediction Guard api. Any other status code
is considered an error.
Sourcepub async fn generate_chat_completion(
&self,
req: &Request<Message>,
) -> Result<Response>
pub async fn generate_chat_completion( &self, req: &Request<Message>, ) -> Result<Response>
Calls the generate chat completion endpoint.
§Arguments:
req
- An instance ofchat::Request::<Message>
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.
Sourcepub async fn generate_chat_completion_events<F>(
&self,
req: &mut Request<Message>,
event_handler: &mut F,
) -> Result<Option<ResponseEvents>>
pub async fn generate_chat_completion_events<F>( &self, req: &mut Request<Message>, event_handler: &mut F, ) -> Result<Option<ResponseEvents>>
Calls the generate chat completion endpoint.
§Arguments:
req
- An instance ofchat::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.
Sourcepub async fn generate_chat_completion_events_async(
&self,
req: &mut Request<Message>,
sender: &Sender<String>,
) -> Result<Option<ResponseEvents>>
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 ofchat::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.
Sourcepub async fn generate_chat_vision(
&self,
req: &Request<MessageVision>,
) -> Result<Response>
pub async fn generate_chat_vision( &self, req: &Request<MessageVision>, ) -> Result<Response>
Calls the generate chat completion endpoint for chat vision.
§Arguments:
req
- An instance ofchat::Request::<MessageVision>
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.
Sourcepub async fn rerank(&self, req: &Request) -> Result<Response>
pub async fn rerank(&self, req: &Request) -> Result<Response>
Calls the rerank endpoint.
§Arguments:
req
- An instance ofrerank::Request
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.
Sourcepub async fn check_factuality(&self, req: &Request) -> Result<Response>
pub async fn check_factuality(&self, req: &Request) -> Result<Response>
Calls the factuality check endpoint.
§Arguments:
req
- An instance offactuality::Request
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.
Sourcepub async fn translate(&self, req: &Request) -> Result<Response>
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.
Sourcepub async fn pii(&self, req: &Request) -> Result<Response>
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.
Sourcepub async fn injection(&self, req: &Request) -> Result<Response>
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.
Sourcepub async fn toxicity(&self, req: &Request) -> Result<Response>
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.
Sourcepub async fn tokenize(&self, req: &Request) -> Result<Response>
pub async fn tokenize(&self, req: &Request) -> Result<Response>
Calls the tokenize endpoint.
§Arguments:
req
- An instance oftokenize::Request
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.