Skip to main content

Module embed

Module embed 

Source
Expand description

§modo::embed

Text-to-vector embeddings via LLM provider APIs.

Provides:

§Quick start

use modo::embed::{EmbeddingProvider, OpenAIEmbedding, OpenAIConfig};

let config = OpenAIConfig {
    api_key: "sk-...".into(),
    ..Default::default()
};
let client = reqwest::Client::new();
let embedder = EmbeddingProvider::new(
    OpenAIEmbedding::new(client, &config)?,
);

let blob = embedder.embed("hello world").await?;
// Store blob in libsql F32_BLOB column

Modules§

test
Test helpers for the embedding module.

Structs§

EmbeddingProvider
Concrete embedding provider — wraps any EmbeddingBackend.
GeminiConfig
Configuration for the Gemini embedding provider.
GeminiEmbedding
Google Gemini embedding provider.
MistralConfig
Configuration for the Mistral embedding provider.
MistralEmbedding
Mistral embedding provider.
OpenAIConfig
Configuration for the OpenAI embedding provider.
OpenAIEmbedding
OpenAI embedding provider.
VoyageConfig
Configuration for the Voyage AI embedding provider.
VoyageEmbedding
Voyage AI embedding provider.

Traits§

EmbeddingBackend
Trait for embedding providers.

Functions§

from_f32_blob
Decode a little-endian byte blob back to f32 values.
to_f32_blob
Encode an f32 slice to a little-endian byte blob suitable for libsql F32_BLOB columns.