synaptic_embeddings/
lib.rs1mod cached;
2mod fake;
3mod ollama;
4mod openai;
5
6pub use cached::CacheBackedEmbeddings;
7pub use fake::FakeEmbeddings;
8pub use ollama::{OllamaEmbeddings, OllamaEmbeddingsConfig};
9pub use openai::{OpenAiEmbeddings, OpenAiEmbeddingsConfig};
10
11use async_trait::async_trait;
12use synaptic_core::SynapseError;
13
14#[async_trait]
16pub trait Embeddings: Send + Sync {
17 async fn embed_documents(&self, texts: &[&str]) -> Result<Vec<Vec<f32>>, SynapseError>;
19
20 async fn embed_query(&self, text: &str) -> Result<Vec<f32>, SynapseError>;
22}