pub struct OpenAIProvider { /* private fields */ }
Expand description
OpenAI provider implementation.
Implementations§
Source§impl OpenAIProvider
impl OpenAIProvider
Sourcepub fn new(config: OpenAIConfig) -> Result<Self, OpenAIError>
pub fn new(config: OpenAIConfig) -> Result<Self, OpenAIError>
Create a new OpenAI provider with the given configuration.
Trait Implementations§
Source§impl ChatProvider for OpenAIProvider
impl ChatProvider for OpenAIProvider
Source§type Config = OpenAIConfig
type Config = OpenAIConfig
Provider-specific configuration type
Source§type Response = OpenAIChatResponse
type Response = OpenAIChatResponse
Provider-specific response type
Source§type Error = OpenAIError
type Error = OpenAIError
Provider-specific error type
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 moreSource§impl CompletionProvider for OpenAIProvider
impl CompletionProvider for OpenAIProvider
Source§type Config = OpenAIConfig
type Config = OpenAIConfig
Provider-specific configuration type
Source§type Response = OpenAICompletionResponse
type Response = OpenAICompletionResponse
Provider-specific response type
Source§type Error = OpenAIError
type Error = OpenAIError
Provider-specific error type
Source§impl Debug for OpenAIProvider
impl Debug for OpenAIProvider
Source§impl EmbeddingProvider for OpenAIProvider
impl EmbeddingProvider for OpenAIProvider
Source§type Config = OpenAIConfig
type Config = OpenAIConfig
Provider-specific configuration type
Source§type Error = OpenAIError
type Error = OpenAIError
Provider-specific error type
Source§fn embed<'life0, 'life1, 'async_trait>(
&'life0 self,
texts: &'life1 [String],
) -> Pin<Box<dyn Future<Output = ProviderResult<Vec<Embedding>, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn embed<'life0, 'life1, 'async_trait>(
&'life0 self,
texts: &'life1 [String],
) -> Pin<Box<dyn Future<Output = ProviderResult<Vec<Embedding>, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate embeddings for the given texts. Read more
Source§impl StreamingProvider for OpenAIProvider
impl StreamingProvider for OpenAIProvider
Source§type StreamItem = String
type StreamItem = String
Stream item type for incremental responses
Source§type Stream = Pin<Box<dyn Stream<Item = Result<<OpenAIProvider as StreamingProvider>::StreamItem, <OpenAIProvider as ChatProvider>::Error>> + Send>>
type Stream = Pin<Box<dyn Stream<Item = Result<<OpenAIProvider as StreamingProvider>::StreamItem, <OpenAIProvider as ChatProvider>::Error>> + Send>>
Stream type for the response
Source§fn chat_stream<'life0, 'async_trait>(
&'life0 self,
request: ChatRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<Self::Stream, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn chat_stream<'life0, 'async_trait>(
&'life0 self,
request: ChatRequest,
) -> Pin<Box<dyn Future<Output = ProviderResult<Self::Stream, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Send a chat request and receive a streaming response. Read more
Source§impl ToolProvider for OpenAIProvider
impl ToolProvider for OpenAIProvider
Source§fn chat_with_tools<'life0, 'life1, 'async_trait>(
&'life0 self,
request: ChatRequest,
tools: &'life1 [Tool],
) -> Pin<Box<dyn Future<Output = ProviderResult<Self::Response, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn chat_with_tools<'life0, 'life1, 'async_trait>(
&'life0 self,
request: ChatRequest,
tools: &'life1 [Tool],
) -> Pin<Box<dyn Future<Output = ProviderResult<Self::Response, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Send a chat request with available tools. Read more
Auto 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