1use fathomdb_embedder_api::{Embedder, EmbedderError, EmbedderIdentity, Vector};
2
3#[derive(Clone, Debug)]
4pub struct NoopEmbedder {
5 identity: EmbedderIdentity,
6}
7
8impl Default for NoopEmbedder {
9 fn default() -> Self {
10 Self { identity: EmbedderIdentity::new("fathomdb-noop", "0.6.0-scaffold", 384) }
11 }
12}
13
14impl Embedder for NoopEmbedder {
15 fn identity(&self) -> EmbedderIdentity {
16 self.identity.clone()
17 }
18
19 fn embed(&self, _input: &str) -> Result<Vector, EmbedderError> {
20 let mut vector = vec![0.0_f32; self.identity.dimension as usize];
21 if let Some(first) = vector.first_mut() {
22 *first = 1.0;
23 }
24 Ok(vector)
25 }
26}