semtree-embed
Embedding trait and backends for semtree.
Defines the Embedder trait and ships three implementations. The default (fastembed) runs on-device via ONNX, with no API key or daemon required.
Usage
[]
= "0.2"
use ;
let embedder = new?; // AllMiniLML6V2, 384-dim
let vectors = embedder.embed.await?;
Backends
| Backend | Default model | Notes |
|---|---|---|
fastembed |
AllMiniLML6V2 (384-dim) |
On-device. No key needed. Model cached after first use. |
openai |
text-embedding-3-small |
Set OPENAI_API_KEY or pass a key. |
ollama |
nomic-embed-text |
Requires a local Ollama server. |
Custom backend
Implement Embedder to plug in any model or API:
use async_trait;
use ;
;
Embedding is a plain Vec<f32>.
License
MIT
Part of rustkit-ai - open source Rust tools for the AI development era.