use openai_api_rs::v1::api::OpenAIClient; use openai_api_rs::v1::chat_completion::{self, ChatCompletionRequest}; use openai_api_rs::v1::common::GPT4_O_MINI; use std::env; #[tokio::main] async fn main() -> Result<(), Box> { let api_key = env::var("OPENAI_API_KEY").unwrap().to_string(); let mut client = OpenAIClient::builder().with_api_key(api_key).build()?; let req = ChatCompletionRequest::new( GPT4_O_MINI.to_string(), vec![chat_completion::ChatCompletionMessage { role: chat_completion::MessageRole::user, content: chat_completion::Content::Text(String::from("What is bitcoin?")), name: None, tool_calls: None, tool_call_id: None, }], ); let result = client.chat_completion(req).await?; println!("Content: {:?}", result.choices[0].message.content); // print response headers for (key, value) in client.response_headers.unwrap().iter() { println!("{}: {:?}", key, value); } Ok(()) } // OPENAI_API_KEY=xxxx cargo run --package openai-api-rs --example chat_completion