@blank-utils/llm 0.2.7 → 0.2.9
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/dist/backends/transformers.d.ts.map +1 -1
- package/dist/index.js +42 -87
- package/dist/models.d.ts +3 -0
- package/dist/models.d.ts.map +1 -1
- package/dist/react/components.d.ts.map +1 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +42 -87
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../src/backends/transformers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EAEpB,OAAO,EACP,MAAM,EACN,YAAY,EACb,MAAM,UAAU,CAAC;AAKlB;;;GAGG;AACH,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../src/backends/transformers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EAEpB,OAAO,EACP,MAAM,EACN,YAAY,EACb,MAAM,UAAU,CAAC;AAKlB;;;GAGG;AACH,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAc3E,CAAC;AAuBF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,WAAW;IACtD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAkB;IAE3C,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAe;gBAEvB,MAAM,GAAE,0BAA+B;IAKnD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,CAE3B;IAEK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDvE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBzE,MAAM,CACV,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,CAAC;IA+BZ,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAI9B;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,CAAC,EAAE,0BAA0B,GAAG,oBAAoB,CAEpG"}
|
package/dist/index.js
CHANGED
|
@@ -56629,6 +56629,9 @@ var TRANSFORMERS_MODELS = {
|
|
|
56629
56629
|
"qwen-2.5-1.5b": "onnx-community/Qwen2.5-1.5B-Instruct",
|
|
56630
56630
|
"qwen-2.5-coder-0.5b": "onnx-community/Qwen2.5-Coder-0.5B-Instruct",
|
|
56631
56631
|
"qwen-2.5-coder-1.5b": "onnx-community/Qwen2.5-Coder-1.5B-Instruct",
|
|
56632
|
+
"qwen-2.5-vl-3b": "onnx-community/Qwen2.5-VL-3B-Instruct",
|
|
56633
|
+
moondream2: "Xenova/moondream2",
|
|
56634
|
+
"phi-3.5-vision": "onnx-community/Phi-3.5-vision-instruct",
|
|
56632
56635
|
"qwen-3-0.6b": "onnx-community/Qwen3-0.6B-ONNX",
|
|
56633
56636
|
"smollm2-135m": "HuggingFaceTB/SmolLM2-135M-Instruct",
|
|
56634
56637
|
"smollm2-360m": "HuggingFaceTB/SmolLM2-360M-Instruct",
|
|
@@ -56725,86 +56728,9 @@ function createWebLLMProvider() {
|
|
|
56725
56728
|
return new WebLLMProvider;
|
|
56726
56729
|
}
|
|
56727
56730
|
// src/backends/transformers.ts
|
|
56728
|
-
function
|
|
56731
|
+
function isVisionModel(modelId) {
|
|
56729
56732
|
const lower = modelId.toLowerCase();
|
|
56730
|
-
|
|
56731
|
-
return "chatml";
|
|
56732
|
-
}
|
|
56733
|
-
if (lower.includes("llama") || lower.includes("tinyllama")) {
|
|
56734
|
-
return "llama";
|
|
56735
|
-
}
|
|
56736
|
-
if (lower.includes("phi")) {
|
|
56737
|
-
return "phi";
|
|
56738
|
-
}
|
|
56739
|
-
return "generic";
|
|
56740
|
-
}
|
|
56741
|
-
function formatPrompt(messages, modelId) {
|
|
56742
|
-
const format = detectChatFormat(modelId);
|
|
56743
|
-
switch (format) {
|
|
56744
|
-
case "chatml": {
|
|
56745
|
-
let prompt = "";
|
|
56746
|
-
for (const msg of messages) {
|
|
56747
|
-
prompt += `<|im_start|>${msg.role}
|
|
56748
|
-
${msg.content}<|im_end|>
|
|
56749
|
-
`;
|
|
56750
|
-
}
|
|
56751
|
-
prompt += `<|im_start|>assistant
|
|
56752
|
-
`;
|
|
56753
|
-
return prompt;
|
|
56754
|
-
}
|
|
56755
|
-
case "llama": {
|
|
56756
|
-
let prompt = "";
|
|
56757
|
-
for (const msg of messages) {
|
|
56758
|
-
if (msg.role === "system") {
|
|
56759
|
-
prompt += `<s>[INST] <<SYS>>
|
|
56760
|
-
${msg.content}
|
|
56761
|
-
<</SYS>>
|
|
56762
|
-
|
|
56763
|
-
`;
|
|
56764
|
-
} else if (msg.role === "user") {
|
|
56765
|
-
if (!prompt.includes("[INST]")) {
|
|
56766
|
-
prompt += `<s>[INST] ${msg.content} [/INST]`;
|
|
56767
|
-
} else {
|
|
56768
|
-
prompt += `<s>[INST] ${msg.content} [/INST]`;
|
|
56769
|
-
}
|
|
56770
|
-
} else if (msg.role === "assistant") {
|
|
56771
|
-
prompt += ` ${msg.content} </s>`;
|
|
56772
|
-
}
|
|
56773
|
-
}
|
|
56774
|
-
return prompt;
|
|
56775
|
-
}
|
|
56776
|
-
case "phi": {
|
|
56777
|
-
let prompt = "";
|
|
56778
|
-
for (const msg of messages) {
|
|
56779
|
-
if (msg.role === "system") {
|
|
56780
|
-
prompt += `<|system|>
|
|
56781
|
-
${msg.content}<|end|>
|
|
56782
|
-
`;
|
|
56783
|
-
} else if (msg.role === "user") {
|
|
56784
|
-
prompt += `<|user|>
|
|
56785
|
-
${msg.content}<|end|>
|
|
56786
|
-
`;
|
|
56787
|
-
} else if (msg.role === "assistant") {
|
|
56788
|
-
prompt += `<|assistant|>
|
|
56789
|
-
${msg.content}<|end|>
|
|
56790
|
-
`;
|
|
56791
|
-
}
|
|
56792
|
-
}
|
|
56793
|
-
prompt += `<|assistant|>
|
|
56794
|
-
`;
|
|
56795
|
-
return prompt;
|
|
56796
|
-
}
|
|
56797
|
-
case "generic":
|
|
56798
|
-
default: {
|
|
56799
|
-
let prompt = "";
|
|
56800
|
-
for (const msg of messages) {
|
|
56801
|
-
prompt += `${msg.role}: ${msg.content}
|
|
56802
|
-
`;
|
|
56803
|
-
}
|
|
56804
|
-
prompt += "assistant: ";
|
|
56805
|
-
return prompt;
|
|
56806
|
-
}
|
|
56807
|
-
}
|
|
56733
|
+
return lower.includes("vl") || lower.includes("vision") || lower.includes("moondream");
|
|
56808
56734
|
}
|
|
56809
56735
|
function mapQuantization(quantization) {
|
|
56810
56736
|
const map = {
|
|
@@ -56849,8 +56775,9 @@ class TransformersProvider {
|
|
|
56849
56775
|
} catch {}
|
|
56850
56776
|
}
|
|
56851
56777
|
}
|
|
56778
|
+
const task = isVisionModel(resolvedModel) ? "image-text-to-text" : "text-generation";
|
|
56852
56779
|
const dtype = mapQuantization(this.quantization);
|
|
56853
|
-
this.pipeline = await pipeline(
|
|
56780
|
+
this.pipeline = await pipeline(task, resolvedModel, {
|
|
56854
56781
|
dtype,
|
|
56855
56782
|
device: deviceOption,
|
|
56856
56783
|
progress_callback: (progress) => {
|
|
@@ -56869,8 +56796,7 @@ class TransformersProvider {
|
|
|
56869
56796
|
if (!this.pipeline || !this.currentModel) {
|
|
56870
56797
|
throw new Error("Model not loaded. Call load() first.");
|
|
56871
56798
|
}
|
|
56872
|
-
const
|
|
56873
|
-
const result = await this.pipeline(prompt, {
|
|
56799
|
+
const result = await this.pipeline(messages, {
|
|
56874
56800
|
max_new_tokens: options?.maxTokens ?? 512,
|
|
56875
56801
|
temperature: options?.temperature ?? 0.7,
|
|
56876
56802
|
top_p: options?.topP ?? 0.95,
|
|
@@ -56884,17 +56810,17 @@ class TransformersProvider {
|
|
|
56884
56810
|
if (!this.pipeline || !this.currentModel) {
|
|
56885
56811
|
throw new Error("Model not loaded. Call load() first.");
|
|
56886
56812
|
}
|
|
56887
|
-
const prompt = formatPrompt(messages, this.currentModel);
|
|
56888
56813
|
const { TextStreamer } = await Promise.resolve().then(() => (init_transformers_web(), exports_transformers_web));
|
|
56889
56814
|
let fullText = "";
|
|
56890
56815
|
const streamer = new TextStreamer(this.pipeline.tokenizer, {
|
|
56891
56816
|
skip_prompt: true,
|
|
56817
|
+
skip_special_tokens: true,
|
|
56892
56818
|
callback_function: (token) => {
|
|
56893
56819
|
fullText += token;
|
|
56894
56820
|
onToken(token, fullText);
|
|
56895
56821
|
}
|
|
56896
56822
|
});
|
|
56897
|
-
await this.pipeline(
|
|
56823
|
+
await this.pipeline(messages, {
|
|
56898
56824
|
max_new_tokens: options?.maxTokens ?? 512,
|
|
56899
56825
|
temperature: options?.temperature ?? 0.7,
|
|
56900
56826
|
top_p: options?.topP ?? 0.95,
|
|
@@ -58107,9 +58033,37 @@ function Chat2({
|
|
|
58107
58033
|
apiMessages.push({ role: "system", content: systemPrompt });
|
|
58108
58034
|
}
|
|
58109
58035
|
currentMessages.forEach((m) => {
|
|
58110
|
-
|
|
58036
|
+
let content = m.content;
|
|
58037
|
+
if (m.role === "user" && m.images && m.images.length > 0) {
|
|
58038
|
+
if (llm.backend === "webllm") {
|
|
58039
|
+
content = [
|
|
58040
|
+
{ type: "text", text: m.content },
|
|
58041
|
+
...m.images.map((img) => ({ type: "image_url", image_url: { url: img.dataUrl } }))
|
|
58042
|
+
];
|
|
58043
|
+
} else {
|
|
58044
|
+
content = [
|
|
58045
|
+
...m.images.map((img) => ({ type: "image", image: img.dataUrl })),
|
|
58046
|
+
{ type: "text", text: m.content }
|
|
58047
|
+
];
|
|
58048
|
+
}
|
|
58049
|
+
}
|
|
58050
|
+
apiMessages.push({ role: m.role, content });
|
|
58111
58051
|
});
|
|
58112
|
-
|
|
58052
|
+
let finalUserContent = userContent;
|
|
58053
|
+
if (attachedImages.length > 0) {
|
|
58054
|
+
if (llm.backend === "webllm") {
|
|
58055
|
+
finalUserContent = [
|
|
58056
|
+
{ type: "text", text: userContent },
|
|
58057
|
+
...attachedImages.map((img) => ({ type: "image_url", image_url: { url: img.dataUrl } }))
|
|
58058
|
+
];
|
|
58059
|
+
} else {
|
|
58060
|
+
finalUserContent = [
|
|
58061
|
+
...attachedImages.map((img) => ({ type: "image", image: img.dataUrl })),
|
|
58062
|
+
{ type: "text", text: userContent }
|
|
58063
|
+
];
|
|
58064
|
+
}
|
|
58065
|
+
}
|
|
58066
|
+
apiMessages.push({ role: "user", content: finalUserContent });
|
|
58113
58067
|
try {
|
|
58114
58068
|
const response = await llm.stream(apiMessages, (_token, fullText) => {
|
|
58115
58069
|
if (abortRef.current)
|
|
@@ -58520,7 +58474,8 @@ function useChat(options = {}) {
|
|
|
58520
58474
|
if (!lastUserMessage)
|
|
58521
58475
|
return "";
|
|
58522
58476
|
setMessages(previousMessages);
|
|
58523
|
-
|
|
58477
|
+
const textContent = Array.isArray(lastUserMessage.content) ? lastUserMessage.content.map((c) => c.text || "").join("") : lastUserMessage.content;
|
|
58478
|
+
return send(textContent);
|
|
58524
58479
|
}, [messages, send]);
|
|
58525
58480
|
return {
|
|
58526
58481
|
messages,
|
package/dist/models.d.ts
CHANGED
|
@@ -58,6 +58,9 @@ export declare const TRANSFORMERS_MODELS: {
|
|
|
58
58
|
readonly 'qwen-2.5-1.5b': "onnx-community/Qwen2.5-1.5B-Instruct";
|
|
59
59
|
readonly 'qwen-2.5-coder-0.5b': "onnx-community/Qwen2.5-Coder-0.5B-Instruct";
|
|
60
60
|
readonly 'qwen-2.5-coder-1.5b': "onnx-community/Qwen2.5-Coder-1.5B-Instruct";
|
|
61
|
+
readonly 'qwen-2.5-vl-3b': "onnx-community/Qwen2.5-VL-3B-Instruct";
|
|
62
|
+
readonly moondream2: "Xenova/moondream2";
|
|
63
|
+
readonly 'phi-3.5-vision': "onnx-community/Phi-3.5-vision-instruct";
|
|
61
64
|
readonly 'qwen-3-0.6b': "onnx-community/Qwen3-0.6B-ONNX";
|
|
62
65
|
readonly 'smollm2-135m': "HuggingFaceTB/SmolLM2-135M-Instruct";
|
|
63
66
|
readonly 'smollm2-360m': "HuggingFaceTB/SmolLM2-360M-Instruct";
|
package/dist/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sCAAsC,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDhB,CAAC;AAGX;;;GAGG;AACH,eAAO,MAAM,0BAA0B,yCAAyC,CAAC;AAEjF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sCAAsC,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDhB,CAAC;AAGX;;;GAGG;AACH,eAAO,MAAM,0BAA0B,yCAAyC,CAAC;AAEjF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;CA0BtB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,aAAa,CAAC;AACvD,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,mBAAmB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/react/components.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAU,KAAK,cAAc,EAAsC,MAAM,SAAS,CAAC;AAE1F,OAAO,EAAsC,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAepF,MAAM,WAAW,SAAS;IACxB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACnD,mDAAmD;IACnD,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,oCAAoC;IACpC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,yCAAyC;IACzC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,sBAAsB;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sDAAsD;IACtD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,qCAAqC;IACrC,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAC;IACpD,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAsbD,iBAAS,IAAI,CAAC,EACZ,YAAoC,EACpC,WAAiC,EACjC,KAAc,EACd,SAAS,EACT,SAAmB,EACnB,YAAY,EACZ,MAAM,EAAE,UAAU,EAClB,UAAU,EACV,OAAO,EAAE,WAAW,EACpB,UAAiB,EACjB,YAAmB,EACnB,cAAkC,EAClC,aAAa,GACd,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/react/components.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAU,KAAK,cAAc,EAAsC,MAAM,SAAS,CAAC;AAE1F,OAAO,EAAsC,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAepF,MAAM,WAAW,SAAS;IACxB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACnD,mDAAmD;IACnD,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,oCAAoC;IACpC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,yCAAyC;IACzC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,sBAAsB;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sDAAsD;IACtD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,qCAAqC;IACrC,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAC;IACpD,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAsbD,iBAAS,IAAI,CAAC,EACZ,YAAoC,EACpC,WAAiC,EACjC,KAAc,EACd,SAAS,EACT,SAAmB,EACnB,YAAY,EACZ,MAAM,EAAE,UAAU,EAClB,UAAU,EACV,OAAO,EAAE,WAAW,EACpB,UAAiB,EACjB,YAAmB,EACnB,cAAkC,EAClC,aAAa,GACd,EAAE,SAAS,2CAmRX;AAMD,iBAAS,OAAO,CAAC,EACf,YAA8B,EAC9B,cAAuB,EACvB,QAAe,EACf,aAAa,EACb,GAAG,SAAS,EACb,EAAE,YAAY,2CAqBd;AAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,YAAY,EACZ,OAAO,EACR,MAAM,UAAU,CAAC;AAElB,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQnD,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IAErB,6CAA6C;IAC7C,SAAS,EAAE,OAAO,CAAC;IAEnB,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IAEjB,+BAA+B;IAC/B,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAElC,8BAA8B;IAC9B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,uBAAuB;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,yBAAyB;IACzB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAExB,gCAAgC;IAChC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,uBAAuB;IACvB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAQD,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACzE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAC;IAEjC;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAE9C;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,WAAW,CAAC,EACnB,QAAQ,EACR,QAAe,EACf,MAAM,EACN,UAAU,EACV,OAAO,EACP,GAAG,MAAM,EACV,EAAE,gBAAgB,2CAsFlB;AAMD;;;;;;;;;GASG;AACH,iBAAS,MAAM,IAAI,eAAe,CAQjC;AAMD,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;IAEhC,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,yBAAyB;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpD,uCAAuC;IACvC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC,sBAAsB;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,QAAQ,EAAE,WAAW,EAAE,CAAC;IAExB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IAEd,0BAA0B;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC,8CAA8C;IAC9C,YAAY,EAAE,OAAO,CAAC;IAEtB,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;IAEnB,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IAEtB,wCAAwC;IACxC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5C,kCAAkC;IAClC,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,yBAAyB;IACzB,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,kDAAkD;IAClD,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAEvC,mDAAmD;IACnD,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,iBAAS,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/index.js
CHANGED
|
@@ -56632,6 +56632,9 @@ var TRANSFORMERS_MODELS = {
|
|
|
56632
56632
|
"qwen-2.5-1.5b": "onnx-community/Qwen2.5-1.5B-Instruct",
|
|
56633
56633
|
"qwen-2.5-coder-0.5b": "onnx-community/Qwen2.5-Coder-0.5B-Instruct",
|
|
56634
56634
|
"qwen-2.5-coder-1.5b": "onnx-community/Qwen2.5-Coder-1.5B-Instruct",
|
|
56635
|
+
"qwen-2.5-vl-3b": "onnx-community/Qwen2.5-VL-3B-Instruct",
|
|
56636
|
+
moondream2: "Xenova/moondream2",
|
|
56637
|
+
"phi-3.5-vision": "onnx-community/Phi-3.5-vision-instruct",
|
|
56635
56638
|
"qwen-3-0.6b": "onnx-community/Qwen3-0.6B-ONNX",
|
|
56636
56639
|
"smollm2-135m": "HuggingFaceTB/SmolLM2-135M-Instruct",
|
|
56637
56640
|
"smollm2-360m": "HuggingFaceTB/SmolLM2-360M-Instruct",
|
|
@@ -56726,86 +56729,9 @@ class WebLLMProvider {
|
|
|
56726
56729
|
}
|
|
56727
56730
|
|
|
56728
56731
|
// src/backends/transformers.ts
|
|
56729
|
-
function
|
|
56732
|
+
function isVisionModel(modelId) {
|
|
56730
56733
|
const lower = modelId.toLowerCase();
|
|
56731
|
-
|
|
56732
|
-
return "chatml";
|
|
56733
|
-
}
|
|
56734
|
-
if (lower.includes("llama") || lower.includes("tinyllama")) {
|
|
56735
|
-
return "llama";
|
|
56736
|
-
}
|
|
56737
|
-
if (lower.includes("phi")) {
|
|
56738
|
-
return "phi";
|
|
56739
|
-
}
|
|
56740
|
-
return "generic";
|
|
56741
|
-
}
|
|
56742
|
-
function formatPrompt(messages, modelId) {
|
|
56743
|
-
const format = detectChatFormat(modelId);
|
|
56744
|
-
switch (format) {
|
|
56745
|
-
case "chatml": {
|
|
56746
|
-
let prompt = "";
|
|
56747
|
-
for (const msg of messages) {
|
|
56748
|
-
prompt += `<|im_start|>${msg.role}
|
|
56749
|
-
${msg.content}<|im_end|>
|
|
56750
|
-
`;
|
|
56751
|
-
}
|
|
56752
|
-
prompt += `<|im_start|>assistant
|
|
56753
|
-
`;
|
|
56754
|
-
return prompt;
|
|
56755
|
-
}
|
|
56756
|
-
case "llama": {
|
|
56757
|
-
let prompt = "";
|
|
56758
|
-
for (const msg of messages) {
|
|
56759
|
-
if (msg.role === "system") {
|
|
56760
|
-
prompt += `<s>[INST] <<SYS>>
|
|
56761
|
-
${msg.content}
|
|
56762
|
-
<</SYS>>
|
|
56763
|
-
|
|
56764
|
-
`;
|
|
56765
|
-
} else if (msg.role === "user") {
|
|
56766
|
-
if (!prompt.includes("[INST]")) {
|
|
56767
|
-
prompt += `<s>[INST] ${msg.content} [/INST]`;
|
|
56768
|
-
} else {
|
|
56769
|
-
prompt += `<s>[INST] ${msg.content} [/INST]`;
|
|
56770
|
-
}
|
|
56771
|
-
} else if (msg.role === "assistant") {
|
|
56772
|
-
prompt += ` ${msg.content} </s>`;
|
|
56773
|
-
}
|
|
56774
|
-
}
|
|
56775
|
-
return prompt;
|
|
56776
|
-
}
|
|
56777
|
-
case "phi": {
|
|
56778
|
-
let prompt = "";
|
|
56779
|
-
for (const msg of messages) {
|
|
56780
|
-
if (msg.role === "system") {
|
|
56781
|
-
prompt += `<|system|>
|
|
56782
|
-
${msg.content}<|end|>
|
|
56783
|
-
`;
|
|
56784
|
-
} else if (msg.role === "user") {
|
|
56785
|
-
prompt += `<|user|>
|
|
56786
|
-
${msg.content}<|end|>
|
|
56787
|
-
`;
|
|
56788
|
-
} else if (msg.role === "assistant") {
|
|
56789
|
-
prompt += `<|assistant|>
|
|
56790
|
-
${msg.content}<|end|>
|
|
56791
|
-
`;
|
|
56792
|
-
}
|
|
56793
|
-
}
|
|
56794
|
-
prompt += `<|assistant|>
|
|
56795
|
-
`;
|
|
56796
|
-
return prompt;
|
|
56797
|
-
}
|
|
56798
|
-
case "generic":
|
|
56799
|
-
default: {
|
|
56800
|
-
let prompt = "";
|
|
56801
|
-
for (const msg of messages) {
|
|
56802
|
-
prompt += `${msg.role}: ${msg.content}
|
|
56803
|
-
`;
|
|
56804
|
-
}
|
|
56805
|
-
prompt += "assistant: ";
|
|
56806
|
-
return prompt;
|
|
56807
|
-
}
|
|
56808
|
-
}
|
|
56734
|
+
return lower.includes("vl") || lower.includes("vision") || lower.includes("moondream");
|
|
56809
56735
|
}
|
|
56810
56736
|
function mapQuantization(quantization) {
|
|
56811
56737
|
const map = {
|
|
@@ -56850,8 +56776,9 @@ class TransformersProvider {
|
|
|
56850
56776
|
} catch {}
|
|
56851
56777
|
}
|
|
56852
56778
|
}
|
|
56779
|
+
const task = isVisionModel(resolvedModel) ? "image-text-to-text" : "text-generation";
|
|
56853
56780
|
const dtype = mapQuantization(this.quantization);
|
|
56854
|
-
this.pipeline = await pipeline(
|
|
56781
|
+
this.pipeline = await pipeline(task, resolvedModel, {
|
|
56855
56782
|
dtype,
|
|
56856
56783
|
device: deviceOption,
|
|
56857
56784
|
progress_callback: (progress) => {
|
|
@@ -56870,8 +56797,7 @@ class TransformersProvider {
|
|
|
56870
56797
|
if (!this.pipeline || !this.currentModel) {
|
|
56871
56798
|
throw new Error("Model not loaded. Call load() first.");
|
|
56872
56799
|
}
|
|
56873
|
-
const
|
|
56874
|
-
const result = await this.pipeline(prompt, {
|
|
56800
|
+
const result = await this.pipeline(messages, {
|
|
56875
56801
|
max_new_tokens: options?.maxTokens ?? 512,
|
|
56876
56802
|
temperature: options?.temperature ?? 0.7,
|
|
56877
56803
|
top_p: options?.topP ?? 0.95,
|
|
@@ -56885,17 +56811,17 @@ class TransformersProvider {
|
|
|
56885
56811
|
if (!this.pipeline || !this.currentModel) {
|
|
56886
56812
|
throw new Error("Model not loaded. Call load() first.");
|
|
56887
56813
|
}
|
|
56888
|
-
const prompt = formatPrompt(messages, this.currentModel);
|
|
56889
56814
|
const { TextStreamer } = await Promise.resolve().then(() => (init_transformers_web(), exports_transformers_web));
|
|
56890
56815
|
let fullText = "";
|
|
56891
56816
|
const streamer = new TextStreamer(this.pipeline.tokenizer, {
|
|
56892
56817
|
skip_prompt: true,
|
|
56818
|
+
skip_special_tokens: true,
|
|
56893
56819
|
callback_function: (token) => {
|
|
56894
56820
|
fullText += token;
|
|
56895
56821
|
onToken(token, fullText);
|
|
56896
56822
|
}
|
|
56897
56823
|
});
|
|
56898
|
-
await this.pipeline(
|
|
56824
|
+
await this.pipeline(messages, {
|
|
56899
56825
|
max_new_tokens: options?.maxTokens ?? 512,
|
|
56900
56826
|
temperature: options?.temperature ?? 0.7,
|
|
56901
56827
|
top_p: options?.topP ?? 0.95,
|
|
@@ -58035,9 +57961,37 @@ function Chat2({
|
|
|
58035
57961
|
apiMessages.push({ role: "system", content: systemPrompt });
|
|
58036
57962
|
}
|
|
58037
57963
|
currentMessages.forEach((m) => {
|
|
58038
|
-
|
|
57964
|
+
let content = m.content;
|
|
57965
|
+
if (m.role === "user" && m.images && m.images.length > 0) {
|
|
57966
|
+
if (llm.backend === "webllm") {
|
|
57967
|
+
content = [
|
|
57968
|
+
{ type: "text", text: m.content },
|
|
57969
|
+
...m.images.map((img) => ({ type: "image_url", image_url: { url: img.dataUrl } }))
|
|
57970
|
+
];
|
|
57971
|
+
} else {
|
|
57972
|
+
content = [
|
|
57973
|
+
...m.images.map((img) => ({ type: "image", image: img.dataUrl })),
|
|
57974
|
+
{ type: "text", text: m.content }
|
|
57975
|
+
];
|
|
57976
|
+
}
|
|
57977
|
+
}
|
|
57978
|
+
apiMessages.push({ role: m.role, content });
|
|
58039
57979
|
});
|
|
58040
|
-
|
|
57980
|
+
let finalUserContent = userContent;
|
|
57981
|
+
if (attachedImages.length > 0) {
|
|
57982
|
+
if (llm.backend === "webllm") {
|
|
57983
|
+
finalUserContent = [
|
|
57984
|
+
{ type: "text", text: userContent },
|
|
57985
|
+
...attachedImages.map((img) => ({ type: "image_url", image_url: { url: img.dataUrl } }))
|
|
57986
|
+
];
|
|
57987
|
+
} else {
|
|
57988
|
+
finalUserContent = [
|
|
57989
|
+
...attachedImages.map((img) => ({ type: "image", image: img.dataUrl })),
|
|
57990
|
+
{ type: "text", text: userContent }
|
|
57991
|
+
];
|
|
57992
|
+
}
|
|
57993
|
+
}
|
|
57994
|
+
apiMessages.push({ role: "user", content: finalUserContent });
|
|
58041
57995
|
try {
|
|
58042
57996
|
const response = await llm.stream(apiMessages, (_token, fullText) => {
|
|
58043
57997
|
if (abortRef.current)
|
|
@@ -58470,7 +58424,8 @@ function useChat(options = {}) {
|
|
|
58470
58424
|
if (!lastUserMessage)
|
|
58471
58425
|
return "";
|
|
58472
58426
|
setMessages(previousMessages);
|
|
58473
|
-
|
|
58427
|
+
const textContent = Array.isArray(lastUserMessage.content) ? lastUserMessage.content.map((c) => c.text || "").join("") : lastUserMessage.content;
|
|
58428
|
+
return send(textContent);
|
|
58474
58429
|
}, [messages, send]);
|
|
58475
58430
|
return {
|
|
58476
58431
|
messages,
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAMD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blank-utils/llm",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.9",
|
|
4
4
|
"description": "Run LLMs directly in your browser with WebGPU acceleration. Supports React hooks and eager background loading.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -22,8 +22,12 @@
|
|
|
22
22
|
},
|
|
23
23
|
"typesVersions": {
|
|
24
24
|
"*": {
|
|
25
|
-
".": [
|
|
26
|
-
|
|
25
|
+
".": [
|
|
26
|
+
"./dist/index.d.ts"
|
|
27
|
+
],
|
|
28
|
+
"react": [
|
|
29
|
+
"./dist/react/index.d.ts"
|
|
30
|
+
]
|
|
27
31
|
}
|
|
28
32
|
},
|
|
29
33
|
"files": [
|