tinyagents 2.1.0

A recursive language-model (RLM) harness for Rust.
Documentation
//! No-op embedding model for keyword-only retrieval.

use async_trait::async_trait;

use super::EmbeddingModel;
use crate::error::Result;

/// Embedding model used when semantic search is disabled.
#[derive(Clone, Copy, Debug, Default)]
pub struct NoopEmbeddingModel;

#[async_trait]
impl EmbeddingModel for NoopEmbeddingModel {
    fn name(&self) -> &str {
        "none"
    }

    fn model_id(&self) -> &str {
        "none"
    }

    fn dimensions(&self) -> usize {
        0
    }

    async fn embed(&self, texts: &[String]) -> Result<Vec<Vec<f32>>> {
        Ok(vec![Vec::new(); texts.len()])
    }
}