pub trait Provider: Send + Sync {
// Required methods
fn complete(
&self,
request: &CompletionRequest,
) -> Pin<Box<dyn Future<Output = Result<CompletionResponse, ProviderError>> + Send + '_>>;
fn stream(&self, request: &CompletionRequest) -> EventStream;
}