pub struct OpenAiClient { /* private fields */ }Expand description
OpenAI client
Implementations§
Source§impl OpenAiClient
impl OpenAiClient
pub fn new(api_key: String, model: String) -> Self
pub fn with_base_url(self, base_url: String) -> Self
pub fn with_retry_config(self, retry_config: RetryConfig) -> Self
pub fn with_http_client(self, http: Arc<dyn HttpClient>) -> Self
Trait Implementations§
Source§impl LlmClient for OpenAiClient
impl LlmClient for OpenAiClient
Source§fn complete<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
messages: &'life1 [Message],
system: Option<&'life2 str>,
tools: &'life3 [ToolDefinition],
) -> Pin<Box<dyn Future<Output = Result<LlmResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn complete<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
messages: &'life1 [Message],
system: Option<&'life2 str>,
tools: &'life3 [ToolDefinition],
) -> Pin<Box<dyn Future<Output = Result<LlmResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Complete a conversation (non-streaming)
Source§fn complete_streaming<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
messages: &'life1 [Message],
system: Option<&'life2 str>,
tools: &'life3 [ToolDefinition],
) -> Pin<Box<dyn Future<Output = Result<Receiver<StreamEvent>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn complete_streaming<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
messages: &'life1 [Message],
system: Option<&'life2 str>,
tools: &'life3 [ToolDefinition],
) -> Pin<Box<dyn Future<Output = Result<Receiver<StreamEvent>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Complete a conversation with streaming
Returns a receiver for streaming events
Auto Trait Implementations§
impl Freeze for OpenAiClient
impl !RefUnwindSafe for OpenAiClient
impl Send for OpenAiClient
impl Sync for OpenAiClient
impl Unpin for OpenAiClient
impl UnsafeUnpin for OpenAiClient
impl !UnwindSafe for OpenAiClient
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