1use openai_gpt_rs::chat::Message;
2use openai_gpt_rs::{client::Client, response::Content};
3use std::env;
4use std::io::{stdin, stdout, Write};
5
6#[tokio::main]
7async fn main() {
8 let client = Client::new(env::var("OPENAI_API_KEY").unwrap().as_str());
9
10 let mut role: String;
11 let mut message = String::new();
12
13 let mut index = String::new();
14
15 print!(" 1: system\n 2: assistant\n 3: user\nSelect a role: ");
16 let _ = stdout().flush();
17
18 stdin().read_line(&mut index).unwrap();
19
20 if index.trim() == "1" {
21 role = "system".to_string();
22 } else if index.trim() == "2" {
23 role = "assistant".to_string();
24 } else if index.trim() == "3" {
25 role = "user".to_string();
26 } else {
27 panic!("Invalid role!");
28 }
29
30 role = role.trim().to_string();
31
32 print!("Enter a message: ");
33 let _ = stdout().flush();
34
35 stdin().read_line(&mut message).unwrap();
36
37 let content = message.trim().to_string();
38
39 let message = Message { role, content };
40
41 let message = vec![message];
42
43 let resp = client
44 .create_chat_completion(|args| args.messages(message))
45 .await
46 .unwrap();
47
48 let content = resp.get_content(0).unwrap();
49
50 println!("Response: {}", content);
51}