qai-sdk 0.1.6

Universal Rust SDK for AI Providers
Documentation
#[cfg(test)]
use crate::core::types::*;
#[cfg(test)]
use crate::google::GoogleModel;

#[test]
fn test_google_request_mapping() {
    let model = GoogleModel::new("test-key".to_string());
    let prompt = Prompt {
        messages: vec![Message {
            role: Role::User,
            content: vec![Content::Text {
                text: "Hello".to_string(),
            }],
        }],
    };
    let options = GenerateOptions {
        model_id: "gemini-1.5-pro".to_string(),
        max_tokens: Some(100),
        temperature: Some(0.9),
        top_p: None,
        stop_sequences: None,
        tools: None,
        response_format: None,
    };

    let request = model.prepare_request(prompt, &options).unwrap();

    assert_eq!(request.contents.len(), 1);
    assert_eq!(request.contents[0].role, "user");
    assert_eq!(
        request
            .generation_config
            .as_ref()
            .unwrap()
            .max_output_tokens,
        Some(100)
    );
    assert_eq!(
        request.generation_config.as_ref().unwrap().temperature,
        Some(0.9)
    );
}