response/
response.rs

1// examples/response.rs
2// Example: Blocking response generation
3//
4// This example demonstrates using the `response()` method to get a complete
5// response from the Foundation Model. The method blocks until generation is complete.
6//
7// Usage: cargo run --example response
8
9use fm_bindings::LanguageModelSession;
10
11fn main() -> Result<(), Box<dyn std::error::Error>> {
12    println!("=== Foundation Models - Blocking Response Example ===\n");
13
14    // Create a new session
15    println!("Creating session...");
16    let session = LanguageModelSession::new()?;
17    println!("Session created!\n");
18
19    // Define the prompt
20    let prompt = "What is Rust programming language? Please explain in 2-3 sentences.";
21    println!("Prompt: \"{}\"\n", prompt);
22    println!("Generating response...\n");
23
24    // Get the complete response
25    // This blocks until the entire response is generated
26    let response = session.response(prompt)?;
27
28    // Print the response
29    println!("Response:\n{}\n", response);
30    println!("=== Complete ===");
31
32    Ok(())
33}