Trait rig::completion::CompletionModel
source · pub trait CompletionModel: Clone + Send + Sync {
type Response: Send + Sync;
// Required method
fn completion(
&self,
request: CompletionRequest,
) -> impl Future<Output = Result<CompletionResponse<Self::Response>, CompletionError>> + Send;
// Provided methods
fn completion_request(&self, prompt: &str) -> CompletionRequestBuilder<Self> { ... }
fn simple_completion(
&self,
prompt: &str,
chat_history: Vec<Message>,
) -> impl Future<Output = Result<CompletionResponse<Self::Response>, CompletionError>> + Send { ... }
}
Expand description
Trait defining a completion model that can be used to generate completion responses. This trait is meant to be implemented by the user to define a custom completion model, either from a third party provider (e.g.: OpenAI) or locally.
Required Associated Types§
Required Methods§
sourcefn completion(
&self,
request: CompletionRequest,
) -> impl Future<Output = Result<CompletionResponse<Self::Response>, CompletionError>> + Send
fn completion( &self, request: CompletionRequest, ) -> impl Future<Output = Result<CompletionResponse<Self::Response>, CompletionError>> + Send
Generates a completion response for the given completion request.
Provided Methods§
fn completion_request(&self, prompt: &str) -> CompletionRequestBuilder<Self>
fn simple_completion( &self, prompt: &str, chat_history: Vec<Message>, ) -> impl Future<Output = Result<CompletionResponse<Self::Response>, CompletionError>> + Send
Object Safety§
This trait is not object safe.