pub struct OpenAI { /* private fields */ }
Implementations§
Source§impl OpenAI
impl OpenAI
Sourcepub fn new(api_key: String) -> Self
pub fn new(api_key: String) -> Self
Examples found in repository?
examples/openai.rs (line 12)
8async fn main() {
9 let api_key =
10 std::env::var("OPENAI_API_KEY").expect("OPENAI_API_KEY environment variable not set");
11
12 let client = OpenAI::new(api_key);
13
14 let request = ChatCompletionRequest {
15 model: "gpt-3.5-turbo".to_string(),
16 messages: vec![
17 ChatMessage {
18 role: "system".to_string(),
19 content: "You are a helpful assistant.".to_string(),
20 },
21 ChatMessage {
22 role: "user".to_string(),
23 content: "Hello!".to_string(),
24 },
25 ],
26 temperature: Some(0.7),
27 max_tokens: Some(50),
28 };
29
30 match client.chat_completion(request).await {
31 Ok(response) => {
32 for choice in response.choices {
33 println!("Response: {}", choice.message.content);
34 }
35 }
36 Err(e) => eprintln!("Error: {}", e),
37 }
38}
Trait Implementations§
Source§impl LlmProvider for OpenAI
impl LlmProvider for OpenAI
fn chat_completion<'life0, 'async_trait>(
&'life0 self,
request: ChatCompletionRequest,
) -> Pin<Box<dyn Future<Output = Result<ChatCompletionResponse, LlmApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
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