Skip to main content

skm_embed/
lib.rs

1//! # skm-embed
2//!
3//! Embedding abstraction layer for Agent Skills.
4//!
5//! This crate provides:
6//! - `EmbeddingProvider` trait for pluggable backends
7//! - `Embedding` struct with similarity operations
8//! - `SkillEmbeddings` for multi-component weighted embeddings
9//! - `EmbeddingIndex` for persistent, queryable skill embeddings
10//! - Providers: BGE-M3, MiniLM (local), OpenAI/Cohere/Compatible (API)
11
12mod error;
13mod embedding;
14mod provider;
15mod multicomp;
16mod index;
17mod simd;
18
19#[cfg(feature = "embed-bge-m3")]
20mod bge;
21
22#[cfg(feature = "embed-minilm")]
23mod minilm;
24
25#[cfg(any(feature = "embed-openai", feature = "embed-cohere", feature = "embed-compat"))]
26mod api;
27
28pub use error::EmbedError;
29pub use embedding::Embedding;
30pub use provider::EmbeddingProvider;
31pub use multicomp::{ComponentWeights, SkillEmbeddings};
32pub use index::{EmbeddingIndex, ScoredSkill};
33pub use multicomp::ComponentScores;
34
35#[cfg(feature = "embed-bge-m3")]
36pub use bge::BgeM3Provider;
37
38#[cfg(feature = "embed-minilm")]
39pub use minilm::MiniLmProvider;
40
41#[cfg(feature = "embed-openai")]
42pub use api::OpenAiEmbedProvider;
43
44#[cfg(feature = "embed-cohere")]
45pub use api::CohereEmbedProvider;
46
47#[cfg(feature = "embed-compat")]
48pub use api::OpenAiCompatibleProvider;