Skip to main content

subcog/embedding/
fallback.rs

1//! Fallback embedder (BM25-only mode).
2
3use super::Embedder;
4use crate::Result;
5
6/// Fallback embedder that returns empty vectors.
7///
8/// Used when embedding is not available, falling back to BM25-only search.
9pub struct FallbackEmbedder;
10
11impl FallbackEmbedder {
12    /// Creates a new fallback embedder.
13    #[must_use]
14    pub const fn new() -> Self {
15        Self
16    }
17}
18
19impl Default for FallbackEmbedder {
20    fn default() -> Self {
21        Self::new()
22    }
23}
24
25impl Embedder for FallbackEmbedder {
26    fn dimensions(&self) -> usize {
27        0
28    }
29
30    fn embed(&self, _text: &str) -> Result<Vec<f32>> {
31        Ok(Vec::new())
32    }
33}