use dotenvy::dotenv;
use openai::{
chat::{ChatCompletion, ChatCompletionMessage, ChatCompletionMessageRole},
Credentials,
};
#[tokio::main]
async fn main() {
dotenv().unwrap();
let credentials = Credentials::from_env();
let messages = vec![
ChatCompletionMessage {
role: ChatCompletionMessageRole::System,
content: Some("You are a helpful assistant.".to_string()),
..Default::default()
},
ChatCompletionMessage {
role: ChatCompletionMessageRole::User,
content: Some("Tell me a random crab fact".to_string()),
..Default::default()
},
];
let chat_completion = ChatCompletion::builder("gpt-4o", messages.clone())
.credentials(credentials.clone())
.create()
.await
.unwrap();
let returned_message = chat_completion.choices.first().unwrap().message.clone();
println!(
"{:#?}: {}",
returned_message.role,
returned_message.content.unwrap().trim()
);
}