@huggingface/tasks 0.19.3 → 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.
@@ -212,6 +212,13 @@ exports.MODEL_LIBRARIES_UI_ELEMENTS = {
212
212
  filter: false,
213
213
  countDownloads: `path:"scin_dataset_precomputed_embeddings.npz" OR path:"saved_model.pb"`,
214
214
  },
215
+ "describe-anything": {
216
+ prettyLabel: "Describe Anything",
217
+ repoName: "Describe Anything",
218
+ repoUrl: "https://github.com/NVlabs/describe-anything",
219
+ snippets: snippets.describe_anything,
220
+ filter: false,
221
+ },
215
222
  "dia-tts": {
216
223
  prettyLabel: "Dia",
217
224
  repoName: "Dia",
@@ -644,6 +651,14 @@ exports.MODEL_LIBRARIES_UI_ELEMENTS = {
644
651
  snippets: snippets.perception_encoder,
645
652
  countDownloads: `path_extension:"pt"`,
646
653
  },
654
+ "phantom-wan": {
655
+ prettyLabel: "Phantom",
656
+ repoName: "Phantom",
657
+ repoUrl: "https://github.com/Phantom-video/Phantom",
658
+ snippets: snippets.phantom_wan,
659
+ filter: false,
660
+ countDownloads: `path_extension:"pth"`,
661
+ },
647
662
  pxia: {
648
663
  prettyLabel: "pxia",
649
664
  repoName: "pxia",
@@ -991,6 +1006,14 @@ exports.MODEL_LIBRARIES_UI_ELEMENTS = {
991
1006
  countDownloads: `path_extension:"pt" OR path_extension:"safetensors"`,
992
1007
  snippets: snippets.ultralytics,
993
1008
  },
1009
+ zonos: {
1010
+ prettyLabel: "Zonos",
1011
+ repoName: "Zonos",
1012
+ repoUrl: "https://github.com/Zyphra/Zonos",
1013
+ docsUrl: "https://github.com/Zyphra/Zonos",
1014
+ snippets: snippets.zonos,
1015
+ filter: false,
1016
+ },
994
1017
  "3dtopia-xl": {
995
1018
  prettyLabel: "3DTopia-XL",
996
1019
  repoName: "3DTopia-XL",
@@ -119,7 +119,7 @@ exports.TASKS_MODEL_LIBRARIES = {
119
119
  /**
120
120
  * Return the whole TaskData object for a certain task.
121
121
  * If the partialTaskData argument is left undefined,
122
- * the default placholder data will be used.
122
+ * the default placeholder data will be used.
123
123
  */
124
124
  function getData(type, partialTaskData = data_js_17.default) {
125
125
  return {
@@ -1,3 +1,54 @@
1
+ export declare enum GGMLFileQuantizationType {
2
+ F32 = 0,
3
+ F16 = 1,
4
+ Q4_0 = 2,
5
+ Q4_1 = 3,
6
+ Q4_1_SOME_F16 = 4,
7
+ Q4_2 = 5,
8
+ Q4_3 = 6,
9
+ Q8_0 = 7,
10
+ Q5_0 = 8,
11
+ Q5_1 = 9,
12
+ Q2_K = 10,
13
+ Q3_K_S = 11,
14
+ Q3_K_M = 12,
15
+ Q3_K_L = 13,
16
+ Q4_K_S = 14,
17
+ Q4_K_M = 15,
18
+ Q5_K_S = 16,
19
+ Q5_K_M = 17,
20
+ Q6_K = 18,
21
+ IQ2_XXS = 19,
22
+ IQ2_XS = 20,
23
+ Q2_K_S = 21,
24
+ IQ3_XS = 22,
25
+ IQ3_XXS = 23,
26
+ IQ1_S = 24,
27
+ IQ4_NL = 25,
28
+ IQ3_S = 26,
29
+ IQ3_M = 27,
30
+ IQ2_S = 28,
31
+ IQ2_M = 29,
32
+ IQ4_XS = 30,
33
+ IQ1_M = 31,
34
+ BF16 = 32,
35
+ Q4_0_4_4 = 33,
36
+ Q4_0_4_8 = 34,
37
+ Q4_0_8_8 = 35,
38
+ TQ1_0 = 36,
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
46
+ }
47
+ export declare const GGUF_QUANT_RE: RegExp;
48
+ export declare const GGUF_QUANT_RE_GLOBAL: RegExp;
49
+ export declare function parseGGUFQuantLabel(fname: string): string | undefined;
50
+ export declare const GGUF_QUANT_ORDER: GGMLFileQuantizationType[];
51
+ export declare function findNearestQuantType(quant: GGMLFileQuantizationType, availableQuants: GGMLFileQuantizationType[]): GGMLFileQuantizationType | undefined;
1
52
  export declare enum GGMLQuantizationType {
2
53
  F32 = 0,
3
54
  F16 = 1,
@@ -27,9 +78,8 @@ export declare enum GGMLQuantizationType {
27
78
  I64 = 27,
28
79
  F64 = 28,
29
80
  IQ1_M = 29,
30
- BF16 = 30
81
+ BF16 = 30,
82
+ TQ1_0 = 34,
83
+ TQ2_0 = 35
31
84
  }
32
- export declare const GGUF_QUANT_RE: RegExp;
33
- export declare const GGUF_QUANT_RE_GLOBAL: RegExp;
34
- export declare function parseGGUFQuantLabel(fname: string): string | undefined;
35
85
  //# sourceMappingURL=gguf.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gguf.d.ts","sourceRoot":"","sources":["../../src/gguf.ts"],"names":[],"mappings":"AAAA,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;CACT;AAGD,eAAO,MAAM,aAAa,QAAmF,CAAC;AAC9G,eAAO,MAAM,oBAAoB,QAAiC,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrE"}
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
@@ -1,3 +1,151 @@
1
+ // This list is copied from gguf/types.ts, but will all types available (for backward compatibility)
2
+ // NOT to be confused with GGMLQuantizationType, a FileQuantization can contain multiple GGMLQuantizationType
3
+ // For example, Q4_K_M model can contains Q4_K and Q6_K tensors
4
+ export var GGMLFileQuantizationType;
5
+ (function (GGMLFileQuantizationType) {
6
+ GGMLFileQuantizationType[GGMLFileQuantizationType["F32"] = 0] = "F32";
7
+ GGMLFileQuantizationType[GGMLFileQuantizationType["F16"] = 1] = "F16";
8
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_0"] = 2] = "Q4_0";
9
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_1"] = 3] = "Q4_1";
10
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_1_SOME_F16"] = 4] = "Q4_1_SOME_F16";
11
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_2"] = 5] = "Q4_2";
12
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_3"] = 6] = "Q4_3";
13
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q8_0"] = 7] = "Q8_0";
14
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q5_0"] = 8] = "Q5_0";
15
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q5_1"] = 9] = "Q5_1";
16
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q2_K"] = 10] = "Q2_K";
17
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q3_K_S"] = 11] = "Q3_K_S";
18
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q3_K_M"] = 12] = "Q3_K_M";
19
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q3_K_L"] = 13] = "Q3_K_L";
20
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_K_S"] = 14] = "Q4_K_S";
21
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_K_M"] = 15] = "Q4_K_M";
22
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q5_K_S"] = 16] = "Q5_K_S";
23
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q5_K_M"] = 17] = "Q5_K_M";
24
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q6_K"] = 18] = "Q6_K";
25
+ GGMLFileQuantizationType[GGMLFileQuantizationType["IQ2_XXS"] = 19] = "IQ2_XXS";
26
+ GGMLFileQuantizationType[GGMLFileQuantizationType["IQ2_XS"] = 20] = "IQ2_XS";
27
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q2_K_S"] = 21] = "Q2_K_S";
28
+ GGMLFileQuantizationType[GGMLFileQuantizationType["IQ3_XS"] = 22] = "IQ3_XS";
29
+ GGMLFileQuantizationType[GGMLFileQuantizationType["IQ3_XXS"] = 23] = "IQ3_XXS";
30
+ GGMLFileQuantizationType[GGMLFileQuantizationType["IQ1_S"] = 24] = "IQ1_S";
31
+ GGMLFileQuantizationType[GGMLFileQuantizationType["IQ4_NL"] = 25] = "IQ4_NL";
32
+ GGMLFileQuantizationType[GGMLFileQuantizationType["IQ3_S"] = 26] = "IQ3_S";
33
+ GGMLFileQuantizationType[GGMLFileQuantizationType["IQ3_M"] = 27] = "IQ3_M";
34
+ GGMLFileQuantizationType[GGMLFileQuantizationType["IQ2_S"] = 28] = "IQ2_S";
35
+ GGMLFileQuantizationType[GGMLFileQuantizationType["IQ2_M"] = 29] = "IQ2_M";
36
+ GGMLFileQuantizationType[GGMLFileQuantizationType["IQ4_XS"] = 30] = "IQ4_XS";
37
+ GGMLFileQuantizationType[GGMLFileQuantizationType["IQ1_M"] = 31] = "IQ1_M";
38
+ GGMLFileQuantizationType[GGMLFileQuantizationType["BF16"] = 32] = "BF16";
39
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_0_4_4"] = 33] = "Q4_0_4_4";
40
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_0_4_8"] = 34] = "Q4_0_4_8";
41
+ GGMLFileQuantizationType[GGMLFileQuantizationType["Q4_0_8_8"] = 35] = "Q4_0_8_8";
42
+ GGMLFileQuantizationType[GGMLFileQuantizationType["TQ1_0"] = 36] = "TQ1_0";
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";
52
+ })(GGMLFileQuantizationType || (GGMLFileQuantizationType = {}));
53
+ const ggufQuants = Object.values(GGMLFileQuantizationType).filter((v) => typeof v === "string");
54
+ export const GGUF_QUANT_RE = new RegExp(`(?<quant>${ggufQuants.join("|")})` + "(_(?<sizeVariation>[A-Z]+))?");
55
+ export const GGUF_QUANT_RE_GLOBAL = new RegExp(GGUF_QUANT_RE, "g");
56
+ export function parseGGUFQuantLabel(fname) {
57
+ const quantLabel = fname.toUpperCase().match(GGUF_QUANT_RE_GLOBAL)?.at(-1); // if there is multiple quant substrings in a name, we prefer the last one
58
+ return quantLabel;
59
+ }
60
+ // order of quantization, from biggest to smallest
61
+ // this list must be in sync with the order in GGMLFileQuantizationType
62
+ // the gguf.spec.ts tests are using verify if the order is correct
63
+ export const GGUF_QUANT_ORDER = [
64
+ GGMLFileQuantizationType.F32,
65
+ GGMLFileQuantizationType.BF16,
66
+ GGMLFileQuantizationType.F16,
67
+ GGMLFileQuantizationType.Q8_K_XL,
68
+ GGMLFileQuantizationType.Q8_0,
69
+ // 6-bit quantizations
70
+ GGMLFileQuantizationType.Q6_K_XL,
71
+ GGMLFileQuantizationType.Q6_K,
72
+ // 5-bit quantizations
73
+ GGMLFileQuantizationType.Q5_K_XL,
74
+ GGMLFileQuantizationType.Q5_K_M,
75
+ GGMLFileQuantizationType.Q5_K_S,
76
+ GGMLFileQuantizationType.Q5_0,
77
+ GGMLFileQuantizationType.Q5_1,
78
+ // 4-bit quantizations
79
+ GGMLFileQuantizationType.Q4_K_XL,
80
+ GGMLFileQuantizationType.Q4_K_M,
81
+ GGMLFileQuantizationType.Q4_K_S,
82
+ GGMLFileQuantizationType.IQ4_NL,
83
+ GGMLFileQuantizationType.IQ4_XS,
84
+ GGMLFileQuantizationType.Q4_0_4_4,
85
+ GGMLFileQuantizationType.Q4_0_4_8,
86
+ GGMLFileQuantizationType.Q4_0_8_8,
87
+ GGMLFileQuantizationType.Q4_1_SOME_F16,
88
+ GGMLFileQuantizationType.Q4_0,
89
+ GGMLFileQuantizationType.Q4_1,
90
+ GGMLFileQuantizationType.Q4_2,
91
+ GGMLFileQuantizationType.Q4_3,
92
+ // 3-bit quantizations
93
+ GGMLFileQuantizationType.Q3_K_XL,
94
+ GGMLFileQuantizationType.Q3_K_L,
95
+ GGMLFileQuantizationType.Q3_K_M,
96
+ GGMLFileQuantizationType.Q3_K_S,
97
+ GGMLFileQuantizationType.IQ3_M,
98
+ GGMLFileQuantizationType.IQ3_S,
99
+ GGMLFileQuantizationType.IQ3_XS,
100
+ GGMLFileQuantizationType.IQ3_XXS,
101
+ // 2-bit quantizations
102
+ GGMLFileQuantizationType.Q2_K_XL,
103
+ GGMLFileQuantizationType.Q2_K,
104
+ GGMLFileQuantizationType.Q2_K_S,
105
+ GGMLFileQuantizationType.IQ2_M,
106
+ GGMLFileQuantizationType.IQ2_S,
107
+ GGMLFileQuantizationType.IQ2_XS,
108
+ GGMLFileQuantizationType.IQ2_XXS,
109
+ // 1-bit quantizations
110
+ GGMLFileQuantizationType.IQ1_S,
111
+ GGMLFileQuantizationType.IQ1_M,
112
+ GGMLFileQuantizationType.TQ1_0,
113
+ GGMLFileQuantizationType.TQ2_0,
114
+ ];
115
+ // This function finds the nearest quantization type that is less than or equal to the given quantization type.
116
+ // It returns undefined if no such quantization type is found.
117
+ export function findNearestQuantType(quant, availableQuants) {
118
+ // Create a map for quick index lookup from the defined order
119
+ const orderMap = new Map();
120
+ GGUF_QUANT_ORDER.forEach((q, index) => {
121
+ orderMap.set(q, index);
122
+ });
123
+ const targetIndex = orderMap.get(quant) ?? 0; // the 0 case should never happen
124
+ // Filter the available quantizations to include only those defined in the order map,
125
+ // then sort them according to the GGUF_QUANT_ORDER (from largest/index 0 to smallest/highest index).
126
+ const sortedAvailable = availableQuants
127
+ .filter((q) => orderMap.has(q))
128
+ .sort((a, b) => (orderMap.get(a) ?? Infinity) - (orderMap.get(b) ?? Infinity));
129
+ // If no valid quantizations are available after filtering
130
+ if (sortedAvailable.length === 0) {
131
+ return undefined;
132
+ }
133
+ // Iterate through the sorted available quantizations (largest to smallest).
134
+ // Find the first one whose order index is >= the target index.
135
+ // This means finding the largest quantization that is smaller than or equal to the target.
136
+ for (const availableQuant of sortedAvailable) {
137
+ // We know the key exists due to the filter above.
138
+ const availableIndex = orderMap.get(availableQuant) ?? 0;
139
+ if (availableIndex >= targetIndex) {
140
+ return availableQuant;
141
+ }
142
+ }
143
+ // If the loop completes, it means all available quantizations are larger (have a smaller index)
144
+ // than the target quantization. In this case, return the "smallest" available quantization,
145
+ // which is the last element in the sorted list (highest index among available).
146
+ return sortedAvailable[sortedAvailable.length - 1];
147
+ }
148
+ // This list is only used to calculate the size of the model, NOT to be confused with the quantization FILE type
1
149
  export var GGMLQuantizationType;
2
150
  (function (GGMLQuantizationType) {
3
151
  GGMLQuantizationType[GGMLQuantizationType["F32"] = 0] = "F32";
@@ -29,11 +177,6 @@ export var GGMLQuantizationType;
29
177
  GGMLQuantizationType[GGMLQuantizationType["F64"] = 28] = "F64";
30
178
  GGMLQuantizationType[GGMLQuantizationType["IQ1_M"] = 29] = "IQ1_M";
31
179
  GGMLQuantizationType[GGMLQuantizationType["BF16"] = 30] = "BF16";
180
+ GGMLQuantizationType[GGMLQuantizationType["TQ1_0"] = 34] = "TQ1_0";
181
+ GGMLQuantizationType[GGMLQuantizationType["TQ2_0"] = 35] = "TQ2_0";
32
182
  })(GGMLQuantizationType || (GGMLQuantizationType = {}));
33
- const ggufQuants = Object.values(GGMLQuantizationType).filter((v) => typeof v === "string");
34
- export const GGUF_QUANT_RE = new RegExp(`(?<quant>${ggufQuants.join("|")})` + "(_(?<sizeVariation>[A-Z]+))?");
35
- export const GGUF_QUANT_RE_GLOBAL = new RegExp(GGUF_QUANT_RE, "g");
36
- export function parseGGUFQuantLabel(fname) {
37
- const quantLabel = fname.toUpperCase().match(GGUF_QUANT_RE_GLOBAL)?.at(-1); // if there is multiple quant substrings in a name, we prefer the last one
38
- return quantLabel;
39
- }
@@ -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/",
@@ -12,6 +12,7 @@ export declare const depth_anything_v2: (model: ModelData) => string[];
12
12
  export declare const depth_pro: (model: ModelData) => string[];
13
13
  export declare const derm_foundation: () => string[];
14
14
  export declare const dia: (model: ModelData) => string[];
15
+ export declare const describe_anything: (model: ModelData) => string[];
15
16
  export declare const diffusers: (model: ModelData) => string[];
16
17
  export declare const diffusionkit: (model: ModelData) => string[];
17
18
  export declare const cartesia_pytorch: (model: ModelData) => string[];
@@ -37,6 +38,7 @@ export declare const mesh_anything: () => string[];
37
38
  export declare const open_clip: (model: ModelData) => string[];
38
39
  export declare const paddlenlp: (model: ModelData) => string[];
39
40
  export declare const perception_encoder: (model: ModelData) => string[];
41
+ export declare const phantom_wan: (model: ModelData) => string[];
40
42
  export declare const pyannote_audio_pipeline: (model: ModelData) => string[];
41
43
  export declare const pyannote_audio: (model: ModelData) => string[];
42
44
  export declare const relik: (model: ModelData) => string[];
@@ -82,4 +84,5 @@ export declare const audiocraft: (model: ModelData) => string[];
82
84
  export declare const whisperkit: () => string[];
83
85
  export declare const threedtopia_xl: (model: ModelData) => string[];
84
86
  export declare const hezar: (model: ModelData) => string[];
87
+ export declare const zonos: (model: ModelData) => string[];
85
88
  //# sourceMappingURL=model-libraries-snippets.d.ts.map
@@ -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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"}
@@ -208,6 +208,19 @@ output = model.generate(text)
208
208
 
209
209
  sf.write("simple.mp3", output, 44100)`,
210
210
  ];
211
+ export const describe_anything = (model) => [
212
+ `# pip install git+https://github.com/NVlabs/describe-anything
213
+ from huggingface_hub import snapshot_download
214
+ from dam import DescribeAnythingModel
215
+
216
+ snapshot_download(${model.id}, local_dir="checkpoints")
217
+
218
+ dam = DescribeAnythingModel(
219
+ model_path="checkpoints",
220
+ conv_mode="v1",
221
+ prompt_mode="focal_prompt",
222
+ )`,
223
+ ];
211
224
  const diffusersDefaultPrompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k";
212
225
  const diffusers_default = (model) => [
213
226
  `from diffusers import DiffusionPipeline
@@ -658,6 +671,17 @@ model = pe.VisionTransformer.from_config("${model.id}", pretrained=True)`;
658
671
  return [vision_encoder];
659
672
  }
660
673
  };
674
+ export const phantom_wan = (model) => [
675
+ `from huggingface_hub import snapshot_download
676
+ from phantom_wan import WANI2V, configs
677
+
678
+ checkpoint_dir = snapshot_download("${model.id}")
679
+ wan_i2v = WanI2V(
680
+ config=configs.WAN_CONFIGS['i2v-14B'],
681
+ checkpoint_dir=checkpoint_dir,
682
+ )
683
+ video = wan_i2v.generate(text_prompt, image_prompt)`,
684
+ ];
661
685
  export const pyannote_audio_pipeline = (model) => [
662
686
  `from pyannote.audio import Pipeline
663
687
 
@@ -1015,12 +1039,27 @@ export const transformers = (model) => {
1015
1039
  ].join("\n");
1016
1040
  }
1017
1041
  if (model.pipeline_tag && LIBRARY_TASK_MAPPING.transformers?.includes(model.pipeline_tag)) {
1018
- const pipelineSnippet = ["# Use a pipeline as a high-level helper", "from transformers import pipeline", ""];
1019
- if (model.tags.includes("conversational") && model.config?.tokenizer_config?.chat_template) {
1020
- pipelineSnippet.push("messages = [", ' {"role": "user", "content": "Who are you?"},', "]");
1021
- }
1022
- pipelineSnippet.push(`pipe = pipeline("${model.pipeline_tag}", model="${model.id}"` + remote_code_snippet + ")");
1023
- if (model.tags.includes("conversational") && model.config?.tokenizer_config?.chat_template) {
1042
+ const pipelineSnippet = [
1043
+ "# Use a pipeline as a high-level helper",
1044
+ "from transformers import pipeline",
1045
+ "",
1046
+ `pipe = pipeline("${model.pipeline_tag}", model="${model.id}"` + remote_code_snippet + ")",
1047
+ ];
1048
+ if (model.tags.includes("conversational")) {
1049
+ if (model.tags.includes("image-text-to-text")) {
1050
+ pipelineSnippet.push("messages = [", [
1051
+ " {",
1052
+ ' "role": "user",',
1053
+ ' "content": [',
1054
+ ' {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},',
1055
+ ' {"type": "text", "text": "What animal is on the candy?"}',
1056
+ " ]",
1057
+ " },",
1058
+ ].join("\n"), "]");
1059
+ }
1060
+ else {
1061
+ pipelineSnippet.push("messages = [", ' {"role": "user", "content": "Who are you?"},', "]");
1062
+ }
1024
1063
  pipelineSnippet.push("pipe(messages)");
1025
1064
  }
1026
1065
  return [pipelineSnippet.join("\n"), autoSnippet];
@@ -1185,27 +1224,63 @@ model = SwarmFormerModel.from_pretrained("${model.id}")
1185
1224
  `,
1186
1225
  ];
1187
1226
  const mlx_unknown = (model) => [
1188
- `pip install huggingface_hub hf_transfer
1227
+ `# Download the model from the Hub
1228
+ pip install huggingface_hub hf_transfer
1189
1229
 
1190
1230
  export HF_HUB_ENABLE_HF_TRANSFER=1
1191
1231
  huggingface-cli download --local-dir ${nameWithoutNamespace(model.id)} ${model.id}`,
1192
1232
  ];
1193
1233
  const mlxlm = (model) => [
1194
- `pip install --upgrade mlx-lm
1234
+ `# Make sure mlx-lm is installed
1235
+ pip install --upgrade mlx-lm
1236
+
1237
+ # Generate text with mlx-lm
1238
+ from mlx_lm import load, generate
1239
+
1240
+ model, tokenizer = load("${model.id}")
1195
1241
 
1196
- mlx_lm.generate --model ${model.id} --prompt "Hello"`,
1242
+ prompt = "Once upon a time in"
1243
+ text = generate(model, tokenizer, prompt=prompt, verbose=True)`,
1197
1244
  ];
1198
1245
  const mlxchat = (model) => [
1199
- `pip install --upgrade mlx-lm
1246
+ `# Make sure mlx-lm is installed
1247
+ pip install --upgrade mlx-lm
1200
1248
 
1201
- mlx_lm.chat --model ${model.id}`,
1249
+ # Generate text with mlx-lm
1250
+ from mlx_lm import load, generate
1251
+
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)`,
1202
1261
  ];
1203
1262
  const mlxvlm = (model) => [
1204
- `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
+ )
1205
1280
 
1206
- mlx_vlm.generate --model ${model.id} \\
1207
- --prompt "Describe this image." \\
1208
- --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)`,
1209
1284
  ];
1210
1285
  export const mlxim = (model) => [
1211
1286
  `from mlxim.model import create_model
@@ -1213,11 +1288,11 @@ export const mlxim = (model) => [
1213
1288
  model = create_model(${model.id})`,
1214
1289
  ];
1215
1290
  export const mlx = (model) => {
1216
- if (model.tags.includes("image-text-to-text")) {
1291
+ if (model.pipeline_tag === "image-text-to-text") {
1217
1292
  return mlxvlm(model);
1218
1293
  }
1219
- if (model.tags.includes("conversational")) {
1220
- if (model.config?.tokenizer_config?.chat_template) {
1294
+ if (model.pipeline_tag === "text-generation") {
1295
+ if (model.tags.includes("conversational")) {
1221
1296
  return mlxchat(model);
1222
1297
  }
1223
1298
  else {
@@ -1343,4 +1418,22 @@ export const hezar = (model) => [
1343
1418
 
1344
1419
  model = Model.load("${model.id}")`,
1345
1420
  ];
1421
+ export const zonos = (model) => [
1422
+ `# pip install git+https://github.com/Zyphra/Zonos.git
1423
+ import torchaudio
1424
+ from zonos.model import Zonos
1425
+ from zonos.conditioning import make_cond_dict
1426
+
1427
+ model = Zonos.from_pretrained("${model.id}", device="cuda")
1428
+
1429
+ wav, sr = torchaudio.load("speaker.wav") # 5-10s reference clip
1430
+ speaker = model.make_speaker_embedding(wav, sr)
1431
+
1432
+ cond = make_cond_dict(text="Hello, world!", speaker=speaker, language="en-us")
1433
+ codes = model.generate(model.prepare_conditioning(cond))
1434
+
1435
+ audio = model.autoencoder.decode(codes)[0].cpu()
1436
+ torchaudio.save("sample.wav", audio, model.autoencoder.sampling_rate)
1437
+ `,
1438
+ ];
1346
1439
  //#endregion