C API reference · Kjarni 0.2.8
embedder
kjarni_embedder_config_default
struct KjarniEmbedderConfig kjarni_embedder_config_default(void);
Get default embedder configuration.
kjarni_embedder_new
enum KjarniErrorCode kjarni_embedder_new(const struct KjarniEmbedderConfig *config, struct KjarniEmbedder **out);
Create a new Embedder.
Safety
outmust be null, or a live handle returned bykjarni_embedder_newthat has not been freed.
kjarni_embedder_free
void kjarni_embedder_free(struct KjarniEmbedder *embedder);
Free an Embedder instance.
Safety
embeddermust be null, or a handle returned bykjarni_embedder_newthat has not already been passed to this function. It is invalid to use afterwards.
kjarni_embedder_encode
enum KjarniErrorCode kjarni_embedder_encode(struct KjarniEmbedder *embedder, const char *text, struct KjarniFloatArray *out);
Encode a single text to an embedding vector.
Safety
embeddermust be null, or a live handle returned bykjarni_embedder_newthat has not been freed.textmust be null, or a valid pointer to a nul-terminated C string.outmust be a valid, writable pointer to aKjarniFloatArray. OnKJARNI_OKit receives a value the caller owns and must release with the matching*_free; on failure it is either cleared or left unmodified, and must not be read.
kjarni_embedder_encode_batch
enum KjarniErrorCode kjarni_embedder_encode_batch(struct KjarniEmbedder *embedder, const char *const *texts, uintptr_t num_texts, struct KjarniFloat2DArray *out);
Encode multiple texts to embedding vectors.
Safety
embeddermust be null, or a live handle returned bykjarni_embedder_newthat has not been freed.textsmust point tonum_textsreadable pointers, each null or a valid nul-terminated C string that stays valid for the call.outmust be a valid, writable pointer to aKjarniFloat2DArray. OnKJARNI_OKit receives a value the caller owns and must release with the matching*_free; on failure it is either cleared or left unmodified, and must not be read.
kjarni_embedder_similarity
enum KjarniErrorCode kjarni_embedder_similarity(struct KjarniEmbedder *embedder, const char *text1, const char *text2, float *out);
Compute cosine similarity between two texts.
Safety
embeddermust be null, or a live handle returned bykjarni_embedder_newthat has not been freed.text1must be null, or a valid pointer to a nul-terminated C string.text2must be null, or a valid pointer to a nul-terminated C string.outmust be a valid, writable pointer to ac_float. It is written on both success and failure, and any buffers it receives are owned by the caller.
kjarni_embedder_dim
uintptr_t kjarni_embedder_dim(const struct KjarniEmbedder *embedder);
Get the embedding dimension.
Safety
embeddermust be null, or a live handle returned bykjarni_embedder_newthat has not been freed.
Kjarni runs the same engine on every platform: