1use gemini_client_api::gemini::ask::Gemini;
2use gemini_client_api::gemini::types::request::{ThinkingConfig, ThinkingLevel};
3use gemini_client_api::gemini::types::sessions::Session;
4use std::env;
5
6#[tokio::main]
7async fn main() {
8 let mut session = Session::new(4);
9 let api_key = env::var("GEMINI_API_KEY").expect("GEMINI_API_KEY must be set");
10
11 let ai = Gemini::new(api_key, "gemini-3-flash-preview", None)
13 .set_thinking_config(ThinkingConfig::new(true, ThinkingLevel::Low));
14
15 let prompt = "How many 'r's are in the word strawberry?";
16 println!("User: {}\n", prompt);
17
18 let response = ai.ask(session.ask(prompt)).await.unwrap();
19
20 let thoughts = response.get_chat().get_thoughts("\n");
22 if !thoughts.is_empty() {
23 println!("--- Gemini's Thoughts ---\n{}\n", thoughts);
24 }
25
26 let answer = response.get_chat().get_text_no_think("");
28 println!("--- Gemini's Answer ---\n{}", answer);
29}