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

  • out must be null, or a live handle returned by kjarni_embedder_new that has not been freed.

kjarni_embedder_free

void kjarni_embedder_free(struct KjarniEmbedder *embedder);

Free an Embedder instance.

Safety

  • embedder must be null, or a handle returned by kjarni_embedder_new that 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

  • embedder must be null, or a live handle returned by kjarni_embedder_new that has not been freed.
  • text must be null, or a valid pointer to a nul-terminated C string.
  • out must be a valid, writable pointer to a KjarniFloatArray. On KJARNI_OK it 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

  • embedder must be null, or a live handle returned by kjarni_embedder_new that has not been freed.
  • texts must point to num_texts readable pointers, each null or a valid nul-terminated C string that stays valid for the call.
  • out must be a valid, writable pointer to a KjarniFloat2DArray. On KJARNI_OK it 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

  • embedder must be null, or a live handle returned by kjarni_embedder_new that has not been freed.
  • text1 must be null, or a valid pointer to a nul-terminated C string.
  • text2 must be null, or a valid pointer to a nul-terminated C string.
  • out must be a valid, writable pointer to a c_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

  • embedder must be null, or a live handle returned by kjarni_embedder_new that has not been freed.

Kjarni runs the same engine on every platform: