package com.correx.core.inference

/**
 * Interface for computing vector embeddings of text.
 * Implementations provide pre-computed vectors for similarity search and retrieval.
 */
interface Embedder {
    /**
     * Dimensionality of the returned embeddings.
     */
    val dimension: Int

    /**
     * Compute a vector embedding for the given text.
     *
     * @param text The text to embed.
     * @return A vector of [dimension] floats.
     */
    suspend fun embed(text: String): FloatArray
}
