//! Public embedding APIs.
use Mutex;
pub use Bm25TextEmbedding;
pub use Bm25TextEmbeddingBuilder;
pub use TextEmbeddingBuilder;
pub use MultiVectorTextEmbedding;
pub use MultiVectorTextEmbeddingBuilder;
pub use TextCrossEncoder;
pub use TextCrossEncoderBuilder;
pub use SparseTextEmbedding;
pub use SparseTextEmbeddingBuilder;
pub use TextEmbedding;
/// Serializes every Metal forward in the process: `device::auto` hands every pipeline the same ordinal-0
/// `MetalDevice` and buffer pool, and parallel forwards corrupt each other's output.
static METAL_FORWARD_LOCK: = new;