web-ai-toolkit
Version:
AI powered features on the web made easy
1,364 lines (1,363 loc) • 6.25 MB
JavaScript
const cN = "MLC_DUMMY_REQUIRE_VAR", hN = "MLC_DUMMY_REQUIRE_VAR";
var $E = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function MN(B) {
if (B.__esModule) return B;
var A = Object.defineProperty({}, "__esModule", { value: !0 });
return Object.keys(B).forEach(function(Q) {
var g = Object.getOwnPropertyDescriptor(B, Q);
Object.defineProperty(A, Q, g.get ? g : {
enumerable: !0,
get: function() {
return B[Q];
}
});
}), A;
}
var gG = { exports: {} };
(function(B) {
(function(A, Q) {
B.exports ? B.exports = Q() : A.log = Q();
})($E, function() {
var A = function() {
}, Q = "undefined", g = typeof window !== Q && typeof window.navigator !== Q && /Trident\/|MSIE /.test(window.navigator.userAgent), I = [
"trace",
"debug",
"info",
"warn",
"error"
], C = {}, E = null;
function i(K, P) {
var L = K[P];
if (typeof L.bind == "function")
return L.bind(K);
try {
return Function.prototype.bind.call(L, K);
} catch {
return function() {
return Function.prototype.apply.apply(L, [K, arguments]);
};
}
}
function N() {
console.log && (console.log.apply ? console.log.apply(console, arguments) : Function.prototype.apply.apply(console.log, [console, arguments])), console.trace && console.trace();
}
function a(K) {
return K === "debug" && (K = "log"), typeof console === Q ? !1 : K === "trace" && g ? N : console[K] !== void 0 ? i(console, K) : console.log !== void 0 ? i(console, "log") : A;
}
function e() {
for (var K = this.getLevel(), P = 0; P < I.length; P++) {
var L = I[P];
this[L] = P < K ? A : this.methodFactory(L, K, this.name);
}
if (this.log = this.debug, typeof console === Q && K < this.levels.SILENT)
return "No console available for logging";
}
function R(K) {
return function() {
typeof console !== Q && (e.call(this), this[K].apply(this, arguments));
};
}
function M(K, P, L) {
return a(K) || R.apply(this, arguments);
}
function m(K, P) {
var L = this, T, Z, b, _ = "loglevel";
typeof K == "string" ? _ += ":" + K : typeof K == "symbol" && (_ = void 0);
function GA(TA) {
var LQ = (I[TA] || "silent").toUpperCase();
if (!(typeof window === Q || !_)) {
try {
window.localStorage[_] = LQ;
return;
} catch {
}
try {
window.document.cookie = encodeURIComponent(_) + "=" + LQ + ";";
} catch {
}
}
}
function NA() {
var TA;
if (!(typeof window === Q || !_)) {
try {
TA = window.localStorage[_];
} catch {
}
if (typeof TA === Q)
try {
var LQ = window.document.cookie, Ig = encodeURIComponent(_), yA = LQ.indexOf(Ig + "=");
yA !== -1 && (TA = /^([^;]+)/.exec(
LQ.slice(yA + Ig.length + 1)
)[1]);
} catch {
}
return L.levels[TA] === void 0 && (TA = void 0), TA;
}
}
function AA() {
if (!(typeof window === Q || !_)) {
try {
window.localStorage.removeItem(_);
} catch {
}
try {
window.document.cookie = encodeURIComponent(_) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
} catch {
}
}
}
function ZA(TA) {
var LQ = TA;
if (typeof LQ == "string" && L.levels[LQ.toUpperCase()] !== void 0 && (LQ = L.levels[LQ.toUpperCase()]), typeof LQ == "number" && LQ >= 0 && LQ <= L.levels.SILENT)
return LQ;
throw new TypeError("log.setLevel() called with invalid level: " + TA);
}
L.name = K, L.levels = {
TRACE: 0,
DEBUG: 1,
INFO: 2,
WARN: 3,
ERROR: 4,
SILENT: 5
}, L.methodFactory = P || M, L.getLevel = function() {
return b ?? Z ?? T;
}, L.setLevel = function(TA, LQ) {
return b = ZA(TA), LQ !== !1 && GA(b), e.call(L);
}, L.setDefaultLevel = function(TA) {
Z = ZA(TA), NA() || L.setLevel(TA, !1);
}, L.resetLevel = function() {
b = null, AA(), e.call(L);
}, L.enableAll = function(TA) {
L.setLevel(L.levels.TRACE, TA);
}, L.disableAll = function(TA) {
L.setLevel(L.levels.SILENT, TA);
}, L.rebuild = function() {
if (E !== L && (T = ZA(E.getLevel())), e.call(L), E === L)
for (var TA in C)
C[TA].rebuild();
}, T = ZA(
E ? E.getLevel() : "WARN"
);
var fQ = NA();
fQ != null && (b = ZA(fQ)), e.call(L);
}
E = new m(), E.getLogger = function(P) {
if (typeof P != "symbol" && typeof P != "string" || P === "")
throw new TypeError("You must supply a name when creating a logger.");
var L = C[P];
return L || (L = C[P] = new m(
P,
E.methodFactory
)), L;
};
var n = typeof window !== Q ? window.log : void 0;
return E.noConflict = function() {
return typeof window !== Q && window.log === E && (window.log = n), E;
}, E.getLoggers = function() {
return C;
}, E.default = E, E;
});
})(gG);
var qQ = gG.exports;
class UN extends Error {
constructor(A) {
super(`Cannot find model record in appConfig for ${A}. Please check if the model ID is correct and included in the model_list configuration.`), this.name = "ModelNotFoundError";
}
}
class DE extends Error {
constructor(A) {
super(A), this.name = "ConfigValueError";
}
}
class _B extends DE {
constructor(A, Q) {
super(`Make sure \`${A}\` > ${Q}.`), this.name = "MinValueError";
}
}
class tI extends DE {
constructor(A, Q, g, I) {
super(`Make sure ${Q} < ${A} <= ${g}.${I ? " " + I : ""}`), this.name = "RangeError";
}
}
class tN extends DE {
constructor(A) {
super(`Make sure ${A} >= 0.`), this.name = "NonNegativeError";
}
}
class yN extends DE {
constructor(A, Q) {
super(`Make sure ${A} to be number represented in string.${Q ? " Got " + Q : ""}`), this.name = "InvalidNumberStringError";
}
}
class RN extends DE {
constructor(A, Q, g) {
super(`${A} requires ${Q} to be ${g}.`), this.name = "DependencyError";
}
}
class OD extends Error {
constructor() {
super("WebGPU is not supported in your current environment, but it is necessary to run the WebLLM engine. Please make sure that your browser supports WebGPU and that it is enabled in your browser settings. You can also consult your browser's compatibility chart to see if it supports WebGPU. For more information about WebGPU support in your browser, visit https://webgpureport.org/"), this.name = "WebGPUNotAvailableError";
}
}
class BG extends Error {
constructor(A) {
super(`Model not loaded before trying to complete ${A}. Please ensure you have called MLCEngine.reload(model) to load the model before initiating APIs, or initialize your engine using CreateMLCEngine() with a valid model configuration.`), this.name = "ModelNotLoadedError";
}
}
class ew extends Error {
constructor(A) {
super(A), this.name = "MessageOrderError";
}
}
class IG extends Error {
constructor() {
super("System prompt should always be the first message in `messages`."), this.name = "SystemMessageOrderError";
}
}
class rN extends Error {
constructor(A) {
super(`${A} should have string content.`), this.name = "ContentTypeError";
}
}
class LN extends Error {
constructor(A) {
super(`Unsupported role of message: ${A}`), this.name = "UnsupportedRoleError";
}
}
class JN extends Error {
constructor(A, Q, g) {
super(`The model loaded is not of type ModelType.VLM (vision-language model). Therefore, user message only supports string content, but received: ${g}
Loaded modelId: ${A}, modelType: ${Q}`), this.name = "UserMessageContentErrorForNonVLM";
}
}
class KN extends Error {
constructor(A, Q) {
super(`prefillChunkSize needs to be greater than imageEmbedSize because a single image's prefill cannot be chunked. Got prefillChunkSize: ${A}, imageEmbedSize: ${Q}`), this.name = "PrefillChunkSizeSmallerThanImageError";
}
}
class SN extends Error {
constructor() {
super("Received image input but model does not have kernel image_embed. Make sure to only pass in image to a vision model."), this.name = "CannotFindImageEmbedError";
}
}
class nN extends Error {
constructor(A) {
super(`Currently do not support field image_url.detail, but received: ${A}`), this.name = "UnsupportedDetailError";
}
}
class HN extends Error {
constructor(A) {
super(`image_url.url should start with "data:image" for base64, or with "http", but got: ${A}`), this.name = "UnsupportedImageURLError";
}
}
class CG extends Error {
constructor() {
super("Each message can have at most one text contentPart, but received more than 1."), this.name = "MultipleTextContentError";
}
}
class dN extends Error {
constructor(A, Q) {
super(`Internal error: error encountered when parsing outputMessage for function calling. Got outputMessage: ${A}
Got error: ${Q}`), this.name = "ToolCallOutputParseError";
}
}
class mN extends Error {
constructor(A) {
super(`Internal error: expect output of function calling to be an ${A}`), this.name = "ToolCallOutputInvalidTypeError";
}
}
class lN extends Error {
constructor(A, Q) {
super(`Expect generated tool call to have fields ${A.map((g) => `"\`${g}\`"`).join(", ")}, but got object: ${JSON.stringify(Q)}`), this.name = "JSONFieldError";
}
}
class PN extends Error {
constructor() {
super("Configuration not initialized. Ensure you have called `reload()` function first."), this.name = "ConfigurationNotInitializedError";
}
}
class ON extends Error {
constructor(A) {
super(`Missing \`model_lib\` for the model with ID "${A}". Please ensure that \`model_lib\` is provided in \`model_list\` for each model. This URL is essential for downloading the WASM library necessary to run the model.`), this.name = "MissingModelError";
}
}
class EG extends Error {
constructor(A) {
super(`This model requires feature ${A}, which is not yet supported by this browser.`), this.name = "FeatureSupportError";
}
}
class Fw extends Error {
constructor(A, Q) {
super(`The following fields in ${Q} are not yet supported:
` + A.join(", ")), this.name = "UnsupportedFieldsError";
}
}
class pN extends EG {
constructor() {
super('This model requires WebGPU extension shader-f16, which is not enabled in this browser. You can try to launch Chrome Canary in command line with flag "--enable-dawn-features=allow_unsafe_apis".'), this.name = "ShaderF16SupportError";
}
}
class fN extends Error {
constructor() {
super("The WebGPU device was lost while loading the model. This issue often occurs due to running out of memory (OOM). To resolve this, try reloading with a model that has fewer parameters or uses a smaller context length."), this.name = "DeviceLostError";
}
}
class ZN extends Error {
constructor(A) {
super(`Cannot handle tokenizer files ${A}`), this.name = "UnsupportedTokenizerFilesError";
}
}
class jN extends Error {
constructor(A, Q) {
super(`Only one of context_window_size and sliding_window_size can be positive. Got: context_window_size: ${A}, sliding_window_size: ${Q}
Consider modifying ModelRecord.overrides to set one of them to -1.`), this.name = "WindowSizeConfigurationError";
}
}
class uN extends Error {
constructor() {
super("Need to specify non-negative attention_sink_size if using sliding window. Consider modifying ModelRecord.overrides. Use `attention_sink_size=0` for default sliding window."), this.name = "AttentionSinkSizeError";
}
}
class vN extends Error {
constructor() {
super(`Need to specify either sliding_window_size or max_window_size.
Consider modifying ModelRecord.overrides to set one of them to positive.`), this.name = "WindowSizeSpecificationError";
}
}
class qN extends Error {
constructor(A, Q) {
super(`Prompt tokens exceed context window size: number of prompt tokens: ${A}; context window size: ${Q}
Consider shortening the prompt, or increase \`context_window_size\`, or using sliding window via \`sliding_window_size\`.`), this.name = "ContextWindowSizeExceededError";
}
}
class DG extends Error {
constructor() {
super("When streaming, `n` cannot be > 1."), this.name = "StreamingCountError";
}
}
class iG extends Error {
constructor(A) {
super("`seed` should be an integer, but got " + A), this.name = "SeedTypeError";
}
}
class xN extends Error {
constructor() {
super("JSON schema is only supported with `json_object` response format."), this.name = "InvalidResponseFormatError";
}
}
class qw extends Error {
constructor() {
super("When ResponseFormat.type is `grammar`, ResponseFormat.grammar needs to be specified.\nWhen ResponseFormat.grammar is specified, ResponseFormat.type needs to be grammar."), this.name = "InvalidResponseFormatGrammarError";
}
}
class zN extends Error {
constructor(A) {
super("When using Hermes-2-Pro function calling via ChatCompletionRequest.tools, cannot specify customized response_format. We will set it for you internally. Currently set to: " + JSON.stringify(A)), this.name = "CustomResponseFormatError";
}
}
class TN extends Error {
constructor(A, Q) {
super(`${A} is not supported for ChatCompletionRequest.tools. Currently, models that support function calling are: ${Q.join(", ")}`), this.name = "UnsupportedModelIdError";
}
}
class bN extends Error {
constructor() {
super("When using Hermes-2-Pro function calling via ChatCompletionRequest.tools, cannot specify customized system prompt."), this.name = "CustomSystemPromptError";
}
}
class wG extends Error {
constructor() {
super("Only specify stream_options when stream=True."), this.name = "InvalidStreamOptionsError";
}
}
class WN extends Error {
constructor() {
super("Non-chat text completion API expects KVCache to be empty."), this.name = "TextCompletionExpectsKVEmptyError";
}
}
class VN extends Error {
constructor() {
super("Non-chat text completion API expects isTextCompletion is true, and prompt is defined."), this.name = "TextCompletionConversationExpectsPrompt";
}
}
class YC extends Error {
constructor(A) {
super(`Non-chat text completion API cannot call ${A}.`), this.name = "TextCompletionConversationError";
}
}
class XN extends Error {
constructor() {
super("Embedding in base64 format is currently not supported."), this.name = "EmbeddingUnsupportedEncodingFormatError";
}
}
class _N extends Error {
constructor(A) {
super(`Trying to run embeddings.create() with ${A}, which does not have ModelRecord.model_type === ModelType.embedding in the model record. Either make sure an embedding model is loaded, or specify the model type in ModelRecord.`), this.name = "EmbeddingUnsupportedModelError";
}
}
class $N extends Error {
constructor(A) {
super(`Embedding should not use sliding window. However, sliding_window_size=${A} is specified in the chat config.`), this.name = "EmbeddingSlidingWindowError";
}
}
class AY extends Error {
constructor(A, Q) {
super(`Embedding currently does not support chunking. Make sure contextWindowSize === prefillChunkSize. Got contextWindowSize=${A}, prefillChunkSize=${Q} instead.`), this.name = "EmbeddingChunkingUnsupportedError";
}
}
class QY extends Error {
constructor(A, Q) {
super(`The embedding model you are using only supports up to ${A} context size.However, an input in the batch has size ${Q}.`), this.name = "EmbeddingExceedContextWindowSizeError";
}
}
class nE extends Error {
constructor() {
super("Embedding input cannot be empty string or empty token array."), this.name = "EmbeddingInputEmptyError";
}
}
class gY extends Error {
constructor(A, Q) {
super(`Expect chatOpts, if specified, to match the size of modelId. However, got ${A} modelId, but ${Q} chatOpts.`), this.name = "ReloadArgumentSizeUnmatchedError";
}
}
class BY extends Error {
constructor(A, Q) {
super(`Multiple models are loaded in engine. Please specify the model in ${Q}.
Currently loaded models are:
${A}`), this.name = "UnclearModelToUseError";
}
}
class oG extends Error {
constructor(A, Q, g) {
super(`Specified model ${Q} for ${g} is not found in loaded models. Please check if the correct model is loaded/specified. Currently loaded models are:
${A}`), this.name = "SpecifiedModelNotFoundError";
}
}
class xw extends Error {
constructor(A, Q, g) {
super(`${g} expects model to be loaded with ${Q}. However, ${A} is not loaded with this pipeline.`), this.name = "IncorrectPipelineLoadedError";
}
}
class IY extends Error {
constructor(A) {
super(`Need to make models in modelId passed to reload() need to be unique. If you want to, load copies of the same model, consider making copies of the ModelRecord with different model_id. Received modelId: ${A}`), this.name = "ReloadModelIdNotUniqueError";
}
}
var BB;
(function(B) {
B.user = "user", B.assistant = "assistant", B.tool = "tool";
})(BB || (BB = {}));
const CY = "WARN";
var yI;
(function(B) {
B.system = "{system_message}", B.user = "{user_message}", B.assistant = "{assistant_message}", B.tool = "{tool_message}", B.function = "{function_string}", B.hermes_tools = "{hermes_tools}";
})(yI || (yI = {}));
function zw(B) {
function A(Q) {
return Q != null;
}
if (B.frequency_penalty && (B.frequency_penalty < -2 || B.frequency_penalty > 2))
throw new tI("frequency_penalty", -2, 2);
if (B.presence_penalty && (B.presence_penalty < -2 || B.presence_penalty > 2))
throw new tI("presence_penalty", -2, 2);
if (A(B.repetition_penalty) && B.repetition_penalty <= 0)
throw new _B("repetition_penalty", 0);
if (A(B.max_tokens) && B.max_tokens <= 0)
throw new _B("max_tokens", 0);
if (A(B.top_p) && B.top_p <= 0 || B.top_p > 1)
throw new tI("top_p", 0, 1);
if (A(B.temperature) && B.temperature < 0)
throw new tN("temperature");
if (A(B.frequency_penalty) && !A(B.presence_penalty) && (B.presence_penalty = 0, qQ.warn("Only frequency_penalty is set; we default presence_penaty to 0.")), A(B.presence_penalty) && !A(B.frequency_penalty) && (B.frequency_penalty = 0, qQ.warn("Only presence_penalty is set; we default frequency_penalty to 0.")), A(B.logit_bias))
for (const Q in B.logit_bias) {
const g = B.logit_bias[Q];
if (g > 100 || g < -100)
throw new tI("logit_bias", -100, 100, "Got " + g + " for tokenID " + Q);
if (isNaN(parseInt(Q)))
throw new yN("logit_bias's keys", Q);
}
if (A(B.top_logprobs)) {
if (!B.logprobs)
throw new RN("top_logprobs", "logprobs", !0);
if (B.top_logprobs < 0 || B.top_logprobs > 5)
throw new tI("top_logprobs", 0, 5, "Got " + B.top_logprobs);
}
B.logprobs && (A(B.top_logprobs) || (B.top_logprobs = 0));
}
var dg;
(function(B) {
B[B.LLM = 0] = "LLM", B[B.embedding = 1] = "embedding", B[B.VLM = 2] = "VLM";
})(dg || (dg = {}));
const gA = "v0_2_48", BA = "https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/web-llm-models/", Tw = [
"Hermes-2-Pro-Llama-3-8B-q4f16_1-MLC",
"Hermes-2-Pro-Llama-3-8B-q4f32_1-MLC",
"Hermes-2-Pro-Mistral-7B-q4f16_1-MLC",
"Hermes-3-Llama-3.1-8B-q4f32_1-MLC",
"Hermes-3-Llama-3.1-8B-q4f16_1-MLC"
], EY = {
useIndexedDBCache: !1,
model_list: [
// Llama-3.2
{
model: "https://huggingface.co/mlc-ai/Llama-3.2-1B-Instruct-q4f32_1-MLC",
model_id: "Llama-3.2-1B-Instruct-q4f32_1-MLC",
model_lib: BA + gA + "/Llama-3.2-1B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 1128.82,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Llama-3.2-1B-Instruct-q4f16_1-MLC",
model_id: "Llama-3.2-1B-Instruct-q4f16_1-MLC",
model_lib: BA + gA + "/Llama-3.2-1B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 879.04,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Llama-3.2-1B-Instruct-q0f32-MLC",
model_id: "Llama-3.2-1B-Instruct-q0f32-MLC",
model_lib: BA + gA + "/Llama-3.2-1B-Instruct-q0f32-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 5106.26,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Llama-3.2-1B-Instruct-q0f16-MLC",
model_id: "Llama-3.2-1B-Instruct-q0f16-MLC",
model_lib: BA + gA + "/Llama-3.2-1B-Instruct-q0f16-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 2573.13,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Llama-3.2-3B-Instruct-q4f32_1-MLC",
model_id: "Llama-3.2-3B-Instruct-q4f32_1-MLC",
model_lib: BA + gA + "/Llama-3.2-3B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 2951.51,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Llama-3.2-3B-Instruct-q4f16_1-MLC",
model_id: "Llama-3.2-3B-Instruct-q4f16_1-MLC",
model_lib: BA + gA + "/Llama-3.2-3B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 2263.69,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
// Llama-3.1
{
model: "https://huggingface.co/mlc-ai/Llama-3.1-8B-Instruct-q4f32_1-MLC",
model_id: "Llama-3.1-8B-Instruct-q4f32_1-MLC-1k",
model_lib: BA + gA + "/Llama-3_1-8B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 5295.7,
low_resource_required: !0,
overrides: {
context_window_size: 1024
}
},
{
model: "https://huggingface.co/mlc-ai/Llama-3.1-8B-Instruct-q4f16_1-MLC",
model_id: "Llama-3.1-8B-Instruct-q4f16_1-MLC-1k",
model_lib: BA + gA + "/Llama-3_1-8B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 4598.34,
low_resource_required: !0,
overrides: {
context_window_size: 1024
}
},
{
model: "https://huggingface.co/mlc-ai/Llama-3.1-8B-Instruct-q4f32_1-MLC",
model_id: "Llama-3.1-8B-Instruct-q4f32_1-MLC",
model_lib: BA + gA + "/Llama-3_1-8B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 6101.01,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Llama-3.1-8B-Instruct-q4f16_1-MLC",
model_id: "Llama-3.1-8B-Instruct-q4f16_1-MLC",
model_lib: BA + gA + "/Llama-3_1-8B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 5001,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
// DeepSeek-R1-Distill-Qwen
// TODO(Charlie): Qwen2-1.5B is experiencing correctness issue, hence commented for now.
// {
// model: "https://huggingface.co/mlc-ai/DeepSeek-R1-Distill-Qwen-1.5B-q4f16_1-MLC",
// model_id: "DeepSeek-R1-Distill-Qwen-1.5B-q4f16_1-MLC",
// model_lib:
// modelLibURLPrefix +
// modelVersion +
// "/Qwen2-1.5B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
// low_resource_required: true,
// vram_required_MB: 1629.75,
// overrides: {
// context_window_size: 4096,
// },
// },
// {
// model: "https://huggingface.co/mlc-ai/DeepSeek-R1-Distill-Qwen-1.5B-q4f32_1-MLC",
// model_id: "DeepSeek-R1-Distill-Qwen-1.5B-q4f32_1-MLC",
// model_lib:
// modelLibURLPrefix +
// modelVersion +
// "/Qwen2-1.5B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
// low_resource_required: true,
// vram_required_MB: 1888.97,
// overrides: {
// context_window_size: 4096,
// },
// },
{
model: "https://huggingface.co/mlc-ai/DeepSeek-R1-Distill-Qwen-7B-q4f16_1-MLC",
model_id: "DeepSeek-R1-Distill-Qwen-7B-q4f16_1-MLC",
model_lib: BA + gA + "/Qwen2-7B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !1,
vram_required_MB: 5106.67,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/DeepSeek-R1-Distill-Qwen-7B-q4f32_1-MLC",
model_id: "DeepSeek-R1-Distill-Qwen-7B-q4f32_1-MLC",
model_lib: BA + gA + "/Qwen2-7B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !1,
vram_required_MB: 5900.09,
overrides: {
context_window_size: 4096
}
},
// DeepSeek-R1-Distill-Llama
{
model: "https://huggingface.co/mlc-ai/DeepSeek-R1-Distill-Llama-8B-q4f32_1-MLC",
model_id: "DeepSeek-R1-Distill-Llama-8B-q4f32_1-MLC",
model_lib: BA + gA + "/Llama-3_1-8B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 6101.01,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/DeepSeek-R1-Distill-Llama-8B-q4f16_1-MLC",
model_id: "DeepSeek-R1-Distill-Llama-8B-q4f16_1-MLC",
model_lib: BA + gA + "/Llama-3_1-8B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 5001,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
// Hermes-3 and Hermes-2
{
model: "https://huggingface.co/mlc-ai/Hermes-2-Theta-Llama-3-8B-q4f16_1-MLC",
model_id: "Hermes-2-Theta-Llama-3-8B-q4f16_1-MLC",
model_lib: BA + gA + "/Llama-3-8B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 4976.13,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Hermes-2-Theta-Llama-3-8B-q4f32_1-MLC",
model_id: "Hermes-2-Theta-Llama-3-8B-q4f32_1-MLC",
model_lib: BA + gA + "/Llama-3-8B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 6051.27,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Hermes-2-Pro-Llama-3-8B-q4f16_1-MLC",
model_id: "Hermes-2-Pro-Llama-3-8B-q4f16_1-MLC",
model_lib: BA + gA + "/Llama-3-8B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 4976.13,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Hermes-2-Pro-Llama-3-8B-q4f32_1-MLC",
model_id: "Hermes-2-Pro-Llama-3-8B-q4f32_1-MLC",
model_lib: BA + gA + "/Llama-3-8B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 6051.27,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Hermes-3-Llama-3.2-3B-q4f32_1-MLC",
model_id: "Hermes-3-Llama-3.2-3B-q4f32_1-MLC",
model_lib: BA + gA + "/Llama-3.2-3B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 2951.51,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Hermes-3-Llama-3.2-3B-q4f16_1-MLC",
model_id: "Hermes-3-Llama-3.2-3B-q4f16_1-MLC",
model_lib: BA + gA + "/Llama-3.2-3B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 2263.69,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Hermes-3-Llama-3.1-8B-q4f32_1-MLC",
model_id: "Hermes-3-Llama-3.1-8B-q4f32_1-MLC",
model_lib: BA + gA + "/Llama-3_1-8B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 5779.27,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Hermes-3-Llama-3.1-8B-q4f16_1-MLC",
model_id: "Hermes-3-Llama-3.1-8B-q4f16_1-MLC",
model_lib: BA + gA + "/Llama-3_1-8B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 4876.13,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Hermes-2-Pro-Mistral-7B-q4f16_1-MLC",
model_id: "Hermes-2-Pro-Mistral-7B-q4f16_1-MLC",
model_lib: BA + gA + "/Mistral-7B-Instruct-v0.3-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 4033.28,
low_resource_required: !1,
required_features: ["shader-f16"],
overrides: {
context_window_size: 4096,
sliding_window_size: -1
}
},
// Phi3.5-mini-instruct
{
model: "https://huggingface.co/mlc-ai/Phi-3.5-mini-instruct-q4f16_1-MLC",
model_id: "Phi-3.5-mini-instruct-q4f16_1-MLC",
model_lib: BA + gA + "/Phi-3.5-mini-instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 3672.07,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Phi-3.5-mini-instruct-q4f32_1-MLC",
model_id: "Phi-3.5-mini-instruct-q4f32_1-MLC",
model_lib: BA + gA + "/Phi-3.5-mini-instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 5483.12,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Phi-3.5-mini-instruct-q4f16_1-MLC",
model_id: "Phi-3.5-mini-instruct-q4f16_1-MLC-1k",
model_lib: BA + gA + "/Phi-3.5-mini-instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 2520.07,
low_resource_required: !0,
overrides: {
context_window_size: 1024
}
},
{
model: "https://huggingface.co/mlc-ai/Phi-3.5-mini-instruct-q4f32_1-MLC",
model_id: "Phi-3.5-mini-instruct-q4f32_1-MLC-1k",
model_lib: BA + gA + "/Phi-3.5-mini-instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 3179.12,
low_resource_required: !0,
overrides: {
context_window_size: 1024
}
},
// Phi-3.5-vision-instruct
{
model: "https://huggingface.co/mlc-ai/Phi-3.5-vision-instruct-q4f16_1-MLC",
model_id: "Phi-3.5-vision-instruct-q4f16_1-MLC",
model_lib: BA + gA + "/Phi-3.5-vision-instruct-q4f16_1-ctx4k_cs2k-webgpu.wasm",
vram_required_MB: 3952.18,
low_resource_required: !0,
overrides: {
context_window_size: 4096
},
model_type: dg.VLM
},
{
model: "https://huggingface.co/mlc-ai/Phi-3.5-vision-instruct-q4f32_1-MLC",
model_id: "Phi-3.5-vision-instruct-q4f32_1-MLC",
model_lib: BA + gA + "/Phi-3.5-vision-instruct-q4f32_1-ctx4k_cs2k-webgpu.wasm",
vram_required_MB: 5879.84,
low_resource_required: !0,
overrides: {
context_window_size: 4096
},
model_type: dg.VLM
},
// Mistral variants
{
model: "https://huggingface.co/mlc-ai/Mistral-7B-Instruct-v0.3-q4f16_1-MLC",
model_id: "Mistral-7B-Instruct-v0.3-q4f16_1-MLC",
model_lib: BA + gA + "/Mistral-7B-Instruct-v0.3-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 4573.39,
low_resource_required: !1,
required_features: ["shader-f16"],
overrides: {
context_window_size: 4096,
sliding_window_size: -1
}
},
{
model: "https://huggingface.co/mlc-ai/Mistral-7B-Instruct-v0.3-q4f32_1-MLC",
model_id: "Mistral-7B-Instruct-v0.3-q4f32_1-MLC",
model_lib: BA + gA + "/Mistral-7B-Instruct-v0.3-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 5619.27,
low_resource_required: !1,
overrides: {
context_window_size: 4096,
sliding_window_size: -1
}
},
{
model: "https://huggingface.co/mlc-ai/Mistral-7B-Instruct-v0.2-q4f16_1-MLC",
model_id: "Mistral-7B-Instruct-v0.2-q4f16_1-MLC",
model_lib: BA + gA + "/Mistral-7B-Instruct-v0.3-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 4573.39,
low_resource_required: !1,
required_features: ["shader-f16"],
overrides: {
context_window_size: 4096,
sliding_window_size: -1
}
},
{
model: "https://huggingface.co/mlc-ai/OpenHermes-2.5-Mistral-7B-q4f16_1-MLC",
model_id: "OpenHermes-2.5-Mistral-7B-q4f16_1-MLC",
model_lib: BA + gA + "/Mistral-7B-Instruct-v0.3-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 4573.39,
low_resource_required: !1,
required_features: ["shader-f16"],
overrides: {
context_window_size: 4096,
sliding_window_size: -1
}
},
{
model: "https://huggingface.co/mlc-ai/NeuralHermes-2.5-Mistral-7B-q4f16_1-MLC",
model_id: "NeuralHermes-2.5-Mistral-7B-q4f16_1-MLC",
model_lib: BA + gA + "/Mistral-7B-Instruct-v0.3-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 4573.39,
low_resource_required: !1,
required_features: ["shader-f16"],
overrides: {
context_window_size: 4096,
sliding_window_size: -1
}
},
{
model: "https://huggingface.co/mlc-ai/WizardMath-7B-V1.1-q4f16_1-MLC",
model_id: "WizardMath-7B-V1.1-q4f16_1-MLC",
model_lib: BA + gA + "/Mistral-7B-Instruct-v0.3-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 4573.39,
low_resource_required: !1,
required_features: ["shader-f16"],
overrides: {
context_window_size: 4096,
sliding_window_size: -1
}
},
// SmolLM2
{
model: "https://huggingface.co/mlc-ai/SmolLM2-1.7B-Instruct-q4f16_1-MLC",
model_id: "SmolLM2-1.7B-Instruct-q4f16_1-MLC",
model_lib: BA + gA + "/SmolLM2-1.7B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 1774.19,
low_resource_required: !0,
required_features: ["shader-f16"],
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/SmolLM2-1.7B-Instruct-q4f32_1-MLC",
model_id: "SmolLM2-1.7B-Instruct-q4f32_1-MLC",
model_lib: BA + gA + "/SmolLM2-1.7B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 2692.38,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/SmolLM2-360M-Instruct-q0f16-MLC",
model_id: "SmolLM2-360M-Instruct-q0f16-MLC",
model_lib: BA + gA + "/SmolLM2-360M-Instruct-q0f16-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 871.99,
low_resource_required: !0,
required_features: ["shader-f16"],
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/SmolLM2-360M-Instruct-q0f32-MLC",
model_id: "SmolLM2-360M-Instruct-q0f32-MLC",
model_lib: BA + gA + "/SmolLM2-360M-Instruct-q0f32-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 1743.99,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/SmolLM2-360M-Instruct-q4f16_1-MLC",
model_id: "SmolLM2-360M-Instruct-q4f16_1-MLC",
model_lib: BA + gA + "/SmolLM2-360M-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 376.06,
low_resource_required: !0,
required_features: ["shader-f16"],
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/SmolLM2-360M-Instruct-q4f32_1-MLC",
model_id: "SmolLM2-360M-Instruct-q4f32_1-MLC",
model_lib: BA + gA + "/SmolLM2-360M-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 579.61,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/SmolLM2-135M-Instruct-q0f16-MLC",
model_id: "SmolLM2-135M-Instruct-q0f16-MLC",
model_lib: BA + gA + "/SmolLM2-135M-Instruct-q0f16-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 359.69,
low_resource_required: !0,
required_features: ["shader-f16"],
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/SmolLM2-135M-Instruct-q0f32-MLC",
model_id: "SmolLM2-135M-Instruct-q0f32-MLC",
model_lib: BA + gA + "/SmolLM2-135M-Instruct-q0f32-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 719.38,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
// Gemma2
{
model: "https://huggingface.co/mlc-ai/gemma-2-2b-it-q4f16_1-MLC",
model_id: "gemma-2-2b-it-q4f16_1-MLC",
model_lib: BA + gA + "/gemma-2-2b-it-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 1895.3,
low_resource_required: !1,
required_features: ["shader-f16"],
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/gemma-2-2b-it-q4f32_1-MLC",
model_id: "gemma-2-2b-it-q4f32_1-MLC",
model_lib: BA + gA + "/gemma-2-2b-it-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 2508.75,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/gemma-2-2b-it-q4f16_1-MLC",
model_id: "gemma-2-2b-it-q4f16_1-MLC-1k",
model_lib: BA + gA + "/gemma-2-2b-it-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 1583.3,
low_resource_required: !0,
required_features: ["shader-f16"],
overrides: {
context_window_size: 1024
}
},
{
model: "https://huggingface.co/mlc-ai/gemma-2-2b-it-q4f32_1-MLC",
model_id: "gemma-2-2b-it-q4f32_1-MLC-1k",
model_lib: BA + gA + "/gemma-2-2b-it-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 1884.75,
low_resource_required: !0,
overrides: {
context_window_size: 1024
}
},
{
model: "https://huggingface.co/mlc-ai/gemma-2-9b-it-q4f16_1-MLC",
model_id: "gemma-2-9b-it-q4f16_1-MLC",
model_lib: BA + gA + "/gemma-2-9b-it-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 6422.01,
low_resource_required: !1,
required_features: ["shader-f16"],
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/gemma-2-9b-it-q4f32_1-MLC",
model_id: "gemma-2-9b-it-q4f32_1-MLC",
model_lib: BA + gA + "/gemma-2-9b-it-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 8383.33,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
// Gemma2-2b-jpn
{
model: "https://huggingface.co/mlc-ai/gemma-2-2b-jpn-it-q4f16_1-MLC",
model_id: "gemma-2-2b-jpn-it-q4f16_1-MLC",
model_lib: BA + gA + "/gemma-2-2b-jpn-it-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 1895.3,
low_resource_required: !0,
required_features: ["shader-f16"],
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/gemma-2-2b-jpn-it-q4f32_1-MLC",
model_id: "gemma-2-2b-jpn-it-q4f32_1-MLC",
model_lib: BA + gA + "/gemma-2-2b-jpn-it-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 2508.75,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
// Qwen-3
{
model: "https://huggingface.co/mlc-ai/Qwen3-0.6B-q4f16_1-MLC",
model_id: "Qwen3-0.6B-q4f16_1-MLC",
model_lib: BA + gA + "/Qwen3-0.6B-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 1403.34,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen3-0.6B-q4f32_1-MLC",
model_id: "Qwen3-0.6B-q4f32_1-MLC",
model_lib: BA + gA + "/Qwen3-0.6B-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 1924.98,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen3-0.6B-q0f16-MLC",
model_id: "Qwen3-0.6B-q0f16-MLC",
model_lib: BA + gA + "/Qwen3-0.6B-q0f16-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 2220.38,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen3-0.6B-q0f32-MLC",
model_id: "Qwen3-0.6B-q0f32-MLC",
model_lib: BA + gA + "/Qwen3-0.6B-q0f32-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 3843.25,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen3-1.7B-q4f16_1-MLC",
model_id: "Qwen3-1.7B-q4f16_1-MLC",
model_lib: BA + gA + "/Qwen3-1.7B-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 2036.66,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen3-1.7B-q4f32_1-MLC",
model_id: "Qwen3-1.7B-q4f32_1-MLC",
model_lib: BA + gA + "/Qwen3-1.7B-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 2635.44,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen3-4B-q4f16_1-MLC",
model_id: "Qwen3-4B-q4f16_1-MLC",
model_lib: BA + gA + "/Qwen3-4B-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 3431.59,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen3-4B-q4f32_1-MLC",
model_id: "Qwen3-4B-q4f32_1-MLC",
model_lib: BA + gA + "/Qwen3-4B-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 4327.71,
low_resource_required: !0,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen3-8B-q4f16_1-MLC",
model_id: "Qwen3-8B-q4f16_1-MLC",
model_lib: BA + gA + "/Qwen3-8B-q4f16_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 5695.78,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen3-8B-q4f32_1-MLC",
model_id: "Qwen3-8B-q4f32_1-MLC",
model_lib: BA + gA + "/Qwen3-8B-q4f32_1-ctx4k_cs1k-webgpu.wasm",
vram_required_MB: 6852.55,
low_resource_required: !1,
overrides: {
context_window_size: 4096
}
},
// Qwen-2
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-0.5B-Instruct-q4f16_1-MLC",
model_id: "Qwen2.5-0.5B-Instruct-q4f16_1-MLC",
model_lib: BA + gA + "/Qwen2-0.5B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 944.62,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-0.5B-Instruct-q4f32_1-MLC",
model_id: "Qwen2.5-0.5B-Instruct-q4f32_1-MLC",
model_lib: BA + gA + "/Qwen2-0.5B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 1060.2,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-0.5B-Instruct-q0f16-MLC",
model_id: "Qwen2.5-0.5B-Instruct-q0f16-MLC",
model_lib: BA + gA + "/Qwen2-0.5B-Instruct-q0f16-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 1624.12,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-0.5B-Instruct-q0f32-MLC",
model_id: "Qwen2.5-0.5B-Instruct-q0f32-MLC",
model_lib: BA + gA + "/Qwen2-0.5B-Instruct-q0f32-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 2654.75,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-1.5B-Instruct-q4f16_1-MLC",
model_id: "Qwen2.5-1.5B-Instruct-q4f16_1-MLC",
model_lib: BA + gA + "/Qwen2-1.5B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 1629.75,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-1.5B-Instruct-q4f32_1-MLC",
model_id: "Qwen2.5-1.5B-Instruct-q4f32_1-MLC",
model_lib: BA + gA + "/Qwen2-1.5B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 1888.97,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-3B-Instruct-q4f16_1-MLC",
model_id: "Qwen2.5-3B-Instruct-q4f16_1-MLC",
model_lib: BA + gA + "/Qwen2.5-3B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 2504.76,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-3B-Instruct-q4f32_1-MLC",
model_id: "Qwen2.5-3B-Instruct-q4f32_1-MLC",
model_lib: BA + gA + "/Qwen2.5-3B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 2893.64,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-7B-Instruct-q4f16_1-MLC",
model_id: "Qwen2.5-7B-Instruct-q4f16_1-MLC",
model_lib: BA + gA + "/Qwen2-7B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !1,
vram_required_MB: 5106.67,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-7B-Instruct-q4f32_1-MLC",
model_id: "Qwen2.5-7B-Instruct-q4f32_1-MLC",
model_lib: BA + gA + "/Qwen2-7B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !1,
vram_required_MB: 5900.09,
overrides: {
context_window_size: 4096
}
},
// Qwen2.5-Coder
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-Coder-0.5B-Instruct-q4f16_1-MLC",
model_id: "Qwen2.5-Coder-0.5B-Instruct-q4f16_1-MLC",
model_lib: BA + gA + "/Qwen2-0.5B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 944.62,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-Coder-0.5B-Instruct-q4f32_1-MLC",
model_id: "Qwen2.5-Coder-0.5B-Instruct-q4f32_1-MLC",
model_lib: BA + gA + "/Qwen2-0.5B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 1060.2,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-Coder-0.5B-Instruct-q0f16-MLC",
model_id: "Qwen2.5-Coder-0.5B-Instruct-q0f16-MLC",
model_lib: BA + gA + "/Qwen2-0.5B-Instruct-q0f16-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 1624.12,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-Coder-0.5B-Instruct-q0f32-MLC",
model_id: "Qwen2.5-Coder-0.5B-Instruct-q0f32-MLC",
model_lib: BA + gA + "/Qwen2-0.5B-Instruct-q0f32-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 2654.75,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-Coder-1.5B-Instruct-q4f16_1-MLC",
model_id: "Qwen2.5-Coder-1.5B-Instruct-q4f16_1-MLC",
model_lib: BA + gA + "/Qwen2-1.5B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !1,
vram_required_MB: 1629.75,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-Coder-1.5B-Instruct-q4f32_1-MLC",
model_id: "Qwen2.5-Coder-1.5B-Instruct-q4f32_1-MLC",
model_lib: BA + gA + "/Qwen2-1.5B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !1,
vram_required_MB: 1888.97,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-Coder-3B-Instruct-q4f16_1-MLC",
model_id: "Qwen2.5-Coder-3B-Instruct-q4f16_1-MLC",
model_lib: BA + gA + "/Qwen2.5-3B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 2504.76,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-Coder-3B-Instruct-q4f32_1-MLC",
model_id: "Qwen2.5-Coder-3B-Instruct-q4f32_1-MLC",
model_lib: BA + gA + "/Qwen2.5-3B-Instruct-q4f32_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !0,
vram_required_MB: 2893.64,
overrides: {
context_window_size: 4096
}
},
{
model: "https://huggingface.co/mlc-ai/Qwen2.5-Coder-7B-Instruct-q4f16_1-MLC",
model_id: "Qwen2.5-Coder-7B-Instruct-q4f16_1-MLC",
model_lib: BA + gA + "/Qwen2-7B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
low_resource_required: !1,
vram_required_MB: 5106.67,
overrides: {
context_window_size: 4096
}