@huggingface/tasks 0.19.82 → 0.19.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/hardware.d.ts +36 -0
- package/dist/commonjs/hardware.d.ts.map +1 -1
- package/dist/commonjs/hardware.js +40 -4
- package/dist/commonjs/local-apps.d.ts +4 -2
- package/dist/commonjs/local-apps.d.ts.map +1 -1
- package/dist/commonjs/local-apps.js +74 -51
- package/dist/commonjs/local-apps.spec.js +7 -6
- package/dist/commonjs/model-libraries-snippets.d.ts +2 -0
- package/dist/commonjs/model-libraries-snippets.d.ts.map +1 -1
- package/dist/commonjs/model-libraries-snippets.js +91 -18
- package/dist/commonjs/model-libraries.d.ts +23 -1
- package/dist/commonjs/model-libraries.d.ts.map +1 -1
- package/dist/commonjs/model-libraries.js +22 -0
- package/dist/esm/hardware.d.ts +36 -0
- package/dist/esm/hardware.d.ts.map +1 -1
- package/dist/esm/hardware.js +40 -4
- package/dist/esm/local-apps.d.ts +4 -2
- package/dist/esm/local-apps.d.ts.map +1 -1
- package/dist/esm/local-apps.js +74 -51
- package/dist/esm/local-apps.spec.js +7 -6
- package/dist/esm/model-libraries-snippets.d.ts +2 -0
- package/dist/esm/model-libraries-snippets.d.ts.map +1 -1
- package/dist/esm/model-libraries-snippets.js +88 -17
- package/dist/esm/model-libraries.d.ts +23 -1
- package/dist/esm/model-libraries.d.ts.map +1 -1
- package/dist/esm/model-libraries.js +22 -0
- package/package.json +1 -1
- package/src/hardware.ts +40 -4
- package/src/local-apps.spec.ts +7 -6
- package/src/local-apps.ts +85 -56
- package/src/model-libraries-snippets.ts +92 -17
- package/src/model-libraries.ts +22 -0
|
@@ -108,14 +108,46 @@ export declare const SKUS: {
|
|
|
108
108
|
tflops: number;
|
|
109
109
|
memory: number[];
|
|
110
110
|
};
|
|
111
|
+
"RTX A5000 Max-Q": {
|
|
112
|
+
tflops: number;
|
|
113
|
+
memory: number[];
|
|
114
|
+
};
|
|
115
|
+
"RTX A5000 Mobile": {
|
|
116
|
+
tflops: number;
|
|
117
|
+
memory: number[];
|
|
118
|
+
};
|
|
111
119
|
"RTX A4000": {
|
|
112
120
|
tflops: number;
|
|
113
121
|
memory: number[];
|
|
114
122
|
};
|
|
123
|
+
"RTX A4000 Max-Q": {
|
|
124
|
+
tflops: number;
|
|
125
|
+
memory: number[];
|
|
126
|
+
};
|
|
127
|
+
"RTX A4000 Mobile": {
|
|
128
|
+
tflops: number;
|
|
129
|
+
memory: number[];
|
|
130
|
+
};
|
|
131
|
+
"RTX A3000 Mobile": {
|
|
132
|
+
tflops: number;
|
|
133
|
+
memory: number[];
|
|
134
|
+
};
|
|
115
135
|
"RTX A2000": {
|
|
116
136
|
tflops: number;
|
|
117
137
|
memory: number[];
|
|
118
138
|
};
|
|
139
|
+
"RTX A2000 Embedded": {
|
|
140
|
+
tflops: number;
|
|
141
|
+
memory: number[];
|
|
142
|
+
};
|
|
143
|
+
"RTX A2000 Max-Q": {
|
|
144
|
+
tflops: number;
|
|
145
|
+
memory: number[];
|
|
146
|
+
};
|
|
147
|
+
"RTX A2000 Mobile": {
|
|
148
|
+
tflops: number;
|
|
149
|
+
memory: number[];
|
|
150
|
+
};
|
|
119
151
|
A100: {
|
|
120
152
|
tflops: number;
|
|
121
153
|
memory: number[];
|
|
@@ -124,6 +156,10 @@ export declare const SKUS: {
|
|
|
124
156
|
tflops: number;
|
|
125
157
|
memory: number[];
|
|
126
158
|
};
|
|
159
|
+
A30: {
|
|
160
|
+
tflops: number;
|
|
161
|
+
memory: number[];
|
|
162
|
+
};
|
|
127
163
|
A10: {
|
|
128
164
|
tflops: number;
|
|
129
165
|
memory: number[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hardware.d.ts","sourceRoot":"","sources":["../../src/hardware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,iDAAiD,QAAW,CAAC;AAC1E,eAAO,MAAM,yDAAyD,QAAW,CAAC;AAClF,eAAO,MAAM,oCAAoC,QAAU,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,+CAA+C,QAAW,CAAC;AAExE,MAAM,WAAW,YAAY;IAC5B;;;;;;;;;OASG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,sBAAsB,UAElC,CAAC;AAEF,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"hardware.d.ts","sourceRoot":"","sources":["../../src/hardware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,iDAAiD,QAAW,CAAC;AAC1E,eAAO,MAAM,yDAAyD,QAAW,CAAC;AAClF,eAAO,MAAM,oCAAoC,QAAU,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,+CAA+C,QAAW,CAAC;AAExE,MAAM,WAAW,YAAY;IAC5B;;;;;;;;;OASG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,sBAAsB,UAElC,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqwBuD,CAAC;AAEzE,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,IAAI,CAAC"}
|
|
@@ -92,16 +92,48 @@ exports.SKUS = {
|
|
|
92
92
|
memory: [48],
|
|
93
93
|
},
|
|
94
94
|
"RTX A5000": {
|
|
95
|
-
tflops:
|
|
96
|
-
memory: [24],
|
|
95
|
+
tflops: 27.77,
|
|
96
|
+
memory: [8, 12, 24],
|
|
97
|
+
},
|
|
98
|
+
"RTX A5000 Max-Q": {
|
|
99
|
+
tflops: 16.59,
|
|
100
|
+
memory: [16],
|
|
101
|
+
},
|
|
102
|
+
"RTX A5000 Mobile": {
|
|
103
|
+
tflops: 19.35,
|
|
104
|
+
memory: [16],
|
|
97
105
|
},
|
|
98
106
|
"RTX A4000": {
|
|
99
|
-
tflops: 19.
|
|
107
|
+
tflops: 19.17,
|
|
100
108
|
memory: [16],
|
|
101
109
|
},
|
|
110
|
+
"RTX A4000 Max-Q": {
|
|
111
|
+
tflops: 14.28,
|
|
112
|
+
memory: [8],
|
|
113
|
+
},
|
|
114
|
+
"RTX A4000 Mobile": {
|
|
115
|
+
tflops: 17.2,
|
|
116
|
+
memory: [8],
|
|
117
|
+
},
|
|
118
|
+
"RTX A3000 Mobile": {
|
|
119
|
+
tflops: 10.9,
|
|
120
|
+
memory: [6, 12],
|
|
121
|
+
},
|
|
102
122
|
"RTX A2000": {
|
|
103
123
|
tflops: 7.987,
|
|
104
|
-
memory: [
|
|
124
|
+
memory: [6, 12],
|
|
125
|
+
},
|
|
126
|
+
"RTX A2000 Embedded": {
|
|
127
|
+
tflops: 6.026,
|
|
128
|
+
memory: [4],
|
|
129
|
+
},
|
|
130
|
+
"RTX A2000 Max-Q": {
|
|
131
|
+
tflops: 6.1,
|
|
132
|
+
memory: [4, 8],
|
|
133
|
+
},
|
|
134
|
+
"RTX A2000 Mobile": {
|
|
135
|
+
tflops: 8.4,
|
|
136
|
+
memory: [4, 8],
|
|
105
137
|
},
|
|
106
138
|
A100: {
|
|
107
139
|
tflops: 77.97,
|
|
@@ -111,6 +143,10 @@ exports.SKUS = {
|
|
|
111
143
|
tflops: 37.42,
|
|
112
144
|
memory: [48],
|
|
113
145
|
},
|
|
146
|
+
A30: {
|
|
147
|
+
tflops: 10.32,
|
|
148
|
+
memory: [24],
|
|
149
|
+
},
|
|
114
150
|
A10: {
|
|
115
151
|
tflops: 31.24,
|
|
116
152
|
memory: [24],
|
|
@@ -54,6 +54,8 @@ export type LocalApp = {
|
|
|
54
54
|
});
|
|
55
55
|
declare function isTgiModel(model: ModelData): boolean;
|
|
56
56
|
declare function isLlamaCppGgufModel(model: ModelData): boolean;
|
|
57
|
+
declare function isVllmModel(model: ModelData): boolean;
|
|
58
|
+
declare function isDockerModelRunnerModel(model: ModelData): boolean;
|
|
57
59
|
/**
|
|
58
60
|
* Add your new local app here.
|
|
59
61
|
*
|
|
@@ -84,7 +86,7 @@ export declare const LOCAL_APPS: {
|
|
|
84
86
|
prettyLabel: string;
|
|
85
87
|
docsUrl: string;
|
|
86
88
|
mainTask: "text-generation";
|
|
87
|
-
displayOnModelPage:
|
|
89
|
+
displayOnModelPage: typeof isVllmModel;
|
|
88
90
|
snippet: (model: ModelData) => LocalAppSnippet[];
|
|
89
91
|
};
|
|
90
92
|
sglang: {
|
|
@@ -200,7 +202,7 @@ export declare const LOCAL_APPS: {
|
|
|
200
202
|
prettyLabel: string;
|
|
201
203
|
docsUrl: string;
|
|
202
204
|
mainTask: "text-generation";
|
|
203
|
-
displayOnModelPage: typeof
|
|
205
|
+
displayOnModelPage: typeof isDockerModelRunnerModel;
|
|
204
206
|
snippet: (model: ModelData, filepath?: string) => string;
|
|
205
207
|
};
|
|
206
208
|
lemonade: {
|
|
@@ -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;
|
|
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;AA4UD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU;;;;;;yBAlUS,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBAiDzC,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBAyC3D,SAAS,KAAG,eAAe,EAAE;;;;;;oCAkQ3B,SAAS;yBA5MT,SAAS,KAAG,eAAe,EAAE;;;;;;;yBAoF9B,SAAS,KAAG,eAAe,EAAE;;;;;;;yBA7B/B,SAAS,KAAG,eAAe,EAAE;;;;;;;;;;;;;;yBApIzB,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAJjD,SAAS,aAAa,MAAM,KAAG,MAAM;;;;;;;yBAwM1B,SAAS,aAAa,MAAM,KAAG,MAAM;;;;;;;yBAM9C,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;CAiO5C,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,UAAU,CAAC"}
|
|
@@ -25,6 +25,18 @@ function isTgiModel(model) {
|
|
|
25
25
|
function isLlamaCppGgufModel(model) {
|
|
26
26
|
return !!model.gguf?.context_length;
|
|
27
27
|
}
|
|
28
|
+
function isVllmModel(model) {
|
|
29
|
+
return ((isAwqModel(model) ||
|
|
30
|
+
isGptqModel(model) ||
|
|
31
|
+
isAqlmModel(model) ||
|
|
32
|
+
isMarlinModel(model) ||
|
|
33
|
+
isLlamaCppGgufModel(model) ||
|
|
34
|
+
isTransformersModel(model)) &&
|
|
35
|
+
(model.pipeline_tag === "text-generation" || model.pipeline_tag === "image-text-to-text"));
|
|
36
|
+
}
|
|
37
|
+
function isDockerModelRunnerModel(model) {
|
|
38
|
+
return isLlamaCppGgufModel(model) || isVllmModel(model);
|
|
39
|
+
}
|
|
28
40
|
function isAmdRyzenModel(model) {
|
|
29
41
|
return model.tags.includes("ryzenai-hybrid") || model.tags.includes("ryzenai-npu");
|
|
30
42
|
}
|
|
@@ -81,6 +93,10 @@ const snippetLlamacpp = (model, filepath) => {
|
|
|
81
93
|
].join("\n"),
|
|
82
94
|
content: [serverCommand("./build/bin/llama-server"), cliCommand("./build/bin/llama-cli")],
|
|
83
95
|
},
|
|
96
|
+
{
|
|
97
|
+
title: "Use Docker",
|
|
98
|
+
content: snippetDockerModelRunner(model, filepath),
|
|
99
|
+
},
|
|
84
100
|
];
|
|
85
101
|
};
|
|
86
102
|
const snippetNodeLlamaCppCli = (model, filepath) => {
|
|
@@ -120,7 +136,21 @@ const snippetLocalAI = (model, filepath) => {
|
|
|
120
136
|
};
|
|
121
137
|
const snippetVllm = (model) => {
|
|
122
138
|
const messages = (0, inputs_js_1.getModelInputSnippet)(model);
|
|
123
|
-
const
|
|
139
|
+
const isMistral = model.tags.includes("mistral-common");
|
|
140
|
+
const mistralFlags = isMistral
|
|
141
|
+
? " --tokenizer_mode mistral --config_format mistral --load_format mistral --tool-call-parser mistral --enable-auto-tool-choice"
|
|
142
|
+
: "";
|
|
143
|
+
const setup = isMistral
|
|
144
|
+
? [
|
|
145
|
+
"# Install vLLM from pip:",
|
|
146
|
+
"pip install vllm",
|
|
147
|
+
"# Install mistral-common:",
|
|
148
|
+
"pip install --upgrade mistral-common",
|
|
149
|
+
].join("\n")
|
|
150
|
+
: ["# Install vLLM from pip:", "pip install vllm"].join("\n");
|
|
151
|
+
const serverCommand = `# Start the vLLM server:
|
|
152
|
+
vllm serve "${model.id}"${mistralFlags}`;
|
|
153
|
+
const runCommandInstruct = `# Call the server using curl (OpenAI-compatible API):
|
|
124
154
|
curl -X POST "http://localhost:8000/v1/chat/completions" \\
|
|
125
155
|
-H "Content-Type: application/json" \\
|
|
126
156
|
--data '{
|
|
@@ -131,7 +161,7 @@ curl -X POST "http://localhost:8000/v1/chat/completions" \\
|
|
|
131
161
|
customContentEscaper: (str) => str.replace(/'/g, "'\\''"),
|
|
132
162
|
})}
|
|
133
163
|
}'`;
|
|
134
|
-
const runCommandNonInstruct = `# Call the server using curl:
|
|
164
|
+
const runCommandNonInstruct = `# Call the server using curl (OpenAI-compatible API):
|
|
135
165
|
curl -X POST "http://localhost:8000/v1/completions" \\
|
|
136
166
|
-H "Content-Type: application/json" \\
|
|
137
167
|
--data '{
|
|
@@ -141,49 +171,26 @@ curl -X POST "http://localhost:8000/v1/completions" \\
|
|
|
141
171
|
"temperature": 0.5
|
|
142
172
|
}'`;
|
|
143
173
|
const runCommand = model.tags.includes("conversational") ? runCommandInstruct : runCommandNonInstruct;
|
|
144
|
-
let setup;
|
|
145
|
-
let dockerCommand;
|
|
146
|
-
if (model.tags.includes("mistral-common")) {
|
|
147
|
-
setup = [
|
|
148
|
-
"# Install vLLM from pip:",
|
|
149
|
-
"pip install vllm",
|
|
150
|
-
"# Make sure you have the latest version of mistral-common installed:",
|
|
151
|
-
"pip install --upgrade mistral-common",
|
|
152
|
-
].join("\n");
|
|
153
|
-
dockerCommand = `# Load and run the model:\ndocker exec -it my_vllm_container bash -c "vllm serve ${model.id} --tokenizer_mode mistral --config_format mistral --load_format mistral --tool-call-parser mistral --enable-auto-tool-choice"`;
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
setup = ["# Install vLLM from pip:", "pip install vllm"].join("\n");
|
|
157
|
-
dockerCommand = `# Load and run the model:\ndocker exec -it my_vllm_container bash -c "vllm serve ${model.id}"`;
|
|
158
|
-
}
|
|
159
174
|
return [
|
|
160
175
|
{
|
|
161
|
-
title: "Install from pip",
|
|
176
|
+
title: "Install from pip and serve model",
|
|
162
177
|
setup: setup,
|
|
163
|
-
content: [
|
|
178
|
+
content: [serverCommand, runCommand],
|
|
164
179
|
},
|
|
165
180
|
{
|
|
166
|
-
title: "Use Docker
|
|
167
|
-
|
|
168
|
-
"# Deploy with docker on Linux:",
|
|
169
|
-
`docker run --runtime nvidia --gpus all \\`,
|
|
170
|
-
` --name my_vllm_container \\`,
|
|
171
|
-
` -v ~/.cache/huggingface:/root/.cache/huggingface \\`,
|
|
172
|
-
` --env "HUGGING_FACE_HUB_TOKEN=<secret>" \\`,
|
|
173
|
-
` -p 8000:8000 \\`,
|
|
174
|
-
` --ipc=host \\`,
|
|
175
|
-
` vllm/vllm-openai:latest \\`,
|
|
176
|
-
` --model ${model.id}`,
|
|
177
|
-
].join("\n"),
|
|
178
|
-
content: [dockerCommand, runCommand],
|
|
181
|
+
title: "Use Docker",
|
|
182
|
+
content: snippetDockerModelRunner(model),
|
|
179
183
|
},
|
|
180
184
|
];
|
|
181
185
|
};
|
|
182
186
|
const snippetSglang = (model) => {
|
|
183
187
|
const messages = (0, inputs_js_1.getModelInputSnippet)(model);
|
|
184
188
|
const setup = ["# Install SGLang from pip:", "pip install sglang"].join("\n");
|
|
185
|
-
const serverCommand = `# Start the SGLang server
|
|
186
|
-
|
|
189
|
+
const serverCommand = `# Start the SGLang server:
|
|
190
|
+
python3 -m sglang.launch_server \\
|
|
191
|
+
--model-path "${model.id}" \\
|
|
192
|
+
--host 0.0.0.0 \\
|
|
193
|
+
--port 30000`;
|
|
187
194
|
const dockerCommand = `docker run --gpus all \\
|
|
188
195
|
--shm-size 32g \\
|
|
189
196
|
-p 30000:30000 \\
|
|
@@ -191,14 +198,31 @@ const snippetSglang = (model) => {
|
|
|
191
198
|
--env "HF_TOKEN=<secret>" \\
|
|
192
199
|
--ipc=host \\
|
|
193
200
|
lmsysorg/sglang:latest \\
|
|
194
|
-
python3 -m sglang.launch_server
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
201
|
+
python3 -m sglang.launch_server \\
|
|
202
|
+
--model-path "${model.id}" \\
|
|
203
|
+
--host 0.0.0.0 \\
|
|
204
|
+
--port 30000`;
|
|
205
|
+
const runCommandInstruct = `# Call the server using curl (OpenAI-compatible API):
|
|
206
|
+
curl -X POST "http://localhost:30000/v1/chat/completions" \\
|
|
207
|
+
-H "Content-Type: application/json" \\
|
|
208
|
+
--data '{
|
|
209
|
+
"model": "${model.id}",
|
|
210
|
+
"messages": ${(0, common_js_1.stringifyMessages)(messages, {
|
|
198
211
|
indent: "\t\t",
|
|
199
212
|
attributeKeyQuotes: true,
|
|
200
213
|
customContentEscaper: (str) => str.replace(/'/g, "'\\''"),
|
|
201
|
-
})}
|
|
214
|
+
})}
|
|
215
|
+
}'`;
|
|
216
|
+
const runCommandNonInstruct = `# Call the server using curl (OpenAI-compatible API):
|
|
217
|
+
curl -X POST "http://localhost:30000/v1/completions" \\
|
|
218
|
+
-H "Content-Type: application/json" \\
|
|
219
|
+
--data '{
|
|
220
|
+
"model": "${model.id}",
|
|
221
|
+
"prompt": "Once upon a time,",
|
|
222
|
+
"max_tokens": 512,
|
|
223
|
+
"temperature": 0.5
|
|
224
|
+
}'`;
|
|
225
|
+
const runCommand = model.tags.includes("conversational") ? runCommandInstruct : runCommandNonInstruct;
|
|
202
226
|
return [
|
|
203
227
|
{
|
|
204
228
|
title: "Install from pip and serve model",
|
|
@@ -274,7 +298,9 @@ const snippetMlxLm = (model) => {
|
|
|
274
298
|
];
|
|
275
299
|
};
|
|
276
300
|
const snippetDockerModelRunner = (model, filepath) => {
|
|
277
|
-
|
|
301
|
+
// Only add quant tag for GGUF models, not safetensors
|
|
302
|
+
const quantTag = isLlamaCppGgufModel(model) ? getQuantTag(filepath) : "";
|
|
303
|
+
return `docker model run hf.co/${model.id}${quantTag}`;
|
|
278
304
|
};
|
|
279
305
|
const snippetLemonade = (model, filepath) => {
|
|
280
306
|
const tagName = getQuantTag(filepath);
|
|
@@ -346,22 +372,19 @@ exports.LOCAL_APPS = {
|
|
|
346
372
|
prettyLabel: "vLLM",
|
|
347
373
|
docsUrl: "https://docs.vllm.ai",
|
|
348
374
|
mainTask: "text-generation",
|
|
349
|
-
displayOnModelPage:
|
|
350
|
-
isGptqModel(model) ||
|
|
351
|
-
isAqlmModel(model) ||
|
|
352
|
-
isMarlinModel(model) ||
|
|
353
|
-
isLlamaCppGgufModel(model) ||
|
|
354
|
-
isTransformersModel(model)) &&
|
|
355
|
-
(model.pipeline_tag === "text-generation" || model.pipeline_tag === "image-text-to-text"),
|
|
375
|
+
displayOnModelPage: isVllmModel,
|
|
356
376
|
snippet: snippetVllm,
|
|
357
377
|
},
|
|
358
378
|
sglang: {
|
|
359
379
|
prettyLabel: "SGLang",
|
|
360
380
|
docsUrl: "https://docs.sglang.io",
|
|
361
381
|
mainTask: "text-generation",
|
|
362
|
-
displayOnModelPage: (model) =>
|
|
363
|
-
(model
|
|
364
|
-
model
|
|
382
|
+
displayOnModelPage: (model) => (isAwqModel(model) ||
|
|
383
|
+
isGptqModel(model) ||
|
|
384
|
+
isAqlmModel(model) ||
|
|
385
|
+
isMarlinModel(model) ||
|
|
386
|
+
isTransformersModel(model)) &&
|
|
387
|
+
(model.pipeline_tag === "text-generation" || model.pipeline_tag === "image-text-to-text"),
|
|
365
388
|
snippet: snippetSglang,
|
|
366
389
|
},
|
|
367
390
|
"mlx-lm": {
|
|
@@ -490,7 +513,7 @@ exports.LOCAL_APPS = {
|
|
|
490
513
|
prettyLabel: "Docker Model Runner",
|
|
491
514
|
docsUrl: "https://docs.docker.com/ai/model-runner/",
|
|
492
515
|
mainTask: "text-generation",
|
|
493
|
-
displayOnModelPage:
|
|
516
|
+
displayOnModelPage: isDockerModelRunnerModel,
|
|
494
517
|
snippet: snippetDockerModelRunner,
|
|
495
518
|
},
|
|
496
519
|
lemonade: {
|
|
@@ -42,9 +42,9 @@ llama-cli -hf mlabonne/gemma-2b-GGUF:{{QUANT_TAG}}`,
|
|
|
42
42
|
inference: "",
|
|
43
43
|
};
|
|
44
44
|
const snippet = snippetFunc(model);
|
|
45
|
-
(0, vitest_1.expect)(snippet[0].content.join("\n")).toEqual(`#
|
|
45
|
+
(0, vitest_1.expect)(snippet[0].content.join("\n")).toEqual(`# Start the vLLM server:
|
|
46
46
|
vllm serve "meta-llama/Llama-3.2-3B-Instruct"
|
|
47
|
-
# Call the server using curl:
|
|
47
|
+
# Call the server using curl (OpenAI-compatible API):
|
|
48
48
|
curl -X POST "http://localhost:8000/v1/chat/completions" \\
|
|
49
49
|
-H "Content-Type: application/json" \\
|
|
50
50
|
--data '{
|
|
@@ -65,9 +65,9 @@ curl -X POST "http://localhost:8000/v1/chat/completions" \\
|
|
|
65
65
|
inference: "",
|
|
66
66
|
};
|
|
67
67
|
const snippet = snippetFunc(model);
|
|
68
|
-
(0, vitest_1.expect)(snippet[0].content.join("\n")).toEqual(`#
|
|
68
|
+
(0, vitest_1.expect)(snippet[0].content.join("\n")).toEqual(`# Start the vLLM server:
|
|
69
69
|
vllm serve "meta-llama/Llama-3.2-3B"
|
|
70
|
-
# Call the server using curl:
|
|
70
|
+
# Call the server using curl (OpenAI-compatible API):
|
|
71
71
|
curl -X POST "http://localhost:8000/v1/completions" \\
|
|
72
72
|
-H "Content-Type: application/json" \\
|
|
73
73
|
--data '{
|
|
@@ -86,9 +86,9 @@ curl -X POST "http://localhost:8000/v1/completions" \\
|
|
|
86
86
|
inference: "",
|
|
87
87
|
};
|
|
88
88
|
const snippet = snippetFunc(model);
|
|
89
|
-
(0, vitest_1.expect)(snippet[0].content.join("\n")).toEqual(`#
|
|
89
|
+
(0, vitest_1.expect)(snippet[0].content.join("\n")).toEqual(`# Start the vLLM server:
|
|
90
90
|
vllm serve "meta-llama/Llama-3.2-11B-Vision-Instruct"
|
|
91
|
-
# Call the server using curl:
|
|
91
|
+
# Call the server using curl (OpenAI-compatible API):
|
|
92
92
|
curl -X POST "http://localhost:8000/v1/chat/completions" \\
|
|
93
93
|
-H "Content-Type: application/json" \\
|
|
94
94
|
--data '{
|
|
@@ -117,6 +117,7 @@ curl -X POST "http://localhost:8000/v1/chat/completions" \\
|
|
|
117
117
|
const model = {
|
|
118
118
|
id: "bartowski/Llama-3.2-3B-Instruct-GGUF",
|
|
119
119
|
tags: ["conversational"],
|
|
120
|
+
gguf: { total: 1, context_length: 4096 },
|
|
120
121
|
inference: "",
|
|
121
122
|
};
|
|
122
123
|
const snippet = snippetFunc(model);
|
|
@@ -102,10 +102,12 @@ export declare const nemo: (model: ModelData) => string[];
|
|
|
102
102
|
export declare const outetts: (model: ModelData) => string[];
|
|
103
103
|
export declare const pxia: (model: ModelData) => string[];
|
|
104
104
|
export declare const pythae: (model: ModelData) => string[];
|
|
105
|
+
export declare const qwen3_tts: (model: ModelData) => string[];
|
|
105
106
|
export declare const anemoi: (model: ModelData) => string[];
|
|
106
107
|
export declare const audiocraft: (model: ModelData) => string[];
|
|
107
108
|
export declare const whisperkit: () => string[];
|
|
108
109
|
export declare const threedtopia_xl: (model: ModelData) => string[];
|
|
109
110
|
export declare const hezar: (model: ModelData) => string[];
|
|
110
111
|
export declare const zonos: (model: ModelData) => string[];
|
|
112
|
+
export declare const moshi: (model: ModelData) => string[];
|
|
111
113
|
//# 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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"}
|