kjarni-wasm 0.2.6 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -5
- package/dist/index.d.ts +18 -3
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/protocol.d.ts +9 -0
- package/package.json +3 -3
- package/pkg/kjarni_wasm.d.ts +22 -18
- package/pkg/kjarni_wasm.js +492 -427
- package/pkg/kjarni_wasm_bg.wasm +0 -0
- package/pkg/kjarni_wasm_bg.wasm.d.ts +12 -8
- package/pkg/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
# kjarni-wasm
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
**Run transformer models inside your web page. Same output as PyTorch, no server.**
|
|
4
|
+
|
|
5
|
+
Kjarni is a transformer inference library, and this is its WebAssembly build:
|
|
6
|
+
embeddings, classification, reranking, semantic search and chat in the browser,
|
|
7
|
+
running in a Web Worker so the page never freezes. The same engine ships for
|
|
8
|
+
Python, C#, Go, C++ and Rust.
|
|
5
9
|
|
|
6
10
|
```bash
|
|
7
11
|
npm i kjarni-wasm
|
|
@@ -11,7 +15,7 @@ Or without a bundler, straight from a CDN:
|
|
|
11
15
|
|
|
12
16
|
```html
|
|
13
17
|
<script type="module">
|
|
14
|
-
import { Kjarni } from "https://cdn.jsdelivr.net/npm/kjarni-wasm@0.
|
|
18
|
+
import { Kjarni } from "https://cdn.jsdelivr.net/npm/kjarni-wasm@0.2/dist/index.js";
|
|
15
19
|
</script>
|
|
16
20
|
```
|
|
17
21
|
|
|
@@ -32,7 +36,7 @@ server will do.
|
|
|
32
36
|
```html
|
|
33
37
|
<pre id="out">starting…</pre>
|
|
34
38
|
<script type="module">
|
|
35
|
-
import init, { WasmModel } from "https://cdn.jsdelivr.net/npm/kjarni-wasm@0.
|
|
39
|
+
import init, { WasmModel } from "https://cdn.jsdelivr.net/npm/kjarni-wasm@0.2/pkg/kjarni_wasm.js";
|
|
36
40
|
await init();
|
|
37
41
|
|
|
38
42
|
const url = "https://huggingface.co/olafuraron/all-MiniLM-L6-v2-q8/resolve/main/all-MiniLM-L6-v2-q8.kjq";
|
|
@@ -224,6 +228,6 @@ you need the server half of the same product:
|
|
|
224
228
|
|
|
225
229
|
## Making your own `.kjq`
|
|
226
230
|
|
|
227
|
-
See [the format guide](
|
|
231
|
+
See [the format guide](https://github.com/olafurjohannsson/kjarni/blob/main/crates/kjarni-wasm/scripts/README.md). Any BERT-family encoder,
|
|
228
232
|
cross-encoder, classifier or small decoder from Hugging Face converts with one
|
|
229
233
|
script.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Capability, ClassifyResult, ModelSource, RankedDocument } from "./protocol.js";
|
|
2
|
-
export type { ClassifyResult, ModelSource, RankedDocument };
|
|
2
|
+
export type { Capability, ClassifyResult, ModelSource, RankedDocument };
|
|
3
|
+
/** Which models {@link Kjarni.load} loads. Name only the ones you need. */
|
|
3
4
|
export interface LoadOptions {
|
|
4
5
|
/** Embeddings and semantic similarity. A `.kjq` file. */
|
|
5
6
|
encoder?: ModelSource;
|
|
@@ -14,11 +15,23 @@ export interface LoadOptions {
|
|
|
14
15
|
/** Called as each model is fetched, for progress UI. */
|
|
15
16
|
onProgress?: (capability: Capability, loaded: number, total: number) => void;
|
|
16
17
|
}
|
|
18
|
+
/** How {@link Kjarni.chat} generates a reply. */
|
|
17
19
|
export interface ChatOptions {
|
|
20
|
+
/** The most tokens to generate. Defaults to 256. */
|
|
18
21
|
maxNewTokens?: number;
|
|
19
|
-
/** 0
|
|
22
|
+
/** Sampling temperature. Defaults to 0, greedy decoding, which is deterministic. */
|
|
20
23
|
temperature?: number;
|
|
21
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Models running in a Web Worker. Create one with {@link Kjarni.load}; every
|
|
27
|
+
* method returns a promise, so the page stays responsive while a model works.
|
|
28
|
+
*
|
|
29
|
+
* ```ts
|
|
30
|
+
* const kjarni = await Kjarni.load({ encoder: "/models/minilm.kjq" });
|
|
31
|
+
* const [a, b] = await kjarni.encode(["doctor", "physician"]);
|
|
32
|
+
* console.log(Kjarni.cosine(a, b)); // 0.8598
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
22
35
|
export declare class Kjarni {
|
|
23
36
|
#private;
|
|
24
37
|
private constructor();
|
|
@@ -39,7 +52,9 @@ export declare class Kjarni {
|
|
|
39
52
|
/**
|
|
40
53
|
* Generates a reply, yielding text as it arrives.
|
|
41
54
|
*
|
|
42
|
-
*
|
|
55
|
+
* ```ts
|
|
56
|
+
* for await (const piece of kjarni.chat("Explain RAG")) out.textContent += piece;
|
|
57
|
+
* ```
|
|
43
58
|
*/
|
|
44
59
|
chat(prompt: string, options?: ChatOptions): AsyncGenerator<string, void, unknown>;
|
|
45
60
|
/** Releases the models and stops the worker. */
|
package/dist/index.js
CHANGED
|
@@ -41,6 +41,16 @@ async function toBytes(src, capability, onProgress) {
|
|
|
41
41
|
}
|
|
42
42
|
return bytes;
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Models running in a Web Worker. Create one with {@link Kjarni.load}; every
|
|
46
|
+
* method returns a promise, so the page stays responsive while a model works.
|
|
47
|
+
*
|
|
48
|
+
* ```ts
|
|
49
|
+
* const kjarni = await Kjarni.load({ encoder: "/models/minilm.kjq" });
|
|
50
|
+
* const [a, b] = await kjarni.encode(["doctor", "physician"]);
|
|
51
|
+
* console.log(Kjarni.cosine(a, b)); // 0.8598
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
44
54
|
export class Kjarni {
|
|
45
55
|
#worker;
|
|
46
56
|
#next = 1;
|
|
@@ -116,7 +126,9 @@ export class Kjarni {
|
|
|
116
126
|
/**
|
|
117
127
|
* Generates a reply, yielding text as it arrives.
|
|
118
128
|
*
|
|
119
|
-
*
|
|
129
|
+
* ```ts
|
|
130
|
+
* for await (const piece of kjarni.chat("Explain RAG")) out.textContent += piece;
|
|
131
|
+
* ```
|
|
120
132
|
*/
|
|
121
133
|
async *chat(prompt, options = {}) {
|
|
122
134
|
const queue = [];
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,EAAE;AACF,yEAAyE;AACzE,iEAAiE;AACjE,kDAAkD;AAClD,EAAE;AACF,+EAA+E;AAC/E,2DAA2D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
/** A model to load, either already in memory or somewhere to fetch it from. */
|
|
2
2
|
export type ModelSource = string | URL | ArrayBuffer | Uint8Array;
|
|
3
|
+
/** A kind of model a {@link Kjarni} instance can hold, one of each. */
|
|
3
4
|
export type Capability = "encoder" | "classifier" | "reranker" | "chat";
|
|
5
|
+
/** The top prediction for one text. */
|
|
4
6
|
export interface ClassifyResult {
|
|
7
|
+
/** The predicted label, for example "POSITIVE". */
|
|
5
8
|
label: string;
|
|
9
|
+
/** Its probability, from 0 to 1. */
|
|
6
10
|
score: number;
|
|
11
|
+
/** The label's position in the model's label list. */
|
|
7
12
|
index: number;
|
|
8
13
|
}
|
|
14
|
+
/** One document after reranking. */
|
|
9
15
|
export interface RankedDocument {
|
|
16
|
+
/** Its position in the list that was passed in. */
|
|
10
17
|
index: number;
|
|
18
|
+
/** The cross-encoder's raw score; higher is more relevant. */
|
|
11
19
|
score: number;
|
|
20
|
+
/** The document text. */
|
|
12
21
|
text: string;
|
|
13
22
|
}
|
|
14
23
|
export type Request = {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kjarni-wasm",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.2.8",
|
|
4
|
+
"description": "Run transformer models inside your web page: embeddings, classification, reranking, semantic search and chat in a Web Worker. Same output as PyTorch, no server.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"typescript": "^5.6.0"
|
|
26
26
|
},
|
|
27
|
-
"license": "MIT",
|
|
27
|
+
"license": "MIT OR Apache-2.0",
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git",
|
|
30
30
|
"url": "git+https://github.com/olafurjohannsson/kjarni.git",
|
package/pkg/kjarni_wasm.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ export class WasmChat {
|
|
|
60
60
|
* `model_id` selects the chat template, e.g. `qwen2.5-0.5b-instruct`. Without
|
|
61
61
|
* one the model still generates, but its turn markers will not be applied.
|
|
62
62
|
*/
|
|
63
|
-
static load(data: Uint8Array, model_id?: string | null): WasmChat;
|
|
63
|
+
static load(data: Uint8Array | number[], model_id?: string | null): WasmChat;
|
|
64
64
|
/**
|
|
65
65
|
* Sends a message in an ongoing conversation, streaming the reply.
|
|
66
66
|
*
|
|
@@ -104,7 +104,7 @@ export class WasmClassifier {
|
|
|
104
104
|
/**
|
|
105
105
|
* Load a classifier from a `.kjq` container.
|
|
106
106
|
*/
|
|
107
|
-
static load(data: Uint8Array): WasmClassifier;
|
|
107
|
+
static load(data: Uint8Array | number[]): WasmClassifier;
|
|
108
108
|
/**
|
|
109
109
|
* How many labels the model predicts.
|
|
110
110
|
*/
|
|
@@ -116,18 +116,18 @@ export class WasmEncoder {
|
|
|
116
116
|
free(): void;
|
|
117
117
|
[Symbol.dispose](): void;
|
|
118
118
|
encode_file(text: string, source_path: string): any;
|
|
119
|
-
static new(model_data: Uint8Array): WasmEncoder;
|
|
119
|
+
static new(model_data: Uint8Array | number[]): WasmEncoder;
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
export class WasmIndexBuilder {
|
|
123
123
|
private constructor();
|
|
124
124
|
free(): void;
|
|
125
125
|
[Symbol.dispose](): void;
|
|
126
|
-
add_chunk(text: string, embedding: Float32Array, source: string, chunk_index: number): void;
|
|
126
|
+
add_chunk(text: string, embedding: Float32Array | number[], source: string, chunk_index: number): void;
|
|
127
127
|
add_file(text: string, source_path: string): number;
|
|
128
128
|
doc_count(): number;
|
|
129
129
|
finish(): Uint8Array;
|
|
130
|
-
static new(model_data: Uint8Array): WasmIndexBuilder;
|
|
130
|
+
static new(model_data: Uint8Array | number[]): WasmIndexBuilder;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
export class WasmModel {
|
|
@@ -145,7 +145,7 @@ export class WasmModel {
|
|
|
145
145
|
/**
|
|
146
146
|
* Load from a `.kjq` container: config, tokenizer and int8 tensors in one file.
|
|
147
147
|
*/
|
|
148
|
-
static from_quantized(data: Uint8Array): WasmModel;
|
|
148
|
+
static from_quantized(data: Uint8Array | number[]): WasmModel;
|
|
149
149
|
/**
|
|
150
150
|
* Fetch a model straight from Hugging Face. Browser-only: it uses `fetch`.
|
|
151
151
|
*/
|
|
@@ -153,7 +153,7 @@ export class WasmModel {
|
|
|
153
153
|
/**
|
|
154
154
|
* Load from raw safetensors plus its config and tokenizer.
|
|
155
155
|
*/
|
|
156
|
-
constructor(weights_data: Uint8Array, config_json: string, tokenizer_json: string);
|
|
156
|
+
constructor(weights_data: Uint8Array | number[], config_json: string, tokenizer_json: string);
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
export enum WasmModelType {
|
|
@@ -169,7 +169,7 @@ export class WasmReranker {
|
|
|
169
169
|
*
|
|
170
170
|
* The engine's `CrossEncoder` loads the classifier head as part of the model.
|
|
171
171
|
*/
|
|
172
|
-
static load(data: Uint8Array): WasmReranker;
|
|
172
|
+
static load(data: Uint8Array | number[]): WasmReranker;
|
|
173
173
|
/**
|
|
174
174
|
* Score every document against the query and return the best `limit`,
|
|
175
175
|
* highest first. Scores are raw logits, so negative values are normal.
|
|
@@ -185,9 +185,9 @@ export class WasmSearch {
|
|
|
185
185
|
private constructor();
|
|
186
186
|
free(): void;
|
|
187
187
|
[Symbol.dispose](): void;
|
|
188
|
-
add_chunk(text: string, embedding: Float32Array, source: string, chunk_index: number): void;
|
|
188
|
+
add_chunk(text: string, embedding: Float32Array | number[], source: string, chunk_index: number): void;
|
|
189
189
|
doc_count(): number;
|
|
190
|
-
static load(model_data: Uint8Array, index_data: Uint8Array): WasmSearch;
|
|
190
|
+
static load(model_data: Uint8Array | number[], index_data: Uint8Array | number[]): WasmSearch;
|
|
191
191
|
remove_file(source_path: string): number;
|
|
192
192
|
save_index(): Uint8Array;
|
|
193
193
|
search(query: string, limit: number): any;
|
|
@@ -217,11 +217,11 @@ export interface InitOutput {
|
|
|
217
217
|
readonly wasmchat_context_size: (a: number) => number;
|
|
218
218
|
readonly wasmchat_enablePrefixCache: (a: number, b: number, c: number) => void;
|
|
219
219
|
readonly wasmchat_generate: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
220
|
-
readonly wasmchat_generate_stream: (a: number, b: number, c: number, d: number, e: number, f: number, g:
|
|
220
|
+
readonly wasmchat_generate_stream: (a: number, b: number, c: number, d: number, e: number, f: number, g: any) => void;
|
|
221
221
|
readonly wasmchat_hasPrefixCache: (a: number) => number;
|
|
222
222
|
readonly wasmchat_history_len: (a: number) => number;
|
|
223
223
|
readonly wasmchat_load: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
224
|
-
readonly wasmchat_send_stream: (a: number, b: number, c: number, d: number, e: number, f: number, g:
|
|
224
|
+
readonly wasmchat_send_stream: (a: number, b: number, c: number, d: number, e: number, f: number, g: any) => void;
|
|
225
225
|
readonly wasmclassifier_classify: (a: number, b: number, c: number, d: number) => void;
|
|
226
226
|
readonly wasmclassifier_classify_batch: (a: number, b: number, c: number, d: number) => void;
|
|
227
227
|
readonly wasmclassifier_labels: (a: number, b: number) => void;
|
|
@@ -236,7 +236,7 @@ export interface InitOutput {
|
|
|
236
236
|
readonly wasmindexbuilder_new: (a: number, b: number, c: number) => void;
|
|
237
237
|
readonly wasmmodel_encode: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
238
238
|
readonly wasmmodel_from_quantized: (a: number, b: number, c: number) => void;
|
|
239
|
-
readonly wasmmodel_from_type: (a: number) =>
|
|
239
|
+
readonly wasmmodel_from_type: (a: number) => any;
|
|
240
240
|
readonly wasmmodel_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
241
241
|
readonly wasmreranker_load: (a: number, b: number, c: number) => void;
|
|
242
242
|
readonly wasmreranker_rerank: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
@@ -250,14 +250,18 @@ export interface InitOutput {
|
|
|
250
250
|
readonly wasmsearch_search_keywords: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
251
251
|
readonly wasmsearch_search_semantic: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
252
252
|
readonly wasmsearch_update_file: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
253
|
-
readonly
|
|
254
|
-
readonly
|
|
253
|
+
readonly __wasm_bindgen_func_elem_5740: (a: number, b: number, c: number, d: any) => void;
|
|
254
|
+
readonly __wasm_bindgen_func_elem_5769: (a: number, b: number, c: any, d: any) => void;
|
|
255
255
|
readonly __wbindgen_export: (a: number, b: number) => number;
|
|
256
256
|
readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
257
|
-
readonly __wbindgen_export3: (a: number) => void;
|
|
258
|
-
readonly __wbindgen_export4: (a: number
|
|
259
|
-
readonly __wbindgen_export5: (
|
|
257
|
+
readonly __wbindgen_export3: (a: number, b: number, c: number) => void;
|
|
258
|
+
readonly __wbindgen_export4: (a: number) => void;
|
|
259
|
+
readonly __wbindgen_export5: () => number;
|
|
260
|
+
readonly __wbindgen_externrefs: WebAssembly.Table;
|
|
261
|
+
readonly __wbindgen_export6: (a: number, b: number) => void;
|
|
260
262
|
readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
263
|
+
readonly __wbindgen_export7: (a: number) => void;
|
|
264
|
+
readonly __wbindgen_export8: (a: number, b: number) => void;
|
|
261
265
|
readonly __wbindgen_start: () => void;
|
|
262
266
|
}
|
|
263
267
|
|