batch_embedding/
batch_embedding.rs

1use gemini_rust::{Gemini, TaskType};
2
3#[tokio::main]
4async fn main() -> Result<(), Box<dyn std::error::Error>> {
5    let api_key = std::env::var("GEMINI_API_KEY")?;
6
7    // Create client with the default model (gemini-2.0-flash)
8    let client = Gemini::with_model(api_key, "models/text-embedding-004".to_string());
9
10    println!("Sending batch embedding request to Gemini API...");
11
12    // Simple text embedding
13    let response = client
14        .embed_content()
15        .with_chunks(vec!["Hello", "World", "Test embedding 3"])
16        .with_task_type(TaskType::RetrievalDocument)
17        .execute_batch()
18        .await?;
19
20    println!("Response: ");
21    for (i, e) in response.embeddings.iter().enumerate() {
22        println!("|{}|: {:?}\n", i, e.values);
23    }
24
25    Ok(())
26}