27 lines
808 B
Rust
27 lines
808 B
Rust
use std::{env, error::Error};
|
|
|
|
use google_genai::prelude::{Content, GeminiClient, GenerateContentRequest, Role};
|
|
|
|
#[tokio::main]
|
|
async fn main() -> Result<(), Box<dyn Error>> {
|
|
tracing_subscriber::fmt().init();
|
|
let _ = dotenvy::dotenv();
|
|
|
|
let api_key = env::var("GEMINI_API_KEY")?;
|
|
let gemini_client = GeminiClient::new(api_key);
|
|
let prompt = vec![
|
|
Content::builder()
|
|
.role(Role::User)
|
|
.add_text_part("What is the airspeed of an unladen swallow?")
|
|
.build(),
|
|
];
|
|
|
|
let request = GenerateContentRequest::builder().contents(prompt).build();
|
|
let response = gemini_client
|
|
.generate_content(&request, "gemini-3-pro-preview")
|
|
.await?;
|
|
|
|
println!("Response: {:?}", response.candidates[0].get_text().unwrap());
|
|
Ok(())
|
|
}
|