oxirs_embed/contextual/
base_embedding.rs1use crate::{ModelConfig, TrainingStats, Triple, Vector};
4use anyhow::Result;
5
6pub struct BaseEmbeddingModel {
8 config: ModelConfig,
9 dimension: usize,
10}
11
12impl BaseEmbeddingModel {
13 pub fn new(config: ModelConfig) -> Result<Self> {
14 Ok(Self {
15 dimension: config.dimensions,
16 config,
17 })
18 }
19
20 pub async fn embed(&self, triples: &[Triple]) -> Result<Vec<Vector>> {
21 let embeddings = triples
23 .iter()
24 .map(|_| Vector::new(vec![0.0; self.dimension]))
25 .collect();
26 Ok(embeddings)
27 }
28
29 pub async fn train(&mut self, _triples: &[Triple]) -> Result<TrainingStats> {
30 Ok(TrainingStats::default())
32 }
33}