pub struct OpenAiProvider { /* private fields */ }Expand description
OpenAI provider for code generation.
Implementations§
Source§impl OpenAiProvider
impl OpenAiProvider
Sourcepub fn new(config: ProviderConfig) -> Result<Self>
pub fn new(config: ProviderConfig) -> Result<Self>
Create a new OpenAI provider with the given configuration.
Sourcepub fn from_env() -> Result<Self>
pub fn from_env() -> Result<Self>
Create a provider from environment variables.
Reads OPENAI_API_KEY and optionally OPENAI_MODEL.
Sourcepub fn from_env_with_model(model: &str) -> Result<Self>
pub fn from_env_with_model(model: &str) -> Result<Self>
Create a provider from environment with a specific model.
Trait Implementations§
Source§impl AiProvider for OpenAiProvider
impl AiProvider for OpenAiProvider
Source§fn generate<'life0, 'async_trait>(
&'life0 self,
request: GenerationRequest,
) -> Pin<Box<dyn Future<Output = Result<GenerationResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn generate<'life0, 'async_trait>(
&'life0 self,
request: GenerationRequest,
) -> Pin<Box<dyn Future<Output = Result<GenerationResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Generate code for a slot. Read more
Source§fn generate_stream(
&self,
request: GenerationRequest,
) -> BoxStream<'static, Result<StreamResponse>>
fn generate_stream( &self, request: GenerationRequest, ) -> BoxStream<'static, Result<StreamResponse>>
Generate a stream of code for a slot. Read more
Source§fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Check if the provider is available and configured correctly.
Source§fn generate_batch<'life0, 'async_trait>(
&'life0 self,
requests: Vec<GenerationRequest>,
) -> Pin<Box<dyn Future<Output = Result<Vec<GenerationResponse>, AetherError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn generate_batch<'life0, 'async_trait>(
&'life0 self,
requests: Vec<GenerationRequest>,
) -> Pin<Box<dyn Future<Output = Result<Vec<GenerationResponse>, AetherError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Generate code for multiple slots in batch. Read more
Source§impl Clone for OpenAiProvider
impl Clone for OpenAiProvider
Source§fn clone(&self) -> OpenAiProvider
fn clone(&self) -> OpenAiProvider
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for OpenAiProvider
impl !RefUnwindSafe for OpenAiProvider
impl Send for OpenAiProvider
impl Sync for OpenAiProvider
impl Unpin for OpenAiProvider
impl !UnwindSafe for OpenAiProvider
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more