API reference · Kjarni 0.2.7

Class: Kjarni

kjarni-wasm • Docs


kjarni-wasm / Kjarni

Models running in a Web Worker. Create one with Kjarni.load; every method returns a promise, so the page stays responsive while a model works.

const kjarni = await Kjarni.load({ encoder: "/models/minilm.kjq" });
const [a, b] = await kjarni.encode(["doctor", "physician"]);
console.log(Kjarni.cosine(a, b)); // 0.8598

Methods

chat()

chat(prompt, options): AsyncGenerator<string, void, unknown>

Generates a reply, yielding text as it arrives.

for await (const piece of kjarni.chat("Explain RAG")) out.textContent += piece;

Parameters

• prompt: string

• options: ChatOptions = {}

Returns

AsyncGenerator<string, void, unknown>

Defined in

index.ts:199


classify()

classify(texts): Promise<ClassifyResult[]>

The best label for each input.

Parameters

• texts: string | string[]

Returns

Promise<ClassifyResult[]>

Defined in

index.ts:172


close()

close(): Promise<void>

Releases the models and stops the worker.

Returns

Promise<void>

Defined in

index.ts:234


contextSize()

contextSize(): Promise<number>

The chat model's context window, in tokens.

Returns

Promise<number>

Defined in

index.ts:188


encode()

encode(texts, normalize): Promise<Float32Array[]>

One vector per input, in the order given.

Parameters

• texts: string[]

• normalize: boolean = true

Returns

Promise<Float32Array[]>

Defined in

index.ts:161


labels()

labels(): Promise<string[]>

Every label this classifier can predict, in index order.

Returns

Promise<string[]>

Defined in

index.ts:178


rerank()

rerank(query, documents, limit): Promise<RankedDocument[]>

Documents reordered by relevance, best first. Indices point into your input.

Parameters

• query: string

• documents: string[]

• limit: number = documents.length

Returns

Promise<RankedDocument[]>

Defined in

index.ts:183


similarity()

similarity(a, b): Promise<number>

Cosine similarity between two texts, from -1 to 1.

Parameters

• a: string

• b: string

Returns

Promise<number>

Defined in

index.ts:166


cosine()

static cosine(a, b): number

Cosine similarity between two vectors.

Parameters

• a: Float32Array

• b: Float32Array

Returns

number

Defined in

index.ts:243


load()

static load(options): Promise<Kjarni>

Starts a worker and loads whichever models you name.

Parameters

• options: LoadOptions

Returns

Promise<Kjarni>

Defined in

index.ts:133

Kjarni runs the same engine on every platform: