@huggingface/tasks 0.20.13 → 0.20.14

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.
@@ -2,6 +2,11 @@
2
2
  * List of supported Evaluation Frameworks supported in the `eval.yaml` file in benchmarks datasets.
3
3
  */
4
4
  export declare const EVALUATION_FRAMEWORKS: {
5
+ readonly exgentic: {
6
+ readonly name: "exgentic";
7
+ readonly description: "Exgentic is an open evaluation framework for general-purpose AI agents across diverse domains and benchmarks.";
8
+ readonly url: "https://github.com/Exgentic/exgentic";
9
+ };
5
10
  readonly "inspect-ai": {
6
11
  readonly name: "inspect-ai";
7
12
  readonly description: "Inspect AI is an open-source framework for large language model evaluations.";
@@ -67,5 +72,10 @@ export declare const EVALUATION_FRAMEWORKS: {
67
72
  readonly description: "The Open ASR Leaderboard ranks and evaluates speech recognition models.";
68
73
  readonly url: "https://github.com/huggingface/open_asr_leaderboard";
69
74
  };
75
+ readonly mdpbench: {
76
+ readonly name: "mdpbench";
77
+ readonly description: "MDPBench is a benchmark for evaluating multilingual document parsing across digital, photographed, Latin, and non-Latin document subsets.";
78
+ readonly url: "https://github.com/Yuliang-Liu/MultimodalOCR";
79
+ };
70
80
  };
71
81
  //# sourceMappingURL=eval.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/eval.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsExB,CAAC"}
1
+ {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/eval.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFxB,CAAC"}
@@ -5,6 +5,11 @@ exports.EVALUATION_FRAMEWORKS = void 0;
5
5
  * List of supported Evaluation Frameworks supported in the `eval.yaml` file in benchmarks datasets.
6
6
  */
7
7
  exports.EVALUATION_FRAMEWORKS = {
8
+ exgentic: {
9
+ name: "exgentic",
10
+ description: "Exgentic is an open evaluation framework for general-purpose AI agents across diverse domains and benchmarks.",
11
+ url: "https://github.com/Exgentic/exgentic",
12
+ },
8
13
  "inspect-ai": {
9
14
  name: "inspect-ai",
10
15
  description: "Inspect AI is an open-source framework for large language model evaluations.",
@@ -70,4 +75,9 @@ exports.EVALUATION_FRAMEWORKS = {
70
75
  description: "The Open ASR Leaderboard ranks and evaluates speech recognition models.",
71
76
  url: "https://github.com/huggingface/open_asr_leaderboard",
72
77
  },
78
+ mdpbench: {
79
+ name: "mdpbench",
80
+ description: "MDPBench is a benchmark for evaluating multilingual document parsing across digital, photographed, Latin, and non-Latin document subsets.",
81
+ url: "https://github.com/Yuliang-Liu/MultimodalOCR",
82
+ },
73
83
  };
@@ -132,6 +132,13 @@ export declare const LOCAL_APPS: {
132
132
  displayOnModelPage: typeof isLlamaCppGgufModel;
133
133
  deeplink: (model: ModelData) => URL;
134
134
  };
135
+ "atomic-chat": {
136
+ prettyLabel: string;
137
+ docsUrl: string;
138
+ mainTask: "text-generation";
139
+ displayOnModelPage: typeof isLlamaCppGgufModel;
140
+ deeplink: (model: ModelData) => URL;
141
+ };
135
142
  backyard: {
136
143
  prettyLabel: string;
137
144
  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;AAsBF,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE7C;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAE5C;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAU9C;AAED,iBAAS,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE3D;AA0BD,iBAAS,cAAc,CAAC,KAAK,EAAE,SAAS,WAEvC;AAqaD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU;;;;;;yBAnaS,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBAiDzC,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBA2F3D,SAAS,KAAG,eAAe,EAAE;;;;;;oCAiT3B,SAAS;yBA3PT,SAAS,KAAG,eAAe,EAAE;;;;;;;yBAoF9B,SAAS,KAAG,eAAe,EAAE;;;;;;;yBA7B/B,SAAS,KAAG,eAAe,EAAE;;;;;;;;;;;;;;yBApIzB,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAtDjD,SAAS,aAAa,MAAM,KAAG,MAAM;;;;;;;yBAIpC,SAAS,KAAG,eAAe,EAAE;;;;;;;yBAqSnB,SAAS,aAAa,MAAM,KAAG,MAAM;;;;;;;yBAM9C,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBArDtD,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;CAuStC,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;AAsBF,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE7C;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAE5C;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAU9C;AAED,iBAAS,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE3D;AA0BD,iBAAS,cAAc,CAAC,KAAK,EAAE,SAAS,WAEvC;AAiaD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU;;;;;;yBA/ZS,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBAiDzC,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBA2F3D,SAAS,KAAG,eAAe,EAAE;;;;;;oCA6S3B,SAAS;yBAvPT,SAAS,KAAG,eAAe,EAAE;;;;;;;yBAoF9B,SAAS,KAAG,eAAe,EAAE;;;;;;;yBA7B/B,SAAS,KAAG,eAAe,EAAE;;;;;;;;;;;;;;yBApIzB,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAtDjD,SAAS,aAAa,MAAM,KAAG,MAAM;;;;;;;yBAIpC,SAAS,KAAG,eAAe,EAAE;;;;;;;yBAqSnB,SAAS,aAAa,MAAM,KAAG,MAAM;;;;;;;yBAM9C,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBArDtD,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;CA0StC,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,UAAU,CAAC"}
@@ -402,42 +402,38 @@ const snippetDockerModelRunner = (model, filepath) => {
402
402
  return `docker model run hf.co/${model.id}${quantTag}`;
403
403
  };
404
404
  const snippetLemonade = (model, filepath) => {
405
- const tagName = getQuantTag(filepath);
406
405
  const modelName = model.id.includes("/") ? model.id.split("/")[1] : model.id;
407
- // Get recipe according to model type
408
- let simplifiedModelName;
409
- let recipe;
410
- let checkpoint;
406
+ const isRyzenAI = model.tags.some((tag) => ["ryzenai-npu", "ryzenai-hybrid"].includes(tag));
407
+ // Lemonade auto-registers pulled models as `user.<suggested_name>[-<variant>]`.
408
+ // For GGUF/llamacpp: suggested_name is the repo name and variant is the quant tag.
409
+ // For RyzenAI ONNX: there is no per-variant suffix.
410
+ let pullArg;
411
+ let runName;
411
412
  let requirements;
412
- if (model.tags.some((tag) => ["ryzenai-npu", "ryzenai-hybrid"].includes(tag))) {
413
- recipe = model.tags.includes("ryzenai-npu") ? "oga-npu" : "oga-hybrid";
414
- checkpoint = model.id;
415
- requirements = " (requires RyzenAI 300 series)";
416
- simplifiedModelName = modelName.split("-awq-")[0];
417
- simplifiedModelName += recipe === "oga-npu" ? "-NPU" : "-Hybrid";
413
+ if (isRyzenAI) {
414
+ pullArg = model.id;
415
+ runName = `user.${modelName}`;
416
+ requirements = " (requires XDNA 2 NPU)";
418
417
  }
419
418
  else {
420
- recipe = "llamacpp";
421
- checkpoint = `${model.id}${tagName}`;
419
+ const tagName = getQuantTag(filepath);
420
+ pullArg = `${model.id}${tagName}`;
421
+ runName = `user.${modelName}${tagName.replace(":", "-")}`;
422
422
  requirements = "";
423
- simplifiedModelName = modelName;
424
423
  }
425
424
  return [
426
425
  {
427
426
  title: "Pull the model",
428
427
  setup: "# Download Lemonade from https://lemonade-server.ai/",
429
- content: [
430
- `lemonade-server pull user.${simplifiedModelName} --checkpoint ${checkpoint} --recipe ${recipe}`,
431
- "# Note: If you installed from source, use the lemonade-server-dev command instead.",
432
- ].join("\n"),
428
+ content: `lemonade pull ${pullArg}`,
433
429
  },
434
430
  {
435
431
  title: `Run and chat with the model${requirements}`,
436
- content: `lemonade-server run user.${simplifiedModelName}`,
432
+ content: `lemonade run ${runName}`,
437
433
  },
438
434
  {
439
435
  title: "List all available models",
440
- content: "lemonade-server list",
436
+ content: "lemonade list",
441
437
  },
442
438
  ];
443
439
  };
@@ -521,6 +517,13 @@ exports.LOCAL_APPS = {
521
517
  displayOnModelPage: isLlamaCppGgufModel,
522
518
  deeplink: (model) => new URL(`jan://models/huggingface/${model.id}`),
523
519
  },
520
+ "atomic-chat": {
521
+ prettyLabel: "Atomic Chat",
522
+ docsUrl: "https://atomic.chat",
523
+ mainTask: "text-generation",
524
+ displayOnModelPage: isLlamaCppGgufModel,
525
+ deeplink: (model) => new URL(`atomic-chat://models/huggingface/${model.id}`),
526
+ },
524
527
  backyard: {
525
528
  prettyLabel: "Backyard AI",
526
529
  docsUrl: "https://backyard.ai",
@@ -158,6 +158,17 @@ curl -X POST "http://localhost:8000/v1/chat/completions" \\
158
158
  const snippet = snippetFunc(model);
159
159
  (0, vitest_1.expect)(snippet).toEqual(`docker model run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:{{QUANT_TAG}}`);
160
160
  });
161
+ (0, vitest_1.it)("atomic chat deeplink", async () => {
162
+ const { displayOnModelPage, deeplink } = local_apps_js_1.LOCAL_APPS["atomic-chat"];
163
+ const model = {
164
+ id: "bartowski/Llama-3.2-3B-Instruct-GGUF",
165
+ tags: ["conversational"],
166
+ gguf: { total: 1, context_length: 4096 },
167
+ inference: "",
168
+ };
169
+ (0, vitest_1.expect)(displayOnModelPage(model)).toBe(true);
170
+ (0, vitest_1.expect)(deeplink(model).href).toBe("atomic-chat://models/huggingface/bartowski/Llama-3.2-3B-Instruct-GGUF");
171
+ });
161
172
  (0, vitest_1.it)("unsloth tagged model", async () => {
162
173
  const { displayOnModelPage, snippet: snippetFunc } = local_apps_js_1.LOCAL_APPS.unsloth;
163
174
  const model = {
@@ -2,6 +2,11 @@
2
2
  * List of supported Evaluation Frameworks supported in the `eval.yaml` file in benchmarks datasets.
3
3
  */
4
4
  export declare const EVALUATION_FRAMEWORKS: {
5
+ readonly exgentic: {
6
+ readonly name: "exgentic";
7
+ readonly description: "Exgentic is an open evaluation framework for general-purpose AI agents across diverse domains and benchmarks.";
8
+ readonly url: "https://github.com/Exgentic/exgentic";
9
+ };
5
10
  readonly "inspect-ai": {
6
11
  readonly name: "inspect-ai";
7
12
  readonly description: "Inspect AI is an open-source framework for large language model evaluations.";
@@ -67,5 +72,10 @@ export declare const EVALUATION_FRAMEWORKS: {
67
72
  readonly description: "The Open ASR Leaderboard ranks and evaluates speech recognition models.";
68
73
  readonly url: "https://github.com/huggingface/open_asr_leaderboard";
69
74
  };
75
+ readonly mdpbench: {
76
+ readonly name: "mdpbench";
77
+ readonly description: "MDPBench is a benchmark for evaluating multilingual document parsing across digital, photographed, Latin, and non-Latin document subsets.";
78
+ readonly url: "https://github.com/Yuliang-Liu/MultimodalOCR";
79
+ };
70
80
  };
71
81
  //# sourceMappingURL=eval.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/eval.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsExB,CAAC"}
1
+ {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/eval.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFxB,CAAC"}
package/dist/esm/eval.js CHANGED
@@ -2,6 +2,11 @@
2
2
  * List of supported Evaluation Frameworks supported in the `eval.yaml` file in benchmarks datasets.
3
3
  */
4
4
  export const EVALUATION_FRAMEWORKS = {
5
+ exgentic: {
6
+ name: "exgentic",
7
+ description: "Exgentic is an open evaluation framework for general-purpose AI agents across diverse domains and benchmarks.",
8
+ url: "https://github.com/Exgentic/exgentic",
9
+ },
5
10
  "inspect-ai": {
6
11
  name: "inspect-ai",
7
12
  description: "Inspect AI is an open-source framework for large language model evaluations.",
@@ -67,4 +72,9 @@ export const EVALUATION_FRAMEWORKS = {
67
72
  description: "The Open ASR Leaderboard ranks and evaluates speech recognition models.",
68
73
  url: "https://github.com/huggingface/open_asr_leaderboard",
69
74
  },
75
+ mdpbench: {
76
+ name: "mdpbench",
77
+ description: "MDPBench is a benchmark for evaluating multilingual document parsing across digital, photographed, Latin, and non-Latin document subsets.",
78
+ url: "https://github.com/Yuliang-Liu/MultimodalOCR",
79
+ },
70
80
  };
@@ -132,6 +132,13 @@ export declare const LOCAL_APPS: {
132
132
  displayOnModelPage: typeof isLlamaCppGgufModel;
133
133
  deeplink: (model: ModelData) => URL;
134
134
  };
135
+ "atomic-chat": {
136
+ prettyLabel: string;
137
+ docsUrl: string;
138
+ mainTask: "text-generation";
139
+ displayOnModelPage: typeof isLlamaCppGgufModel;
140
+ deeplink: (model: ModelData) => URL;
141
+ };
135
142
  backyard: {
136
143
  prettyLabel: string;
137
144
  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;AAsBF,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE7C;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAE5C;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAU9C;AAED,iBAAS,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE3D;AA0BD,iBAAS,cAAc,CAAC,KAAK,EAAE,SAAS,WAEvC;AAqaD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU;;;;;;yBAnaS,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBAiDzC,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBA2F3D,SAAS,KAAG,eAAe,EAAE;;;;;;oCAiT3B,SAAS;yBA3PT,SAAS,KAAG,eAAe,EAAE;;;;;;;yBAoF9B,SAAS,KAAG,eAAe,EAAE;;;;;;;yBA7B/B,SAAS,KAAG,eAAe,EAAE;;;;;;;;;;;;;;yBApIzB,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAtDjD,SAAS,aAAa,MAAM,KAAG,MAAM;;;;;;;yBAIpC,SAAS,KAAG,eAAe,EAAE;;;;;;;yBAqSnB,SAAS,aAAa,MAAM,KAAG,MAAM;;;;;;;yBAM9C,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBArDtD,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;CAuStC,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;AAsBF,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE7C;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAE5C;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAU9C;AAED,iBAAS,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE3D;AA0BD,iBAAS,cAAc,CAAC,KAAK,EAAE,SAAS,WAEvC;AAiaD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU;;;;;;yBA/ZS,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBAiDzC,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBA2F3D,SAAS,KAAG,eAAe,EAAE;;;;;;oCA6S3B,SAAS;yBAvPT,SAAS,KAAG,eAAe,EAAE;;;;;;;yBAoF9B,SAAS,KAAG,eAAe,EAAE;;;;;;;yBA7B/B,SAAS,KAAG,eAAe,EAAE;;;;;;;;;;;;;;yBApIzB,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAtDjD,SAAS,aAAa,MAAM,KAAG,MAAM;;;;;;;yBAIpC,SAAS,KAAG,eAAe,EAAE;;;;;;;yBAqSnB,SAAS,aAAa,MAAM,KAAG,MAAM;;;;;;;yBAM9C,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBArDtD,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;CA0StC,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,UAAU,CAAC"}
@@ -399,42 +399,38 @@ const snippetDockerModelRunner = (model, filepath) => {
399
399
  return `docker model run hf.co/${model.id}${quantTag}`;
400
400
  };
401
401
  const snippetLemonade = (model, filepath) => {
402
- const tagName = getQuantTag(filepath);
403
402
  const modelName = model.id.includes("/") ? model.id.split("/")[1] : model.id;
404
- // Get recipe according to model type
405
- let simplifiedModelName;
406
- let recipe;
407
- let checkpoint;
403
+ const isRyzenAI = model.tags.some((tag) => ["ryzenai-npu", "ryzenai-hybrid"].includes(tag));
404
+ // Lemonade auto-registers pulled models as `user.<suggested_name>[-<variant>]`.
405
+ // For GGUF/llamacpp: suggested_name is the repo name and variant is the quant tag.
406
+ // For RyzenAI ONNX: there is no per-variant suffix.
407
+ let pullArg;
408
+ let runName;
408
409
  let requirements;
409
- if (model.tags.some((tag) => ["ryzenai-npu", "ryzenai-hybrid"].includes(tag))) {
410
- recipe = model.tags.includes("ryzenai-npu") ? "oga-npu" : "oga-hybrid";
411
- checkpoint = model.id;
412
- requirements = " (requires RyzenAI 300 series)";
413
- simplifiedModelName = modelName.split("-awq-")[0];
414
- simplifiedModelName += recipe === "oga-npu" ? "-NPU" : "-Hybrid";
410
+ if (isRyzenAI) {
411
+ pullArg = model.id;
412
+ runName = `user.${modelName}`;
413
+ requirements = " (requires XDNA 2 NPU)";
415
414
  }
416
415
  else {
417
- recipe = "llamacpp";
418
- checkpoint = `${model.id}${tagName}`;
416
+ const tagName = getQuantTag(filepath);
417
+ pullArg = `${model.id}${tagName}`;
418
+ runName = `user.${modelName}${tagName.replace(":", "-")}`;
419
419
  requirements = "";
420
- simplifiedModelName = modelName;
421
420
  }
422
421
  return [
423
422
  {
424
423
  title: "Pull the model",
425
424
  setup: "# Download Lemonade from https://lemonade-server.ai/",
426
- content: [
427
- `lemonade-server pull user.${simplifiedModelName} --checkpoint ${checkpoint} --recipe ${recipe}`,
428
- "# Note: If you installed from source, use the lemonade-server-dev command instead.",
429
- ].join("\n"),
425
+ content: `lemonade pull ${pullArg}`,
430
426
  },
431
427
  {
432
428
  title: `Run and chat with the model${requirements}`,
433
- content: `lemonade-server run user.${simplifiedModelName}`,
429
+ content: `lemonade run ${runName}`,
434
430
  },
435
431
  {
436
432
  title: "List all available models",
437
- content: "lemonade-server list",
433
+ content: "lemonade list",
438
434
  },
439
435
  ];
440
436
  };
@@ -518,6 +514,13 @@ export const LOCAL_APPS = {
518
514
  displayOnModelPage: isLlamaCppGgufModel,
519
515
  deeplink: (model) => new URL(`jan://models/huggingface/${model.id}`),
520
516
  },
517
+ "atomic-chat": {
518
+ prettyLabel: "Atomic Chat",
519
+ docsUrl: "https://atomic.chat",
520
+ mainTask: "text-generation",
521
+ displayOnModelPage: isLlamaCppGgufModel,
522
+ deeplink: (model) => new URL(`atomic-chat://models/huggingface/${model.id}`),
523
+ },
521
524
  backyard: {
522
525
  prettyLabel: "Backyard AI",
523
526
  docsUrl: "https://backyard.ai",
@@ -156,6 +156,17 @@ curl -X POST "http://localhost:8000/v1/chat/completions" \\
156
156
  const snippet = snippetFunc(model);
157
157
  expect(snippet).toEqual(`docker model run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:{{QUANT_TAG}}`);
158
158
  });
159
+ it("atomic chat deeplink", async () => {
160
+ const { displayOnModelPage, deeplink } = LOCAL_APPS["atomic-chat"];
161
+ const model = {
162
+ id: "bartowski/Llama-3.2-3B-Instruct-GGUF",
163
+ tags: ["conversational"],
164
+ gguf: { total: 1, context_length: 4096 },
165
+ inference: "",
166
+ };
167
+ expect(displayOnModelPage(model)).toBe(true);
168
+ expect(deeplink(model).href).toBe("atomic-chat://models/huggingface/bartowski/Llama-3.2-3B-Instruct-GGUF");
169
+ });
159
170
  it("unsloth tagged model", async () => {
160
171
  const { displayOnModelPage, snippet: snippetFunc } = LOCAL_APPS.unsloth;
161
172
  const model = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huggingface/tasks",
3
- "version": "0.20.13",
3
+ "version": "0.20.14",
4
4
  "description": "List of ML tasks for huggingface.co/tasks",
5
5
  "keywords": [
6
6
  "hub",
package/src/eval.ts CHANGED
@@ -2,6 +2,12 @@
2
2
  * List of supported Evaluation Frameworks supported in the `eval.yaml` file in benchmarks datasets.
3
3
  */
4
4
  export const EVALUATION_FRAMEWORKS = {
5
+ exgentic: {
6
+ name: "exgentic",
7
+ description:
8
+ "Exgentic is an open evaluation framework for general-purpose AI agents across diverse domains and benchmarks.",
9
+ url: "https://github.com/Exgentic/exgentic",
10
+ },
5
11
  "inspect-ai": {
6
12
  name: "inspect-ai",
7
13
  description: "Inspect AI is an open-source framework for large language model evaluations.",
@@ -71,4 +77,10 @@ export const EVALUATION_FRAMEWORKS = {
71
77
  description: "The Open ASR Leaderboard ranks and evaluates speech recognition models.",
72
78
  url: "https://github.com/huggingface/open_asr_leaderboard",
73
79
  },
80
+ mdpbench: {
81
+ name: "mdpbench",
82
+ description:
83
+ "MDPBench is a benchmark for evaluating multilingual document parsing across digital, photographed, Latin, and non-Latin document subsets.",
84
+ url: "https://github.com/Yuliang-Liu/MultimodalOCR",
85
+ },
74
86
  } as const;
@@ -174,6 +174,19 @@ curl -X POST "http://localhost:8000/v1/chat/completions" \\
174
174
  expect(snippet).toEqual(`docker model run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:{{QUANT_TAG}}`);
175
175
  });
176
176
 
177
+ it("atomic chat deeplink", async () => {
178
+ const { displayOnModelPage, deeplink } = LOCAL_APPS["atomic-chat"];
179
+ const model: ModelData = {
180
+ id: "bartowski/Llama-3.2-3B-Instruct-GGUF",
181
+ tags: ["conversational"],
182
+ gguf: { total: 1, context_length: 4096 },
183
+ inference: "",
184
+ };
185
+
186
+ expect(displayOnModelPage(model)).toBe(true);
187
+ expect(deeplink(model).href).toBe("atomic-chat://models/huggingface/bartowski/Llama-3.2-3B-Instruct-GGUF");
188
+ });
189
+
177
190
  it("unsloth tagged model", async () => {
178
191
  const { displayOnModelPage, snippet: snippetFunc } = LOCAL_APPS.unsloth;
179
192
  const model: ModelData = {
package/src/local-apps.ts CHANGED
@@ -513,43 +513,39 @@ const snippetDockerModelRunner = (model: ModelData, filepath?: string): string =
513
513
  };
514
514
 
515
515
  const snippetLemonade = (model: ModelData, filepath?: string): LocalAppSnippet[] => {
516
- const tagName = getQuantTag(filepath);
517
516
  const modelName = model.id.includes("/") ? model.id.split("/")[1] : model.id;
517
+ const isRyzenAI = model.tags.some((tag) => ["ryzenai-npu", "ryzenai-hybrid"].includes(tag));
518
518
 
519
- // Get recipe according to model type
520
- let simplifiedModelName: string;
521
- let recipe: string;
522
- let checkpoint: string;
519
+ // Lemonade auto-registers pulled models as `user.<suggested_name>[-<variant>]`.
520
+ // For GGUF/llamacpp: suggested_name is the repo name and variant is the quant tag.
521
+ // For RyzenAI ONNX: there is no per-variant suffix.
522
+ let pullArg: string;
523
+ let runName: string;
523
524
  let requirements: string;
524
- if (model.tags.some((tag) => ["ryzenai-npu", "ryzenai-hybrid"].includes(tag))) {
525
- recipe = model.tags.includes("ryzenai-npu") ? "oga-npu" : "oga-hybrid";
526
- checkpoint = model.id;
527
- requirements = " (requires RyzenAI 300 series)";
528
- simplifiedModelName = modelName.split("-awq-")[0];
529
- simplifiedModelName += recipe === "oga-npu" ? "-NPU" : "-Hybrid";
525
+ if (isRyzenAI) {
526
+ pullArg = model.id;
527
+ runName = `user.${modelName}`;
528
+ requirements = " (requires XDNA 2 NPU)";
530
529
  } else {
531
- recipe = "llamacpp";
532
- checkpoint = `${model.id}${tagName}`;
530
+ const tagName = getQuantTag(filepath);
531
+ pullArg = `${model.id}${tagName}`;
532
+ runName = `user.${modelName}${tagName.replace(":", "-")}`;
533
533
  requirements = "";
534
- simplifiedModelName = modelName;
535
534
  }
536
535
 
537
536
  return [
538
537
  {
539
538
  title: "Pull the model",
540
539
  setup: "# Download Lemonade from https://lemonade-server.ai/",
541
- content: [
542
- `lemonade-server pull user.${simplifiedModelName} --checkpoint ${checkpoint} --recipe ${recipe}`,
543
- "# Note: If you installed from source, use the lemonade-server-dev command instead.",
544
- ].join("\n"),
540
+ content: `lemonade pull ${pullArg}`,
545
541
  },
546
542
  {
547
543
  title: `Run and chat with the model${requirements}`,
548
- content: `lemonade-server run user.${simplifiedModelName}`,
544
+ content: `lemonade run ${runName}`,
549
545
  },
550
546
  {
551
547
  title: "List all available models",
552
- content: "lemonade-server list",
548
+ content: "lemonade list",
553
549
  },
554
550
  ];
555
551
  };
@@ -636,6 +632,13 @@ export const LOCAL_APPS = {
636
632
  displayOnModelPage: isLlamaCppGgufModel,
637
633
  deeplink: (model) => new URL(`jan://models/huggingface/${model.id}`),
638
634
  },
635
+ "atomic-chat": {
636
+ prettyLabel: "Atomic Chat",
637
+ docsUrl: "https://atomic.chat",
638
+ mainTask: "text-generation",
639
+ displayOnModelPage: isLlamaCppGgufModel,
640
+ deeplink: (model) => new URL(`atomic-chat://models/huggingface/${model.id}`),
641
+ },
639
642
  backyard: {
640
643
  prettyLabel: "Backyard AI",
641
644
  docsUrl: "https://backyard.ai",