@huggingface/tasks 0.19.4 → 0.19.5

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.
@@ -36,7 +36,13 @@ export declare enum GGMLFileQuantizationType {
36
36
  Q4_0_4_8 = 34,
37
37
  Q4_0_8_8 = 35,
38
38
  TQ1_0 = 36,
39
- TQ2_0 = 37
39
+ TQ2_0 = 37,
40
+ Q2_K_XL = 1000,
41
+ Q3_K_XL = 1001,
42
+ Q4_K_XL = 1002,
43
+ Q5_K_XL = 1003,
44
+ Q6_K_XL = 1004,
45
+ Q8_K_XL = 1005
40
46
  }
41
47
  export declare const GGUF_QUANT_RE: RegExp;
42
48
  export declare const GGUF_QUANT_RE_GLOBAL: RegExp;
@@ -1 +1 @@
1
- {"version":3,"file":"gguf.d.ts","sourceRoot":"","sources":["../../src/gguf.ts"],"names":[],"mappings":"AAGA,oBAAY,wBAAwB;IACnC,GAAG,IAAI;IACP,GAAG,IAAI;IACP,IAAI,IAAI;IACR,IAAI,IAAI;IACR,aAAa,IAAI;IACjB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,KAAK;IACT,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,IAAI,KAAK;IACT,OAAO,KAAK;IACZ,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,OAAO,KAAK;IACZ,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,KAAK;IACV,IAAI,KAAK;IACT,QAAQ,KAAK;IACb,QAAQ,KAAK;IACb,QAAQ,KAAK;IACb,KAAK,KAAK;IACV,KAAK,KAAK;CACV;AAGD,eAAO,MAAM,aAAa,QAAmF,CAAC;AAC9G,eAAO,MAAM,oBAAoB,QAAiC,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrE;AAKD,eAAO,MAAM,gBAAgB,EAAE,wBAAwB,EAmDtD,CAAC;AAIF,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,wBAAwB,EAC/B,eAAe,EAAE,wBAAwB,EAAE,GACzC,wBAAwB,GAAG,SAAS,CAmCtC;AAGD,oBAAY,oBAAoB;IAC/B,GAAG,IAAI;IACP,GAAG,IAAI;IACP,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,OAAO,KAAK;IACZ,MAAM,KAAK;IACX,OAAO,KAAK;IACZ,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,KAAK;IACV,KAAK,KAAK;IACV,MAAM,KAAK;IACX,EAAE,KAAK;IACP,GAAG,KAAK;IACR,GAAG,KAAK;IACR,GAAG,KAAK;IACR,GAAG,KAAK;IACR,KAAK,KAAK;IACV,IAAI,KAAK;IACT,KAAK,KAAK;IACV,KAAK,KAAK;CACV"}
1
+ {"version":3,"file":"gguf.d.ts","sourceRoot":"","sources":["../../src/gguf.ts"],"names":[],"mappings":"AAGA,oBAAY,wBAAwB;IACnC,GAAG,IAAI;IACP,GAAG,IAAI;IACP,IAAI,IAAI;IACR,IAAI,IAAI;IACR,aAAa,IAAI;IACjB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,KAAK;IACT,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,IAAI,KAAK;IACT,OAAO,KAAK;IACZ,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,OAAO,KAAK;IACZ,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,KAAK;IACV,IAAI,KAAK;IACT,QAAQ,KAAK;IACb,QAAQ,KAAK;IACb,QAAQ,KAAK;IACb,KAAK,KAAK;IACV,KAAK,KAAK;IAIV,OAAO,OAAO;IACd,OAAO,OAAO;IACd,OAAO,OAAO;IACd,OAAO,OAAO;IACd,OAAO,OAAO;IACd,OAAO,OAAO;CACd;AAGD,eAAO,MAAM,aAAa,QAAmF,CAAC;AAC9G,eAAO,MAAM,oBAAoB,QAAiC,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrE;AAKD,eAAO,MAAM,gBAAgB,EAAE,wBAAwB,EAyDtD,CAAC;AAIF,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,wBAAwB,EAC/B,eAAe,EAAE,wBAAwB,EAAE,GACzC,wBAAwB,GAAG,SAAS,CAmCtC;AAGD,oBAAY,oBAAoB;IAC/B,GAAG,IAAI;IACP,GAAG,IAAI;IACP,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,OAAO,KAAK;IACZ,MAAM,KAAK;IACX,OAAO,KAAK;IACZ,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,KAAK;IACV,KAAK,KAAK;IACV,MAAM,KAAK;IACX,EAAE,KAAK;IACP,GAAG,KAAK;IACR,GAAG,KAAK;IACR,GAAG,KAAK;IACR,GAAG,KAAK;IACR,KAAK,KAAK;IACV,IAAI,KAAK;IACT,KAAK,KAAK;IACV,KAAK,KAAK;CACV"}
@@ -46,6 +46,14 @@ var GGMLFileQuantizationType;
46
46
  GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_0_8_8"] = 35] = "Q4_0_8_8";
47
47
  GGMLFileQuantizationType[GGMLFileQuantizationType["TQ1_0"] = 36] = "TQ1_0";
48
48
  GGMLFileQuantizationType[GGMLFileQuantizationType["TQ2_0"] = 37] = "TQ2_0";
49
+ // custom quants used by unsloth
50
+ // they are not officially a scheme enum value in GGUF, but only here for naming
51
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q2_K_XL"] = 1000] = "Q2_K_XL";
52
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q3_K_XL"] = 1001] = "Q3_K_XL";
53
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_K_XL"] = 1002] = "Q4_K_XL";
54
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q5_K_XL"] = 1003] = "Q5_K_XL";
55
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q6_K_XL"] = 1004] = "Q6_K_XL";
56
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q8_K_XL"] = 1005] = "Q8_K_XL";
49
57
  })(GGMLFileQuantizationType || (exports.GGMLFileQuantizationType = GGMLFileQuantizationType = {}));
50
58
  const ggufQuants = Object.values(GGMLFileQuantizationType).filter((v) => typeof v === "string");
51
59
  exports.GGUF_QUANT_RE = new RegExp(`(?<quant>${ggufQuants.join("|")})` + "(_(?<sizeVariation>[A-Z]+))?");
