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§

source

type Response: Send + Sync

The raw response type returned by the underlying completion model

Required Methods§

source

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§

source

fn completion_request(&self, prompt: &str) -> CompletionRequestBuilder<Self>

source

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.

Implementors§