pub trait CompletionModel {
// Required methods
fn complete(
&self,
request: CompletionRequest,
) -> Io<Error, CompletionResponse>;
fn stream(&self, request: CompletionRequest) -> Stream<Error, StreamChunk>;
}Expand description
The core LLM abstraction: send a request, get a response.
All provider-specific logic is behind this trait.
Returns Io<Error, _> for composable effect handling.
Required Methods§
Sourcefn complete(&self, request: CompletionRequest) -> Io<Error, CompletionResponse>
fn complete(&self, request: CompletionRequest) -> Io<Error, CompletionResponse>
Send a completion request and get a full response.
Sourcefn stream(&self, request: CompletionRequest) -> Stream<Error, StreamChunk>
fn stream(&self, request: CompletionRequest) -> Stream<Error, StreamChunk>
Send a completion request and get a streaming response.