pub struct OpenAI {Show 13 fields
pub api_key: String,
pub model: String,
pub max_tokens: Option<u32>,
pub temperature: Option<f32>,
pub system: Option<String>,
pub timeout_seconds: Option<u64>,
pub stream: Option<bool>,
pub top_p: Option<f32>,
pub top_k: Option<u32>,
pub tools: Option<Vec<Tool>>,
pub embedding_encoding_format: Option<String>,
pub embedding_dimensions: Option<u32>,
pub reasoning_effort: Option<String>,
/* private fields */
}Expand description
Client for interacting with OpenAI’s API.
Provides methods for chat and completion requests using OpenAI’s models.
Fields§
§api_key: String§model: String§max_tokens: Option<u32>§temperature: Option<f32>§system: Option<String>§timeout_seconds: Option<u64>§stream: Option<bool>§top_p: Option<f32>§top_k: Option<u32>§tools: Option<Vec<Tool>>§embedding_encoding_format: Option<String>Embedding parameters
embedding_dimensions: Option<u32>§reasoning_effort: Option<String>Implementations§
Source§impl OpenAI
impl OpenAI
Sourcepub fn new(
api_key: impl Into<String>,
model: Option<String>,
max_tokens: Option<u32>,
temperature: Option<f32>,
timeout_seconds: Option<u64>,
system: Option<String>,
stream: Option<bool>,
top_p: Option<f32>,
top_k: Option<u32>,
embedding_encoding_format: Option<String>,
embedding_dimensions: Option<u32>,
tools: Option<Vec<Tool>>,
reasoning_effort: Option<String>,
) -> Self
pub fn new( api_key: impl Into<String>, model: Option<String>, max_tokens: Option<u32>, temperature: Option<f32>, timeout_seconds: Option<u64>, system: Option<String>, stream: Option<bool>, top_p: Option<f32>, top_k: Option<u32>, embedding_encoding_format: Option<String>, embedding_dimensions: Option<u32>, tools: Option<Vec<Tool>>, reasoning_effort: Option<String>, ) -> Self
Creates a new OpenAI client with the specified configuration.
§Arguments
api_key- OpenAI API keymodel- Model to use (defaults to “gpt-3.5-turbo”)max_tokens- Maximum tokens to generatetemperature- Sampling temperaturetimeout_seconds- Request timeout in secondssystem- System promptstream- Whether to stream responses
Trait Implementations§
Source§impl ChatProvider for OpenAI
impl ChatProvider for OpenAI
Source§fn chat_with_tools<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
messages: &'life1 [ChatMessage],
tools: Option<&'life2 [Tool]>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn ChatResponse>, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn chat_with_tools<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
messages: &'life1 [ChatMessage],
tools: Option<&'life2 [Tool]>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn ChatResponse>, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn chat<'life0, 'life1, 'async_trait>(
&'life0 self,
messages: &'life1 [ChatMessage],
) -> Pin<Box<dyn Future<Output = Result<Box<dyn ChatResponse>, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn chat<'life0, 'life1, 'async_trait>(
&'life0 self,
messages: &'life1 [ChatMessage],
) -> Pin<Box<dyn Future<Output = Result<Box<dyn ChatResponse>, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sends a chat request to the provider with a sequence of messages. Read more
Source§impl CompletionProvider for OpenAI
impl CompletionProvider for OpenAI
Source§fn complete<'life0, 'life1, 'async_trait>(
&'life0 self,
_req: &'life1 CompletionRequest,
) -> Pin<Box<dyn Future<Output = Result<CompletionResponse, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn complete<'life0, 'life1, 'async_trait>(
&'life0 self,
_req: &'life1 CompletionRequest,
) -> Pin<Box<dyn Future<Output = Result<CompletionResponse, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sends a completion request to OpenAI’s API.
Currently not implemented.
Source§impl EmbeddingProvider for OpenAI
impl EmbeddingProvider for OpenAI
Auto Trait Implementations§
impl Freeze for OpenAI
impl !RefUnwindSafe for OpenAI
impl Send for OpenAI
impl Sync for OpenAI
impl Unpin for OpenAI
impl !UnwindSafe for OpenAI
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