2026-04-06 15:35:49 +08:00
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
|
|
|
|
|
|
#[derive(Debug, Deserialize)]
|
|
|
|
|
pub(crate) struct RerankRequest {
|
|
|
|
|
pub model: Option<String>,
|
|
|
|
|
pub query: String,
|
|
|
|
|
pub documents: Vec<String>,
|
|
|
|
|
pub top_n: Option<usize>,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[derive(Debug, Serialize)]
|
2026-04-06 17:48:15 +08:00
|
|
|
pub(crate) struct RerankResult {
|
|
|
|
|
pub index: usize,
|
|
|
|
|
pub relevance_score: f32,
|
|
|
|
|
pub document: String,
|
2026-04-06 15:35:49 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[derive(Debug, Serialize)]
|
2026-04-06 17:48:15 +08:00
|
|
|
pub(crate) struct RerankResponse {
|
|
|
|
|
pub object: String,
|
|
|
|
|
pub model: String,
|
|
|
|
|
pub results: Vec<RerankResult>,
|
2026-04-06 15:35:49 +08:00
|
|
|
}
|