1use gemini_client_api::gemini::embed::GeminiEmbedding;
2use gemini_client_api::gemini::types::embedding::TaskType;
3use std::env;
4
5#[tokio::main]
6async fn main() {
7 let api_key = env::var("GEMINI_API_KEY").expect("GEMINI_API_KEY must be set");
10 let embedder = GeminiEmbedding::new(api_key, "gemini-embedding-001")
11 .set_task_type(TaskType::RetrievalDocument)
12 .set_output_dimensionality(256);
14
15 let prompt = "Rust is a blazing fast and memory-efficient systems programming language.";
17 let response = embedder.embed_text(prompt).await.unwrap();
18
19 let embedding = response.embedding();
21 println!("Embedding generated for: {:?}", prompt);
22 println!("Total Dimensions: {}", embedding.dimension());
23 println!(
24 "First 5 values: {:?}",
25 &embedding.values()[..usize::min(embedding.dimension(), 5)]
26 );
27}