use alpha_id::rerank::rerank; use alpha_id::ionos::IonosClient; use std::io::Write; #[test] fn rerank_returns_scores_aligned_to_documents() { let server = tiny_http::Server::http("127.0.0.1:0").unwrap(); let url = format!("http://{}", server.server_addr()); let h = std::thread::spawn(move || { if let Ok(req) = server.recv() { let body = r#"{"results":[{"index":0,"relevance_score":0.2}, {"index":1,"relevance_score":0.9}]}"#; req.respond(tiny_http::Response::from_string(body)).ok(); } }); let mut tf = tempfile::NamedTempFile::new().unwrap(); write!(tf, "tok").unwrap(); let c = IonosClient::new(&url, tf.path().to_str().unwrap()).unwrap(); let scores = rerank(&c, "Qwen/Qwen3-VL-Reranker-8B", "diabetes", &["herzinfarkt".to_string(), "diabetes typ 2".to_string()]).unwrap(); assert_eq!(scores.len(), 2); assert!(scores[1] > scores[0]); h.join().ok(); }