useserde::{Deserialize, Serialize};/// A chunk of text from the corpus.
#[derive(Debug, Clone, Serialize, Deserialize)]pubstructChunk{pubid: String,
pubtext: String,
pubembedding:Vec<f32>,
}/// A query with its text and precomputed embedding.
#[derive(Debug, Clone)]pubstructQuery{pubtext: String,
pubembedding:Vec<f32>,
}/// This is going to be a candidate returned by a single retriever.
#[derive(Debug, Clone)]pubstructCandidate{pubchunk: Chunk,
pubscore:f32,
pubretriever_id: String,
}/// A cluster of semantically similar candidates from multiple retrievers.
#[derive(Debug, Clone)]pubstructEvidenceCluster{pubmembers:Vec<Candidate>,
pubsupport:usize,
pubavg_score:f32,
}