Files

25 lines
1005 B
Rust

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();
}