oxirs_vec/reranking/
models.rs

1//! Cross-encoder model backends
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6pub enum ModelBackend {
7    Local,
8    Api,
9    Remote,
10}
11
12#[derive(Debug, Clone, Serialize, Deserialize)]
13pub struct ModelConfig {
14    pub backend: ModelBackend,
15    pub model_path: String,
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
19pub struct CrossEncoderModel {
20    config: ModelConfig,
21}
22
23impl CrossEncoderModel {
24    pub fn new(config: ModelConfig) -> Self {
25        Self { config }
26    }
27}