@@ -61,15 +69,19 @@ exports.GGUF_QUANT_ORDER = [
61
69
  GGMLFileQuantizationType.F32,
62
70
  GGMLFileQuantizationType.BF16,
63
71
  GGMLFileQuantizationType.F16,
72
+ GGMLFileQuantizationType.Q8_K_XL,
64
73
  GGMLFileQuantizationType.Q8_0,
65
74
  // 6-bit quantizations
75
+ GGMLFileQuantizationType.Q6_K_XL,
66
76
  GGMLFileQuantizationType.Q6_K,
67
77
  // 5-bit quantizations
68
- GGMLFileQuantizationType.Q5_0,
69
- GGMLFileQuantizationType.Q5_1,
78
+ GGMLFileQuantizationType.Q5_K_XL,
70
79
  GGMLFileQuantizationType.Q5_K_M,
71
80
  GGMLFileQuantizationType.Q5_K_S,
81
+ GGMLFileQuantizationType.Q5_0,
82
+ GGMLFileQuantizationType.Q5_1,
72
83
  // 4-bit quantizations
84
+ GGMLFileQuantizationType.Q4_K_XL,
73
85
  GGMLFileQuantizationType.Q4_K_M,
74
86
  GGMLFileQuantizationType.Q4_K_S,
75
87
  GGMLFileQuantizationType.IQ4_NL,
@@ -77,12 +89,13 @@ exports.GGUF_QUANT_ORDER = [
77
89
  GGMLFileQuantizationType.Q4_0_4_4,
78
90
  GGMLFileQuantizationType.Q4_0_4_8,
79
91
  GGMLFileQuantizationType.Q4_0_8_8,
80
- GGMLFileQuantizationType.Q4_0,
81
92
  GGMLFileQuantizationType.Q4_1_SOME_F16,
93
+ GGMLFileQuantizationType.Q4_0,
82
94
  GGMLFileQuantizationType.Q4_1,
83
95
  GGMLFileQuantizationType.Q4_2,
84
96
  GGMLFileQuantizationType.Q4_3,
85
97
  // 3-bit quantizations
98
+ GGMLFileQuantizationType.Q3_K_XL,
86
99
  GGMLFileQuantizationType.Q3_K_L,
87
100
  GGMLFileQuantizationType.Q3_K_M,
88
101
  GGMLFileQuantizationType.Q3_K_S,
@@ -91,6 +104,7 @@ exports.GGUF_QUANT_ORDER = [
91
104
  GGMLFileQuantizationType.IQ3_XS,
92
105
  GGMLFileQuantizationType.IQ3_XXS,
93
106
  // 2-bit quantizations
107
+ GGMLFileQuantizationType.Q2_K_XL,
94
108
  GGMLFileQuantizationType.Q2_K,
95
109
  GGMLFileQuantizationType.Q2_K_S,
96
110
  GGMLFileQuantizationType.IQ2_M,
@@ -87,6 +87,13 @@ export declare const LOCAL_APPS: {
87
87
  displayOnModelPage: (model: ModelData) => boolean;
88
88
  snippet: (model: ModelData) => LocalAppSnippet[];
89
89
  };
90
+ "mlx-lm": {
91
+ prettyLabel: string;
92
+ docsUrl: string;
93
+ mainTask: "text-generation";
94
+ displayOnModelPage: (model: ModelData) => boolean;
95
+ snippet: (model: ModelData) => LocalAppSnippet[];
96
+ };
90
97
  tgi: {
91
98
  prettyLabel: string;
92
99
  docsUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"local-apps.d.ts","sourceRoot":"","sources":["../../src/local-apps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKnD,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;CAClD,GAAG,CACD;IACA;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;CACtD,GACD;IACA;;;;OAIG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,eAAe,GAAG,eAAe,EAAE,CAAC;CACzG,CACH,CAAC;AAqBF,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE7C;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAE5C;AA8KD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU;;;;;;yBAxKS,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBAsCzC,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;oCAqJzD,SAAS;yBA5GX,SAAS,KAAG,eAAe,EAAE;;;;;;;yBAiD9B,SAAS,KAAG,eAAe,EAAE;;;;;;;;;;;;;;yBAxEzB,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAJjD,SAAS,aAAa,MAAM,KAAG,MAAM;;CA4Q/B,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"local-apps.d.ts","sourceRoot":"","sources":["../../src/local-apps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKnD,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;CAClD,GAAG,CACD;IACA;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;CACtD,GACD;IACA;;;;OAIG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,eAAe,GAAG,eAAe,EAAE,CAAC;CACzG,CACH,CAAC;AAqBF,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE7C;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAE5C;AAiND;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU;;;;;;yBA3MS,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBAsCzC,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;oCAwLzD,SAAS;yBA/IX,SAAS,KAAG,eAAe,EAAE;;;;;;;yBA8E5B,SAAS,KAAG,eAAe,EAAE;;;;;;;yBA7B/B,SAAS,KAAG,eAAe,EAAE;;;;;;;;;;;;;;yBAxEzB,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAJjD,SAAS,aAAa,MAAM,KAAG,MAAM;;CAsT/B,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,UAAU,CAAC"}
@@ -185,6 +185,39 @@ const snippetTgi = (model) => {
185
185
  },
186
186
  ];
187
187
  };
188
+ const snippetMlxLm = (model) => {
189
+ const openaiCurl = [
190
+ "# Calling the OpenAI-compatible server with curl",
191
+ `curl -X POST "http://localhost:8000/v1/chat/completions" \\`,
192
+ ` -H "Content-Type: application/json" \\`,
193
+ ` --data '{`,
194
+ ` "model": "${model.id}",`,
195
+ ` "messages": [`,
196
+ ` {"role": "user", "content": "Hello"}`,
197
+ ` ]`,
198
+ ` }'`,
199
+ ];
200
+ return [
201
+ {
202
+ title: "Generate or start a chat session",
203
+ setup: ["# Install MLX LM", "uv tool install mlx-lm"].join("\n"),
204
+ content: [
205
+ ...(model.tags.includes("conversational")
206
+ ? ["# Interactive chat REPL", `mlx_lm.chat --model "${model.id}"`]
207
+ : ["# Generate some text", `mlx_lm.generate --model "${model.id}" --prompt "Once upon a time"`]),
208
+ ].join("\n"),
209
+ },
210
+ ...(model.tags.includes("conversational")
211
+ ? [
212
+ {
213
+ title: "Run an OpenAI-compatible server",
214
+ setup: ["# Install MLX LM", "uv tool install mlx-lm"].join("\n"),
215
+ content: ["# Start the server", `mlx_lm.server --model "${model.id}"`, ...openaiCurl].join("\n"),
216
+ },
217
+ ]
218
+ : []),
219
+ ];
220
+ };
188
221
  /**
189
222
  * Add your new local app here.
190
223
  *
@@ -224,6 +257,13 @@ exports.LOCAL_APPS = {
224
257
  (model.pipeline_tag === "text-generation" || model.pipeline_tag === "image-text-to-text"),
225
258
  snippet: snippetVllm,
226
259
  },
260
+ "mlx-lm": {
261
+ prettyLabel: "MLX LM",
262
+ docsUrl: "https://github.com/ml-explore/mlx-lm",
263
+ mainTask: "text-generation",
264
+ displayOnModelPage: (model) => model.pipeline_tag === "text-generation" && isMlxModel(model),
265
+ snippet: snippetMlxLm,
266
+ },
227
267
  tgi: {
228
268
  prettyLabel: "TGI",
229
269
  docsUrl: "https://huggingface.co/docs/text-generation-inference/",
@@ -1 +1 @@
1
- {"version":3,"file":"model-libraries-snippets.d.ts","sourceRoot":"","sources":["../../src/model-libraries-snippets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-libraries-snippets.d.ts","sourceRoot":"","sources":["../../src/model-libraries-snippets.ts"],"names":[],"mappings":"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"}
@@ -1301,27 +1301,63 @@ model = SwarmFormerModel.from_pretrained("${model.id}")
1301
1301
  ];
1302
1302
  exports.swarmformer = swarmformer;
1303
1303
  const mlx_unknown = (model) => [
1304
- `pip install huggingface_hub hf_transfer
1304
+ `# Download the model from the Hub
1305
+ pip install huggingface_hub hf_transfer
1305
1306
 
1306
1307
  export HF_HUB_ENABLE_HF_TRANSFER=1
1307
1308
  huggingface-cli download --local-dir ${nameWithoutNamespace(model.id)} ${model.id}`,
1308
1309
  ];
1309
1310
  const mlxlm = (model) => [
1310
- `pip install --upgrade mlx-lm
1311
+ `# Make sure mlx-lm is installed
1312
+ pip install --upgrade mlx-lm
1311
1313
 
1312
- mlx_lm.generate --model ${model.id} --prompt "Hello"`,
1314
+ # Generate text with mlx-lm
1315
+ from mlx_lm import load, generate
1316
+
1317
+ model, tokenizer = load("${model.id}")
1318
+
1319
+ prompt = "Once upon a time in"
1320
+ text = generate(model, tokenizer, prompt=prompt, verbose=True)`,
1313
1321
  ];
1314
1322
  const mlxchat = (model) => [
1315
- `pip install --upgrade mlx-lm
1323
+ `# Make sure mlx-lm is installed
1324
+ pip install --upgrade mlx-lm
1325
+
1326
+ # Generate text with mlx-lm
1327
+ from mlx_lm import load, generate
1316
1328
 
1317
- mlx_lm.chat --model ${model.id}`,
1329
+ model, tokenizer = load("${model.id}")
1330
+
1331
+ prompt = "Write a story about Einstein"
1332
+ messages = [{"role": "user", "content": prompt}]
1333
+ prompt = tokenizer.apply_chat_template(
1334
+ messages, add_generation_prompt=True
1335
+ )
1336
+
1337
+ text = generate(model, tokenizer, prompt=prompt, verbose=True)`,
1318
1338
  ];
1319
1339
  const mlxvlm = (model) => [
1320
- `pip install --upgrade mlx-vlm
1340
+ `Make sure mlx-vlm is installed
1341
+ from mlx_vlm import load, generate
1342
+ from mlx_vlm.prompt_utils import apply_chat_template
1343
+ from mlx_vlm.utils import load_config
1344
+
1345
+ # Load the model
1346
+ model, processor = load("${model.id}")
1347
+ config = load_config("${model.id}")
1348
+
1349
+ # Prepare input
1350
+ image = ["http://images.cocodataset.org/val2017/000000039769.jpg"]
1351
+ prompt = "Describe this image."
1352
+
1353
+ # Apply chat template
1354
+ formatted_prompt = apply_chat_template(
1355
+ processor, config, prompt, num_images=1
1356
+ )
1321
1357
 
1322
- mlx_vlm.generate --model ${model.id} \\
1323
- --prompt "Describe this image." \\
1324
- --image "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"`,
1358
+ # Generate output
1359
+ output = generate(model, processor, formatted_prompt, image)
1360
+ print(output)`,
1325
1361
  ];
1326
1362
  const mlxim = (model) => [
1327
1363
  `from mlxim.model import create_model
@@ -1330,11 +1366,11 @@ model = create_model(${model.id})`,
1330
1366
  ];
1331
1367
  exports.mlxim = mlxim;
1332
1368
  const mlx = (model) => {
1333
- if (model.tags.includes("image-text-to-text")) {
1369
+ if (model.pipeline_tag === "image-text-to-text") {
1334
1370
  return mlxvlm(model);
1335
1371
  }
1336
- if (model.tags.includes("conversational")) {
1337
- if (model.config?.tokenizer_config?.chat_template) {
1372
+ if (model.pipeline_tag === "text-generation") {
1373
+ if (model.tags.includes("conversational")) {
1338
1374
  return mlxchat(model);
1339
1375
  }
1340
1376
  else {
@@ -36,7 +36,13 @@ export declare enum GGMLFileQuantizationType {
36
36
  Q4_0_4_8 = 34,
37
37
  Q4_0_8_8 = 35,
38
38
  TQ1_0 = 36,
39
- TQ2_0 = 37
39
+ TQ2_0 = 37,
40
+ Q2_K_XL = 1000,
41
+ Q3_K_XL = 1001,
42
+ Q4_K_XL = 1002,
43
+ Q5_K_XL = 1003,
44
+ Q6_K_XL = 1004,
45
+ Q8_K_XL = 1005
40
46
  }
41
47
  export declare const GGUF_QUANT_RE: RegExp;
42
48
  export declare const GGUF_QUANT_RE_GLOBAL: RegExp;
@@ -1 +1 @@
1
- {"version":3,"file":"gguf.d.ts","sourceRoot":"","sources":["../../src/gguf.ts"],"names":[],"mappings":"AAGA,oBAAY,wBAAwB;IACnC,GAAG,IAAI;IACP,GAAG,IAAI;IACP,IAAI,IAAI;IACR,IAAI,IAAI;IACR,aAAa,IAAI;IACjB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,KAAK;IACT,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,IAAI,KAAK;IACT,OAAO,KAAK;IACZ,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,OAAO,KAAK;IACZ,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,KAAK;IACV,IAAI,KAAK;IACT,QAAQ,KAAK;IACb,QAAQ,KAAK;IACb,QAAQ,KAAK;IACb,KAAK,KAAK;IACV,KAAK,KAAK;CACV;AAGD,eAAO,MAAM,aAAa,QAAmF,CAAC;AAC9G,eAAO,MAAM,oBAAoB,QAAiC,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrE;AAKD,eAAO,MAAM,gBAAgB,EAAE,wBAAwB,EAmDtD,CAAC;AAIF,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,wBAAwB,EAC/B,eAAe,EAAE,wBAAwB,EAAE,GACzC,wBAAwB,GAAG,SAAS,CAmCtC;AAGD,oBAAY,oBAAoB;IAC/B,GAAG,IAAI;IACP,GAAG,IAAI;IACP,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,OAAO,KAAK;IACZ,MAAM,KAAK;IACX,OAAO,KAAK;IACZ,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,KAAK;IACV,KAAK,KAAK;IACV,MAAM,KAAK;IACX,EAAE,KAAK;IACP,GAAG,KAAK;IACR,GAAG,KAAK;IACR,GAAG,KAAK;IACR,GAAG,KAAK;IACR,KAAK,KAAK;IACV,IAAI,KAAK;IACT,KAAK,KAAK;IACV,KAAK,KAAK;CACV"}
1
+ {"version":3,"file":"gguf.d.ts","sourceRoot":"","sources":["../../src/gguf.ts"],"names":[],"mappings":"AAGA,oBAAY,wBAAwB;IACnC,GAAG,IAAI;IACP,GAAG,IAAI;IACP,IAAI,IAAI;IACR,IAAI,IAAI;IACR,aAAa,IAAI;IACjB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,KAAK;IACT,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,IAAI,KAAK;IACT,OAAO,KAAK;IACZ,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,OAAO,KAAK;IACZ,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,KAAK;IACV,IAAI,KAAK;IACT,QAAQ,KAAK;IACb,QAAQ,KAAK;IACb,QAAQ,KAAK;IACb,KAAK,KAAK;IACV,KAAK,KAAK;IAIV,OAAO,OAAO;IACd,OAAO,OAAO;IACd,OAAO,OAAO;IACd,OAAO,OAAO;IACd,OAAO,OAAO;IACd,OAAO,OAAO;CACd;AAGD,eAAO,MAAM,aAAa,QAAmF,CAAC;AAC9G,eAAO,MAAM,oBAAoB,QAAiC,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrE;AAKD,eAAO,MAAM,gBAAgB,EAAE,wBAAwB,EAyDtD,CAAC;AAIF,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,wBAAwB,EAC/B,eAAe,EAAE,wBAAwB,EAAE,GACzC,wBAAwB,GAAG,SAAS,CAmCtC;AAGD,oBAAY,oBAAoB;IAC/B,GAAG,IAAI;IACP,GAAG,IAAI;IACP,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,IAAI,KAAK;IACT,OAAO,KAAK;IACZ,MAAM,KAAK;IACX,OAAO,KAAK;IACZ,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,KAAK;IACV,KAAK,KAAK;IACV,MAAM,KAAK;IACX,EAAE,KAAK;IACP,GAAG,KAAK;IACR,GAAG,KAAK;IACR,GAAG,KAAK;IACR,GAAG,KAAK;IACR,KAAK,KAAK;IACV,IAAI,KAAK;IACT,KAAK,KAAK;IACV,KAAK,KAAK;CACV"}
package/dist/esm/gguf.js CHANGED
@@ -41,6 +41,14 @@ export var GGMLFileQuantizationType;
41
41
  GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_0_8_8"] = 35] = "Q4_0_8_8";
42
42
  GGMLFileQuantizationType[GGMLFileQuantizationType["TQ1_0"] = 36] = "TQ1_0";
43
43
  GGMLFileQuantizationType[GGMLFileQuantizationType["TQ2_0"] = 37] = "TQ2_0";
44
+ // custom quants used by unsloth
45
+ // they are not officially a scheme enum value in GGUF, but only here for naming
46
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q2_K_XL"] = 1000] = "Q2_K_XL";
47
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q3_K_XL"] = 1001] = "Q3_K_XL";
48
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_K_XL"] = 1002] = "Q4_K_XL";
49
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q5_K_XL"] = 1003] = "Q5_K_XL";
50
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q6_K_XL"] = 1004] = "Q6_K_XL";
51
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q8_K_XL"] = 1005] = "Q8_K_XL";
44
52
  })(GGMLFileQuantizationType || (GGMLFileQuantizationType = {}));
45
53
  const ggufQuants = Object.values(GGMLFileQuantizationType).filter((v) => typeof v === "string");
46
54
  export const GGUF_QUANT_RE = new RegExp(`(?<quant>${ggufQuants.join("|")})` + "(_(?<sizeVariation>[A-Z]+))?");
@@ -56,15 +64,19 @@ export const GGUF_QUANT_ORDER = [
56
64
  GGMLFileQuantizationType.F32,
57
65
  GGMLFileQuantizationType.BF16,
58
66
  GGMLFileQuantizationType.F16,
67
+ GGMLFileQuantizationType.Q8_K_XL,
59
68
  GGMLFileQuantizationType.Q8_0,
60
69
  // 6-bit quantizations
70
+ GGMLFileQuantizationType.Q6_K_XL,
61
71
  GGMLFileQuantizationType.Q6_K,
62
72
  // 5-bit quantizations
63
- GGMLFileQuantizationType.Q5_0,
64
- GGMLFileQuantizationType.Q5_1,
73
+ GGMLFileQuantizationType.Q5_K_XL,
65
74
  GGMLFileQuantizationType.Q5_K_M,
66
75
  GGMLFileQuantizationType.Q5_K_S,
76
+ GGMLFileQuantizationType.Q5_0,
77
+ GGMLFileQuantizationType.Q5_1,
67
78
  // 4-bit quantizations
79
+ GGMLFileQuantizationType.Q4_K_XL,
68
80
  GGMLFileQuantizationType.Q4_K_M,
69
81
  GGMLFileQuantizationType.Q4_K_S,
70
82
  GGMLFileQuantizationType.IQ4_NL,
@@ -72,12 +84,13 @@ export const GGUF_QUANT_ORDER = [
72
84
  GGMLFileQuantizationType.Q4_0_4_4,
73
85
  GGMLFileQuantizationType.Q4_0_4_8,
74
86
  GGMLFileQuantizationType.Q4_0_8_8,
75
- GGMLFileQuantizationType.Q4_0,
76
87
  GGMLFileQuantizationType.Q4_1_SOME_F16,
88
+ GGMLFileQuantizationType.Q4_0,
77
89
  GGMLFileQuantizationType.Q4_1,
78
90
  GGMLFileQuantizationType.Q4_2,
79
91
  GGMLFileQuantizationType.Q4_3,
80
92
  // 3-bit quantizations
93
+ GGMLFileQuantizationType.Q3_K_XL,
81
94
  GGMLFileQuantizationType.Q3_K_L,
82
95
  GGMLFileQuantizationType.Q3_K_M,
83
96
  GGMLFileQuantizationType.Q3_K_S,
@@ -86,6 +99,7 @@ export const GGUF_QUANT_ORDER = [
86
99
  GGMLFileQuantizationType.IQ3_XS,
87
100
  GGMLFileQuantizationType.IQ3_XXS,
88
101
  // 2-bit quantizations
102
+ GGMLFileQuantizationType.Q2_K_XL,
89
103
  GGMLFileQuantizationType.Q2_K,
90
104
  GGMLFileQuantizationType.Q2_K_S,
91
105
  GGMLFileQuantizationType.IQ2_M,
@@ -87,6 +87,13 @@ export declare const LOCAL_APPS: {
87
87
  displayOnModelPage: (model: ModelData) => boolean;
88
88
  snippet: (model: ModelData) => LocalAppSnippet[];
89
89
  };
90
+ "mlx-lm": {
91
+ prettyLabel: string;
92
+ docsUrl: string;
93
+ mainTask: "text-generation";
94
+ displayOnModelPage: (model: ModelData) => boolean;
95
+ snippet: (model: ModelData) => LocalAppSnippet[];
96
+ };
90
97
  tgi: {
91
98
  prettyLabel: string;
92
99
  docsUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"local-apps.d.ts","sourceRoot":"","sources":["../../src/local-apps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKnD,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;CAClD,GAAG,CACD;IACA;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;CACtD,GACD;IACA;;;;OAIG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,eAAe,GAAG,eAAe,EAAE,CAAC;CACzG,CACH,CAAC;AAqBF,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE7C;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAE5C;AA8KD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU;;;;;;yBAxKS,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBAsCzC,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;oCAqJzD,SAAS;yBA5GX,SAAS,KAAG,eAAe,EAAE;;;;;;;yBAiD9B,SAAS,KAAG,eAAe,EAAE;;;;;;;;;;;;;;yBAxEzB,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAJjD,SAAS,aAAa,MAAM,KAAG,MAAM;;CA4Q/B,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"local-apps.d.ts","sourceRoot":"","sources":["../../src/local-apps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKnD,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;CAClD,GAAG,CACD;IACA;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;CACtD,GACD;IACA;;;;OAIG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,eAAe,GAAG,eAAe,EAAE,CAAC;CACzG,CACH,CAAC;AAqBF,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE7C;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAE5C;AAiND;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU;;;;;;yBA3MS,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBAsCzC,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;oCAwLzD,SAAS;yBA/IX,SAAS,KAAG,eAAe,EAAE;;;;;;;yBA8E5B,SAAS,KAAG,eAAe,EAAE;;;;;;;yBA7B/B,SAAS,KAAG,eAAe,EAAE;;;;;;;;;;;;;;yBAxEzB,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAJjD,SAAS,aAAa,MAAM,KAAG,MAAM;;CAsT/B,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,UAAU,CAAC"}
@@ -182,6 +182,39 @@ const snippetTgi = (model) => {
182
182
  },
183
183
  ];
184
184
  };
185
+ const snippetMlxLm = (model) => {
186
+ const openaiCurl = [
187
+ "# Calling the OpenAI-compatible server with curl",
188
+ `curl -X POST "http://localhost:8000/v1/chat/completions" \\`,
189
+ ` -H "Content-Type: application/json" \\`,
190
+ ` --data '{`,
191
+ ` "model": "${model.id}",`,
192
+ ` "messages": [`,
193
+ ` {"role": "user", "content": "Hello"}`,
194
+ ` ]`,
195
+ ` }'`,
196
+ ];
197
+ return [
198
+ {
199
+ title: "Generate or start a chat session",
200
+ setup: ["# Install MLX LM", "uv tool install mlx-lm"].join("\n"),
201
+ content: [
202
+ ...(model.tags.includes("conversational")
203
+ ? ["# Interactive chat REPL", `mlx_lm.chat --model "${model.id}"`]
204
+ : ["# Generate some text", `mlx_lm.generate --model "${model.id}" --prompt "Once upon a time"`]),
205
+ ].join("\n"),
206
+ },
207
+ ...(model.tags.includes("conversational")
208
+ ? [
209
+ {
210
+ title: "Run an OpenAI-compatible server",
211
+ setup: ["# Install MLX LM", "uv tool install mlx-lm"].join("\n"),
212
+ content: ["# Start the server", `mlx_lm.server --model "${model.id}"`, ...openaiCurl].join("\n"),
213
+ },
214
+ ]
215
+ : []),
216
+ ];
217
+ };
185
218
  /**
186
219
  * Add your new local app here.
187
220
  *
@@ -221,6 +254,13 @@ export const LOCAL_APPS = {
221
254
  (model.pipeline_tag === "text-generation" || model.pipeline_tag === "image-text-to-text"),
222
255
  snippet: snippetVllm,
223
256
  },
257
+ "mlx-lm": {
258
+ prettyLabel: "MLX LM",
259
+ docsUrl: "https://github.com/ml-explore/mlx-lm",
260
+ mainTask: "text-generation",
261
+ displayOnModelPage: (model) => model.pipeline_tag === "text-generation" && isMlxModel(model),
262
+ snippet: snippetMlxLm,
263
+ },
224
264
  tgi: {
225
265
  prettyLabel: "TGI",
226
266
  docsUrl: "https://huggingface.co/docs/text-generation-inference/",
@@ -1 +1 @@
1
- {"version":3,"file":"model-libraries-snippets.d.ts","sourceRoot":"","sources":["../../src/model-libraries-snippets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAkBjD,eAAO,MAAM,QAAQ,UAAW,SAAS,KAAG,MAAM,EAKjD,CAAC;AAkBF,eAAO,MAAM,QAAQ,UAAW,SAAS,KAAG,MAAM,EAKjD,CAAC;AAEF,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,MAAM,EAIhD,CAAC;AAEF,eAAO,MAAM,QAAQ,UAAW,SAAS,KAAG,MAAM,EAIjD,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,MAAM,EAkBlD,CAAC;AAaF,eAAO,MAAM,IAAI,UAAW,SAAS,KAAG,MAAM,EAY7C,CAAC;AAEF,eAAO,MAAM,QAAQ,UAAW,SAAS,KAAG,MAAM,EAIjD,CAAC;AAEF,eAAO,MAAM,KAAK,UAAW,SAAS,KAAG,MAAM,EAI9C,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,MAAM,EAcvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAW,SAAS,KAAG,MAAM,EA6C1D,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,MAAM,EAwBlD,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,MAAM,EAoBxC,CAAC;AAEF,eAAO,MAAM,GAAG,UAAW,SAAS,KAAG,MAAM,EAS5C,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAW,SAAS,KAAG,MAAM,EAY1D,CAAC;AAuCF,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,MAAM,EAUlD,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,SAAS,KAAG,MAAM,EAwCrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,SAAS,KAAG,MAAM,EAgBzD,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,SAAS,KAAG,MAAM,EAmBrD,CAAC;AAEF,eAAO,MAAM,MAAM,UAAW,SAAS,KAAG,MAAM,EAgB/C,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,MAAM,EAMlD,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,MAAM,EASlD,CAAC;AAIF,eAAO,MAAM,MAAM,UAAW,SAAS,KAAG,MAAM,EAO/C,CAAC;AAEF,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,MAAM,EAMhD,CAAC;AAEF,eAAO,MAAM,KAAK,UAAW,SAAS,KAAG,MAAM,EAI9C,CAAC;AAEF,eAAO,MAAM,MAAM,UAAW,SAAS,KAAG,MAAM,EAI/C,CAAC;AAEF,eAAO,MAAM,QAAQ,UAAW,SAAS,KAAG,MAAM,EAgBjD,CAAC;AAEF,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,MAAM,EAehD,CAAC;AAEF,eAAO,MAAM,KAAK,UAAW,SAAS,KAAG,MAAM,EAS9C,CAAC;AA4EF,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,MAAM,EAsBlD,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,SAAS,KAAG,MAAM,EA+BrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,SAAS,KAAG,MAAM,EA0BzD,CAAC;AAEF,eAAO,MAAM,QAAQ,UAAW,SAAS,KAAG,MAAM,EAOjD,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,MAAM,EAIlD,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,MAAM,EAKlD,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,MAAM,EAKlD,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,MAAM,EAQtC,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,MAAM,EAKlD,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,MAAM,EAsBlD,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAW,SAAS,KAAG,MAAM,EAgB3D,CAAC;AACF,eAAO,MAAM,WAAW,UAAW,SAAS,KAAG,MAAM,EAUpD,CAAC;AAEF,eAAO,MAAM,uBAAuB,UAAW,SAAS,KAAG,MAAM,EAehE,CAAC;AAiBF,eAAO,MAAM,cAAc,UAAW,SAAS,KAAG,MAAM,EAKvD,CAAC;AAEF,eAAO,MAAM,KAAK,UAAW,SAAS,KAAG,MAAM,EAI9C,CAAC;AAyBF,eAAO,MAAM,aAAa,UAAW,SAAS,KAAG,MAAM,EAOtD,CAAC;AAEF,eAAO,MAAM,IAAI,UAAW,SAAS,KAAG,MAAM,EAI7C,CAAC;AAEF,eAAO,MAAM,OAAO,QAA6B,MAAM,EAQtD,CAAC;AAEF,eAAO,MAAM,UAAU,QAAO,MAAM,EAanC,CAAC;AAsCF,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,MAAM,EAehD,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAW,SAAS,KAAG,MAAM,EAmC3D,CAAC;AAEF,eAAO,MAAM,MAAM,UAAW,SAAS,KAAG,MAAM,EAI/C,CAAC;AAEF,eAAO,MAAM,IAAI,UAAW,SAAS,KAAG,MAAM,EA2B7C,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,SAAS,KAAG,MAAM,EAEtD,CAAC;AASF,eAAO,MAAM,oBAAoB,UAAW,SAAS,KAAG,MAAM,EAuC7D,CAAC;AAEF,eAAO,MAAM,MAAM,UAAW,SAAS,KAAG,MAAM,EAI/C,CAAC;AAEF,eAAO,MAAM,KAAK,UAAW,SAAS,KAAG,MAAM,EAU9C,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,SAAS,KAAG,MAAM,EAIpD,CAAC;AAEF,eAAO,MAAM,MAAM,UAAW,SAAS,KAAG,MAAM,EAK/C,CAAC;AAkBF,eAAO,MAAM,WAAW,UAAW,SAAS,KAAG,MAAM,EAkBpD,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,SAAS,KAAG,MAAM,EAInD,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,SAAS,KAAG,MAAM,EA8DrD,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,SAAS,KAAG,MAAM,EAcvD,CAAC;AAiBF,eAAO,MAAM,IAAI,UAAW,SAAS,KAAG,MAAM,EAiB7C,CAAC;AAEF,eAAO,MAAM,QAAQ,UAAW,SAAS,KAAG,MAAM,EAKjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,SAAS,KAAG,MAAM,EAMzD,CAAC;AAgBF,eAAO,MAAM,QAAQ,UAAW,SAAS,KAAG,MAAM,EAEjD,CAAC;AAEF,eAAO,MAAM,MAAM,QAA6B,MAAM,EAMrD,CAAC;AAEF,eAAO,MAAM,IAAI,UAAW,SAAS,KAAG,MAAM,EAkB7C,CAAC;AAEF,eAAO,MAAM,QAAQ,UAAW,SAAS,KAAG,MAAM,EAIjD,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,SAAS,KAAG,MAAM,EAInD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAO,MAAM,EAYhC,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,SAAS,KAAG,MAAM,EAiBpD,CAAC;AAEF,eAAO,MAAM,QAAQ,UAAW,SAAS,KAAG,MAAM,EAYjD,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,SAAS,KAAG,MAAM,EAKpD,CAAC;AA6BF,eAAO,MAAM,KAAK,UAAW,SAAS,KAAG,MAAM,EAI9C,CAAC;AAEF,eAAO,MAAM,GAAG,UAAW,SAAS,KAAG,MAAM,EAY5C,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,MAAM,EAIlD,CAAC;AAEF,eAAO,MAAM,IAAI,UAAW,SAAS,KAAG,MAAM,EAQ7C,CAAC;AAEF,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,MAAM,EAuBhD,CAAC;AAEF,eAAO,MAAM,IAAI,UAAW,SAAS,KAAG,MAAM,EAI7C,CAAC;AAEF,eAAO,MAAM,MAAM,UAAW,SAAS,KAAG,MAAM,EAI/C,CAAC;AA4BF,eAAO,MAAM,MAAM,UAAW,SAAS,KAAG,MAAM,EAO/C,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,SAAS,KAAG,MAAM,EAUnD,CAAC;AAEF,eAAO,MAAM,UAAU,QAAO,MAAM,EAYnC,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,SAAS,KAAG,MAAM,EAKvD,CAAC;AAEF,eAAO,MAAM,KAAK,UAAW,SAAS,KAAG,MAAM,EAI9C,CAAC;AAEF,eAAO,MAAM,KAAK,UAAW,SAAS,KAAG,MAAM,EAiB9C,CAAC"}
1
+ {"version":3,"file":"model-libraries-snippets.d.ts","sourceRoot":"","sources":["../../src/model-libraries-snippets.ts"],"names":[],"mappings":"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"}
@@ -1224,27 +1224,63 @@ model = SwarmFormerModel.from_pretrained("${model.id}")
1224
1224
  `,
1225
1225
  ];
1226
1226
  const mlx_unknown = (model) => [
1227
- `pip install huggingface_hub hf_transfer
1227
+ `# Download the model from the Hub
1228
+ pip install huggingface_hub hf_transfer
1228
1229
 
1229
1230
  export HF_HUB_ENABLE_HF_TRANSFER=1
1230
1231
  huggingface-cli download --local-dir ${nameWithoutNamespace(model.id)} ${model.id}`,
1231
1232
  ];
1232
1233
  const mlxlm = (model) => [
1233
- `pip install --upgrade mlx-lm
1234
+ `# Make sure mlx-lm is installed
1235
+ pip install --upgrade mlx-lm
1234
1236
 
1235
- mlx_lm.generate --model ${model.id} --prompt "Hello"`,
1237
+ # Generate text with mlx-lm
1238
+ from mlx_lm import load, generate
1239
+
1240
+ model, tokenizer = load("${model.id}")
1241
+
1242
+ prompt = "Once upon a time in"
1243
+ text = generate(model, tokenizer, prompt=prompt, verbose=True)`,
1236
1244
  ];
1237
1245
  const mlxchat = (model) => [
1238
- `pip install --upgrade mlx-lm
1246
+ `# Make sure mlx-lm is installed
1247
+ pip install --upgrade mlx-lm
1248
+
1249
+ # Generate text with mlx-lm
1250
+ from mlx_lm import load, generate
1239
1251
 
1240
- mlx_lm.chat --model ${model.id}`,
1252
+ model, tokenizer = load("${model.id}")
1253
+
1254
+ prompt = "Write a story about Einstein"
1255
+ messages = [{"role": "user", "content": prompt}]
1256
+ prompt = tokenizer.apply_chat_template(
1257
+ messages, add_generation_prompt=True
1258
+ )
1259
+
1260
+ text = generate(model, tokenizer, prompt=prompt, verbose=True)`,
1241
1261
  ];
1242
1262
  const mlxvlm = (model) => [
1243
- `pip install --upgrade mlx-vlm
1263
+ `Make sure mlx-vlm is installed
1264
+ from mlx_vlm import load, generate
1265
+ from mlx_vlm.prompt_utils import apply_chat_template
1266
+ from mlx_vlm.utils import load_config
1267
+
1268
+ # Load the model
1269
+ model, processor = load("${model.id}")
1270
+ config = load_config("${model.id}")
1271
+
1272
+ # Prepare input
1273
+ image = ["http://images.cocodataset.org/val2017/000000039769.jpg"]
1274
+ prompt = "Describe this image."
1275
+
1276
+ # Apply chat template
1277
+ formatted_prompt = apply_chat_template(
1278
+ processor, config, prompt, num_images=1
1279
+ )
1244
1280
 
1245
- mlx_vlm.generate --model ${model.id} \\
1246
- --prompt "Describe this image." \\
1247
- --image "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"`,
1281
+ # Generate output
1282
+ output = generate(model, processor, formatted_prompt, image)
1283
+ print(output)`,
1248
1284
  ];
1249
1285
  export const mlxim = (model) => [
1250
1286
  `from mlxim.model import create_model
@@ -1252,11 +1288,11 @@ export const mlxim = (model) => [
1252
1288
  model = create_model(${model.id})`,
1253
1289
  ];
1254
1290
  export const mlx = (model) => {
1255
- if (model.tags.includes("image-text-to-text")) {
1291
+ if (model.pipeline_tag === "image-text-to-text") {
1256
1292
  return mlxvlm(model);
1257
1293
  }
1258
- if (model.tags.includes("conversational")) {
1259
- if (model.config?.tokenizer_config?.chat_template) {
1294
+ if (model.pipeline_tag === "text-generation") {
1295
+ if (model.tags.includes("conversational")) {
1260
1296
  return mlxchat(model);
1261
1297
  }
1262
1298
  else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huggingface/tasks",
3
- "version": "0.19.4",
3
+ "version": "0.19.5",
4
4
  "description": "List of ML tasks for huggingface.co/tasks",
5
5
  "repository": "https://github.com/huggingface/huggingface.js.git",
6
6
  "publishConfig": {
package/src/gguf.ts CHANGED
@@ -40,6 +40,15 @@ export enum GGMLFileQuantizationType {
40
40
  Q4_0_8_8 = 35,
41
41
  TQ1_0 = 36,
42
42
  TQ2_0 = 37,
43
+
44
+ // custom quants used by unsloth
45
+ // they are not officially a scheme enum value in GGUF, but only here for naming
46
+ Q2_K_XL = 1000,
47
+ Q3_K_XL = 1001,
48
+ Q4_K_XL = 1002,
49
+ Q5_K_XL = 1003,
50
+ Q6_K_XL = 1004,
51
+ Q8_K_XL = 1005,
43
52
  }
44
53
 
45
54
  const ggufQuants = Object.values(GGMLFileQuantizationType).filter((v): v is string => typeof v === "string");
@@ -58,18 +67,22 @@ export const GGUF_QUANT_ORDER: GGMLFileQuantizationType[] = [
58
67
  GGMLFileQuantizationType.F32,
59
68
  GGMLFileQuantizationType.BF16,
60
69
  GGMLFileQuantizationType.F16,
70
+ GGMLFileQuantizationType.Q8_K_XL,
61
71
  GGMLFileQuantizationType.Q8_0,
62
72
 
63
73
  // 6-bit quantizations
74
+ GGMLFileQuantizationType.Q6_K_XL,
64
75
  GGMLFileQuantizationType.Q6_K,
65
76
 
66
77
  // 5-bit quantizations
67
- GGMLFileQuantizationType.Q5_0,
68
- GGMLFileQuantizationType.Q5_1,
78
+ GGMLFileQuantizationType.Q5_K_XL,
69
79
  GGMLFileQuantizationType.Q5_K_M,
70
80
  GGMLFileQuantizationType.Q5_K_S,
81
+ GGMLFileQuantizationType.Q5_0,
82
+ GGMLFileQuantizationType.Q5_1,
71
83
 
72
84
  // 4-bit quantizations
85
+ GGMLFileQuantizationType.Q4_K_XL,
73
86
  GGMLFileQuantizationType.Q4_K_M,
74
87
  GGMLFileQuantizationType.Q4_K_S,
75
88
  GGMLFileQuantizationType.IQ4_NL,
@@ -77,13 +90,14 @@ export const GGUF_QUANT_ORDER: GGMLFileQuantizationType[] = [
77
90
  GGMLFileQuantizationType.Q4_0_4_4,
78
91
  GGMLFileQuantizationType.Q4_0_4_8,
79
92
  GGMLFileQuantizationType.Q4_0_8_8,
80
- GGMLFileQuantizationType.Q4_0,
81
93
  GGMLFileQuantizationType.Q4_1_SOME_F16,
94
+ GGMLFileQuantizationType.Q4_0,
82
95
  GGMLFileQuantizationType.Q4_1,
83
96
  GGMLFileQuantizationType.Q4_2,
84
97
  GGMLFileQuantizationType.Q4_3,
85
98
 
86
99
  // 3-bit quantizations
100
+ GGMLFileQuantizationType.Q3_K_XL,
87
101
  GGMLFileQuantizationType.Q3_K_L,
88
102
  GGMLFileQuantizationType.Q3_K_M,
89
103
  GGMLFileQuantizationType.Q3_K_S,
@@ -93,6 +107,7 @@ export const GGUF_QUANT_ORDER: GGMLFileQuantizationType[] = [
93
107
  GGMLFileQuantizationType.IQ3_XXS,
94
108
 
95
109
  // 2-bit quantizations
110
+ GGMLFileQuantizationType.Q2_K_XL,
96
111
  GGMLFileQuantizationType.Q2_K,
97
112
  GGMLFileQuantizationType.Q2_K_S,
98
113
  GGMLFileQuantizationType.IQ2_M,
package/src/local-apps.ts CHANGED
@@ -262,6 +262,41 @@ const snippetTgi = (model: ModelData): LocalAppSnippet[] => {
262
262
  ];
263
263
  };
264
264
 
265
+ const snippetMlxLm = (model: ModelData): LocalAppSnippet[] => {
266
+ const openaiCurl = [
267
+ "# Calling the OpenAI-compatible server with curl",
268
+ `curl -X POST "http://localhost:8000/v1/chat/completions" \\`,
269
+ ` -H "Content-Type: application/json" \\`,
270
+ ` --data '{`,
271
+ ` "model": "${model.id}",`,
272
+ ` "messages": [`,
273
+ ` {"role": "user", "content": "Hello"}`,
274
+ ` ]`,
275
+ ` }'`,
276
+ ];
277
+
278
+ return [
279
+ {
280
+ title: "Generate or start a chat session",
281
+ setup: ["# Install MLX LM", "uv tool install mlx-lm"].join("\n"),
282
+ content: [
283
+ ...(model.tags.includes("conversational")
284
+ ? ["# Interactive chat REPL", `mlx_lm.chat --model "${model.id}"`]
285
+ : ["# Generate some text", `mlx_lm.generate --model "${model.id}" --prompt "Once upon a time"`]),
286
+ ].join("\n"),
287
+ },
288
+ ...(model.tags.includes("conversational")
289
+ ? [
290
+ {
291
+ title: "Run an OpenAI-compatible server",
292
+ setup: ["# Install MLX LM", "uv tool install mlx-lm"].join("\n"),
293
+ content: ["# Start the server", `mlx_lm.server --model "${model.id}"`, ...openaiCurl].join("\n"),
294
+ },
295
+ ]
296
+ : []),
297
+ ];
298
+ };
299
+
265
300
  /**
266
301
  * Add your new local app here.
267
302
  *
@@ -302,6 +337,13 @@ export const LOCAL_APPS = {
302
337
  (model.pipeline_tag === "text-generation" || model.pipeline_tag === "image-text-to-text"),
303
338
  snippet: snippetVllm,
304
339
  },
340
+ "mlx-lm": {
341
+ prettyLabel: "MLX LM",
342
+ docsUrl: "https://github.com/ml-explore/mlx-lm",
343
+ mainTask: "text-generation",
344
+ displayOnModelPage: (model) => model.pipeline_tag === "text-generation" && isMlxModel(model),
345
+ snippet: snippetMlxLm,
346
+ },
305
347
  tgi: {
306
348
  prettyLabel: "TGI",
307
349
  docsUrl: "https://huggingface.co/docs/text-generation-inference/",
@@ -1353,30 +1353,66 @@ model = SwarmFormerModel.from_pretrained("${model.id}")
1353
1353
  ];
1354
1354
 
1355
1355
  const mlx_unknown = (model: ModelData): string[] => [
1356
- `pip install huggingface_hub hf_transfer
1356
+ `# Download the model from the Hub
1357
+ pip install huggingface_hub hf_transfer
1357
1358
 
1358
1359
  export HF_HUB_ENABLE_HF_TRANSFER=1
1359
1360
  huggingface-cli download --local-dir ${nameWithoutNamespace(model.id)} ${model.id}`,
1360
1361
  ];
1361
1362
 
1362
1363
  const mlxlm = (model: ModelData): string[] => [
1363
- `pip install --upgrade mlx-lm
1364
+ `# Make sure mlx-lm is installed
1365
+ pip install --upgrade mlx-lm
1364
1366
 
1365
- mlx_lm.generate --model ${model.id} --prompt "Hello"`,
1367
+ # Generate text with mlx-lm
1368
+ from mlx_lm import load, generate
1369
+
1370
+ model, tokenizer = load("${model.id}")
1371
+
1372
+ prompt = "Once upon a time in"
1373
+ text = generate(model, tokenizer, prompt=prompt, verbose=True)`,
1366
1374
  ];
1367
1375
 
1368
1376
  const mlxchat = (model: ModelData): string[] => [
1369
- `pip install --upgrade mlx-lm
1377
+ `# Make sure mlx-lm is installed
1378
+ pip install --upgrade mlx-lm
1379
+
1380
+ # Generate text with mlx-lm
1381
+ from mlx_lm import load, generate
1370
1382
 
1371
- mlx_lm.chat --model ${model.id}`,
1383
+ model, tokenizer = load("${model.id}")
1384
+
1385
+ prompt = "Write a story about Einstein"
1386
+ messages = [{"role": "user", "content": prompt}]
1387
+ prompt = tokenizer.apply_chat_template(
1388
+ messages, add_generation_prompt=True
1389
+ )
1390
+
1391
+ text = generate(model, tokenizer, prompt=prompt, verbose=True)`,
1372
1392
  ];
1373
1393
 
1374
1394
  const mlxvlm = (model: ModelData): string[] => [
1375
- `pip install --upgrade mlx-vlm
1395
+ `Make sure mlx-vlm is installed
1396
+ from mlx_vlm import load, generate
1397
+ from mlx_vlm.prompt_utils import apply_chat_template
1398
+ from mlx_vlm.utils import load_config
1399
+
1400
+ # Load the model
1401
+ model, processor = load("${model.id}")
1402
+ config = load_config("${model.id}")
1403
+
1404
+ # Prepare input
1405
+ image = ["http://images.cocodataset.org/val2017/000000039769.jpg"]
1406
+ prompt = "Describe this image."
1407
+
1408
+ # Apply chat template
1409
+ formatted_prompt = apply_chat_template(
1410
+ processor, config, prompt, num_images=1
1411
+ )
1376
1412
 
1377
- mlx_vlm.generate --model ${model.id} \\
1378
- --prompt "Describe this image." \\
1379
- --image "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"`,
1413
+ # Generate output
1414
+ output = generate(model, processor, formatted_prompt, image)
1415
+ print(output)`,
1380
1416
  ];
1381
1417
 
1382
1418
  export const mlxim = (model: ModelData): string[] => [
@@ -1386,11 +1422,11 @@ model = create_model(${model.id})`,
1386
1422
  ];
1387
1423
 
1388
1424
  export const mlx = (model: ModelData): string[] => {
1389
- if (model.tags.includes("image-text-to-text")) {
1425
+ if (model.pipeline_tag === "image-text-to-text") {
1390
1426
  return mlxvlm(model);
1391
1427
  }
1392
- if (model.tags.includes("conversational")) {
1393
- if (model.config?.tokenizer_config?.chat_template) {
1428
+ if (model.pipeline_tag === "text-generation") {
1429
+ if (model.tags.includes("conversational")) {
1394
1430
  return mlxchat(model);
1395
1431
  } else {
1396
1432
  return mlxlm(model);