@huggingface/inference 3.3.7 → 3.4.1
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/README.md +2 -0
- package/dist/index.cjs +79 -55
- package/dist/index.js +79 -55
- package/dist/src/lib/makeRequestOptions.d.ts.map +1 -1
- package/dist/src/providers/cohere.d.ts +19 -0
- package/dist/src/providers/cohere.d.ts.map +1 -0
- package/dist/src/providers/consts.d.ts.map +1 -1
- package/dist/src/types.d.ts +3 -3
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/lib/makeRequestOptions.ts +2 -0
- package/src/providers/cohere.ts +42 -0
- package/src/providers/consts.ts +1 -0
- package/src/types.ts +2 -2
package/README.md
CHANGED
|
@@ -56,6 +56,7 @@ Currently, we support the following providers:
|
|
|
56
56
|
- [Sambanova](https://sambanova.ai)
|
|
57
57
|
- [Together](https://together.xyz)
|
|
58
58
|
- [Blackforestlabs](https://blackforestlabs.ai)
|
|
59
|
+
- [Cohere](https://cohere.com)
|
|
59
60
|
|
|
60
61
|
To send requests to a third-party provider, you have to pass the `provider` parameter to the inference function. Make sure your request is authenticated with an access token.
|
|
61
62
|
```ts
|
|
@@ -80,6 +81,7 @@ Only a subset of models are supported when requesting third-party providers. You
|
|
|
80
81
|
- [Replicate supported models](https://huggingface.co/api/partners/replicate/models)
|
|
81
82
|
- [Sambanova supported models](https://huggingface.co/api/partners/sambanova/models)
|
|
82
83
|
- [Together supported models](https://huggingface.co/api/partners/together/models)
|
|
84
|
+
- [Cohere supported models](https://huggingface.co/api/partners/cohere/models)
|
|
83
85
|
- [HF Inference API (serverless)](https://huggingface.co/models?inference=warm&sort=trending)
|
|
84
86
|
|
|
85
87
|
❗**Important note:** To be compatible, the third-party API must adhere to the "standard" shape API we expect on HF model pages for each pipeline task type.
|
package/dist/index.cjs
CHANGED
|
@@ -122,38 +122,59 @@ var BLACK_FOREST_LABS_CONFIG = {
|
|
|
122
122
|
makeUrl
|
|
123
123
|
};
|
|
124
124
|
|
|
125
|
+
// src/providers/cohere.ts
|
|
126
|
+
var COHERE_API_BASE_URL = "https://api.cohere.com";
|
|
127
|
+
var makeBody2 = (params) => {
|
|
128
|
+
return {
|
|
129
|
+
...params.args,
|
|
130
|
+
model: params.model
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
var makeHeaders2 = (params) => {
|
|
134
|
+
return { Authorization: `Bearer ${params.accessToken}` };
|
|
135
|
+
};
|
|
136
|
+
var makeUrl2 = (params) => {
|
|
137
|
+
return `${params.baseUrl}/compatibility/v1/chat/completions`;
|
|
138
|
+
};
|
|
139
|
+
var COHERE_CONFIG = {
|
|
140
|
+
baseUrl: COHERE_API_BASE_URL,
|
|
141
|
+
makeBody: makeBody2,
|
|
142
|
+
makeHeaders: makeHeaders2,
|
|
143
|
+
makeUrl: makeUrl2
|
|
144
|
+
};
|
|
145
|
+
|
|
125
146
|
// src/providers/fal-ai.ts
|
|
126
147
|
var FAL_AI_API_BASE_URL = "https://fal.run";
|
|
127
|
-
var
|
|
148
|
+
var makeBody3 = (params) => {
|
|
128
149
|
return params.args;
|
|
129
150
|
};
|
|
130
|
-
var
|
|
151
|
+
var makeHeaders3 = (params) => {
|
|
131
152
|
return {
|
|
132
153
|
Authorization: params.authMethod === "provider-key" ? `Key ${params.accessToken}` : `Bearer ${params.accessToken}`
|
|
133
154
|
};
|
|
134
155
|
};
|
|
135
|
-
var
|
|
156
|
+
var makeUrl3 = (params) => {
|
|
136
157
|
return `${params.baseUrl}/${params.model}`;
|
|
137
158
|
};
|
|
138
159
|
var FAL_AI_CONFIG = {
|
|
139
160
|
baseUrl: FAL_AI_API_BASE_URL,
|
|
140
|
-
makeBody:
|
|
141
|
-
makeHeaders:
|
|
142
|
-
makeUrl:
|
|
161
|
+
makeBody: makeBody3,
|
|
162
|
+
makeHeaders: makeHeaders3,
|
|
163
|
+
makeUrl: makeUrl3
|
|
143
164
|
};
|
|
144
165
|
|
|
145
166
|
// src/providers/fireworks-ai.ts
|
|
146
167
|
var FIREWORKS_AI_API_BASE_URL = "https://api.fireworks.ai/inference";
|
|
147
|
-
var
|
|
168
|
+
var makeBody4 = (params) => {
|
|
148
169
|
return {
|
|
149
170
|
...params.args,
|
|
150
171
|
...params.chatCompletion ? { model: params.model } : void 0
|
|
151
172
|
};
|
|
152
173
|
};
|
|
153
|
-
var
|
|
174
|
+
var makeHeaders4 = (params) => {
|
|
154
175
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
155
176
|
};
|
|
156
|
-
var
|
|
177
|
+
var makeUrl4 = (params) => {
|
|
157
178
|
if (params.task === "text-generation" && params.chatCompletion) {
|
|
158
179
|
return `${params.baseUrl}/v1/chat/completions`;
|
|
159
180
|
}
|
|
@@ -161,22 +182,22 @@ var makeUrl3 = (params) => {
|
|
|
161
182
|
};
|
|
162
183
|
var FIREWORKS_AI_CONFIG = {
|
|
163
184
|
baseUrl: FIREWORKS_AI_API_BASE_URL,
|
|
164
|
-
makeBody:
|
|
165
|
-
makeHeaders:
|
|
166
|
-
makeUrl:
|
|
185
|
+
makeBody: makeBody4,
|
|
186
|
+
makeHeaders: makeHeaders4,
|
|
187
|
+
makeUrl: makeUrl4
|
|
167
188
|
};
|
|
168
189
|
|
|
169
190
|
// src/providers/hf-inference.ts
|
|
170
|
-
var
|
|
191
|
+
var makeBody5 = (params) => {
|
|
171
192
|
return {
|
|
172
193
|
...params.args,
|
|
173
194
|
...params.chatCompletion ? { model: params.model } : void 0
|
|
174
195
|
};
|
|
175
196
|
};
|
|
176
|
-
var
|
|
197
|
+
var makeHeaders5 = (params) => {
|
|
177
198
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
178
199
|
};
|
|
179
|
-
var
|
|
200
|
+
var makeUrl5 = (params) => {
|
|
180
201
|
if (params.task && ["feature-extraction", "sentence-similarity"].includes(params.task)) {
|
|
181
202
|
return `${params.baseUrl}/pipeline/${params.task}/${params.model}`;
|
|
182
203
|
}
|
|
@@ -187,23 +208,23 @@ var makeUrl4 = (params) => {
|
|
|
187
208
|
};
|
|
188
209
|
var HF_INFERENCE_CONFIG = {
|
|
189
210
|
baseUrl: `${HF_ROUTER_URL}/hf-inference`,
|
|
190
|
-
makeBody:
|
|
191
|
-
makeHeaders:
|
|
192
|
-
makeUrl:
|
|
211
|
+
makeBody: makeBody5,
|
|
212
|
+
makeHeaders: makeHeaders5,
|
|
213
|
+
makeUrl: makeUrl5
|
|
193
214
|
};
|
|
194
215
|
|
|
195
216
|
// src/providers/hyperbolic.ts
|
|
196
217
|
var HYPERBOLIC_API_BASE_URL = "https://api.hyperbolic.xyz";
|
|
197
|
-
var
|
|
218
|
+
var makeBody6 = (params) => {
|
|
198
219
|
return {
|
|
199
220
|
...params.args,
|
|
200
221
|
...params.task === "text-to-image" ? { model_name: params.model } : { model: params.model }
|
|
201
222
|
};
|
|
202
223
|
};
|
|
203
|
-
var
|
|
224
|
+
var makeHeaders6 = (params) => {
|
|
204
225
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
205
226
|
};
|
|
206
|
-
var
|
|
227
|
+
var makeUrl6 = (params) => {
|
|
207
228
|
if (params.task === "text-to-image") {
|
|
208
229
|
return `${params.baseUrl}/v1/images/generations`;
|
|
209
230
|
}
|
|
@@ -211,23 +232,23 @@ var makeUrl5 = (params) => {
|
|
|
211
232
|
};
|
|
212
233
|
var HYPERBOLIC_CONFIG = {
|
|
213
234
|
baseUrl: HYPERBOLIC_API_BASE_URL,
|
|
214
|
-
makeBody:
|
|
215
|
-
makeHeaders:
|
|
216
|
-
makeUrl:
|
|
235
|
+
makeBody: makeBody6,
|
|
236
|
+
makeHeaders: makeHeaders6,
|
|
237
|
+
makeUrl: makeUrl6
|
|
217
238
|
};
|
|
218
239
|
|
|
219
240
|
// src/providers/nebius.ts
|
|
220
241
|
var NEBIUS_API_BASE_URL = "https://api.studio.nebius.ai";
|
|
221
|
-
var
|
|
242
|
+
var makeBody7 = (params) => {
|
|
222
243
|
return {
|
|
223
244
|
...params.args,
|
|
224
245
|
model: params.model
|
|
225
246
|
};
|
|
226
247
|
};
|
|
227
|
-
var
|
|
248
|
+
var makeHeaders7 = (params) => {
|
|
228
249
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
229
250
|
};
|
|
230
|
-
var
|
|
251
|
+
var makeUrl7 = (params) => {
|
|
231
252
|
if (params.task === "text-to-image") {
|
|
232
253
|
return `${params.baseUrl}/v1/images/generations`;
|
|
233
254
|
}
|
|
@@ -241,23 +262,23 @@ var makeUrl6 = (params) => {
|
|
|
241
262
|
};
|
|
242
263
|
var NEBIUS_CONFIG = {
|
|
243
264
|
baseUrl: NEBIUS_API_BASE_URL,
|
|
244
|
-
makeBody:
|
|
245
|
-
makeHeaders:
|
|
246
|
-
makeUrl:
|
|
265
|
+
makeBody: makeBody7,
|
|
266
|
+
makeHeaders: makeHeaders7,
|
|
267
|
+
makeUrl: makeUrl7
|
|
247
268
|
};
|
|
248
269
|
|
|
249
270
|
// src/providers/novita.ts
|
|
250
271
|
var NOVITA_API_BASE_URL = "https://api.novita.ai/v3/openai";
|
|
251
|
-
var
|
|
272
|
+
var makeBody8 = (params) => {
|
|
252
273
|
return {
|
|
253
274
|
...params.args,
|
|
254
275
|
...params.chatCompletion ? { model: params.model } : void 0
|
|
255
276
|
};
|
|
256
277
|
};
|
|
257
|
-
var
|
|
278
|
+
var makeHeaders8 = (params) => {
|
|
258
279
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
259
280
|
};
|
|
260
|
-
var
|
|
281
|
+
var makeUrl8 = (params) => {
|
|
261
282
|
if (params.task === "text-generation") {
|
|
262
283
|
if (params.chatCompletion) {
|
|
263
284
|
return `${params.baseUrl}/chat/completions`;
|
|
@@ -268,23 +289,23 @@ var makeUrl7 = (params) => {
|
|
|
268
289
|
};
|
|
269
290
|
var NOVITA_CONFIG = {
|
|
270
291
|
baseUrl: NOVITA_API_BASE_URL,
|
|
271
|
-
makeBody:
|
|
272
|
-
makeHeaders:
|
|
273
|
-
makeUrl:
|
|
292
|
+
makeBody: makeBody8,
|
|
293
|
+
makeHeaders: makeHeaders8,
|
|
294
|
+
makeUrl: makeUrl8
|
|
274
295
|
};
|
|
275
296
|
|
|
276
297
|
// src/providers/replicate.ts
|
|
277
298
|
var REPLICATE_API_BASE_URL = "https://api.replicate.com";
|
|
278
|
-
var
|
|
299
|
+
var makeBody9 = (params) => {
|
|
279
300
|
return {
|
|
280
301
|
input: params.args,
|
|
281
302
|
version: params.model.includes(":") ? params.model.split(":")[1] : void 0
|
|
282
303
|
};
|
|
283
304
|
};
|
|
284
|
-
var
|
|
305
|
+
var makeHeaders9 = (params) => {
|
|
285
306
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
286
307
|
};
|
|
287
|
-
var
|
|
308
|
+
var makeUrl9 = (params) => {
|
|
288
309
|
if (params.model.includes(":")) {
|
|
289
310
|
return `${params.baseUrl}/v1/predictions`;
|
|
290
311
|
}
|
|
@@ -292,23 +313,23 @@ var makeUrl8 = (params) => {
|
|
|
292
313
|
};
|
|
293
314
|
var REPLICATE_CONFIG = {
|
|
294
315
|
baseUrl: REPLICATE_API_BASE_URL,
|
|
295
|
-
makeBody:
|
|
296
|
-
makeHeaders:
|
|
297
|
-
makeUrl:
|
|
316
|
+
makeBody: makeBody9,
|
|
317
|
+
makeHeaders: makeHeaders9,
|
|
318
|
+
makeUrl: makeUrl9
|
|
298
319
|
};
|
|
299
320
|
|
|
300
321
|
// src/providers/sambanova.ts
|
|
301
322
|
var SAMBANOVA_API_BASE_URL = "https://api.sambanova.ai";
|
|
302
|
-
var
|
|
323
|
+
var makeBody10 = (params) => {
|
|
303
324
|
return {
|
|
304
325
|
...params.args,
|
|
305
326
|
...params.chatCompletion ? { model: params.model } : void 0
|
|
306
327
|
};
|
|
307
328
|
};
|
|
308
|
-
var
|
|
329
|
+
var makeHeaders10 = (params) => {
|
|
309
330
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
310
331
|
};
|
|
311
|
-
var
|
|
332
|
+
var makeUrl10 = (params) => {
|
|
312
333
|
if (params.task === "text-generation" && params.chatCompletion) {
|
|
313
334
|
return `${params.baseUrl}/v1/chat/completions`;
|
|
314
335
|
}
|
|
@@ -316,23 +337,23 @@ var makeUrl9 = (params) => {
|
|
|
316
337
|
};
|
|
317
338
|
var SAMBANOVA_CONFIG = {
|
|
318
339
|
baseUrl: SAMBANOVA_API_BASE_URL,
|
|
319
|
-
makeBody:
|
|
320
|
-
makeHeaders:
|
|
321
|
-
makeUrl:
|
|
340
|
+
makeBody: makeBody10,
|
|
341
|
+
makeHeaders: makeHeaders10,
|
|
342
|
+
makeUrl: makeUrl10
|
|
322
343
|
};
|
|
323
344
|
|
|
324
345
|
// src/providers/together.ts
|
|
325
346
|
var TOGETHER_API_BASE_URL = "https://api.together.xyz";
|
|
326
|
-
var
|
|
347
|
+
var makeBody11 = (params) => {
|
|
327
348
|
return {
|
|
328
349
|
...params.args,
|
|
329
350
|
model: params.model
|
|
330
351
|
};
|
|
331
352
|
};
|
|
332
|
-
var
|
|
353
|
+
var makeHeaders11 = (params) => {
|
|
333
354
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
334
355
|
};
|
|
335
|
-
var
|
|
356
|
+
var makeUrl11 = (params) => {
|
|
336
357
|
if (params.task === "text-to-image") {
|
|
337
358
|
return `${params.baseUrl}/v1/images/generations`;
|
|
338
359
|
}
|
|
@@ -346,9 +367,9 @@ var makeUrl10 = (params) => {
|
|
|
346
367
|
};
|
|
347
368
|
var TOGETHER_CONFIG = {
|
|
348
369
|
baseUrl: TOGETHER_API_BASE_URL,
|
|
349
|
-
makeBody:
|
|
350
|
-
makeHeaders:
|
|
351
|
-
makeUrl:
|
|
370
|
+
makeBody: makeBody11,
|
|
371
|
+
makeHeaders: makeHeaders11,
|
|
372
|
+
makeUrl: makeUrl11
|
|
352
373
|
};
|
|
353
374
|
|
|
354
375
|
// src/lib/isUrl.ts
|
|
@@ -358,7 +379,7 @@ function isUrl(modelOrUrl) {
|
|
|
358
379
|
|
|
359
380
|
// package.json
|
|
360
381
|
var name = "@huggingface/inference";
|
|
361
|
-
var version = "3.
|
|
382
|
+
var version = "3.4.1";
|
|
362
383
|
|
|
363
384
|
// src/providers/consts.ts
|
|
364
385
|
var HARDCODED_MODEL_ID_MAPPING = {
|
|
@@ -369,6 +390,7 @@ var HARDCODED_MODEL_ID_MAPPING = {
|
|
|
369
390
|
* "Qwen/Qwen2.5-Coder-32B-Instruct": "Qwen2.5-Coder-32B-Instruct",
|
|
370
391
|
*/
|
|
371
392
|
"black-forest-labs": {},
|
|
393
|
+
cohere: {},
|
|
372
394
|
"fal-ai": {},
|
|
373
395
|
"fireworks-ai": {},
|
|
374
396
|
"hf-inference": {},
|
|
@@ -429,6 +451,7 @@ var HF_HUB_INFERENCE_PROXY_TEMPLATE = `${HF_ROUTER_URL}/{{PROVIDER}}`;
|
|
|
429
451
|
var tasks = null;
|
|
430
452
|
var providerConfigs = {
|
|
431
453
|
"black-forest-labs": BLACK_FOREST_LABS_CONFIG,
|
|
454
|
+
cohere: COHERE_CONFIG,
|
|
432
455
|
"fal-ai": FAL_AI_CONFIG,
|
|
433
456
|
"fireworks-ai": FIREWORKS_AI_CONFIG,
|
|
434
457
|
"hf-inference": HF_INFERENCE_CONFIG,
|
|
@@ -1519,6 +1542,7 @@ var HfInferenceEndpoint = class {
|
|
|
1519
1542
|
// src/types.ts
|
|
1520
1543
|
var INFERENCE_PROVIDERS = [
|
|
1521
1544
|
"black-forest-labs",
|
|
1545
|
+
"cohere",
|
|
1522
1546
|
"fal-ai",
|
|
1523
1547
|
"fireworks-ai",
|
|
1524
1548
|
"hf-inference",
|
package/dist/index.js
CHANGED
|
@@ -67,38 +67,59 @@ var BLACK_FOREST_LABS_CONFIG = {
|
|
|
67
67
|
makeUrl
|
|
68
68
|
};
|
|
69
69
|
|
|
70
|
+
// src/providers/cohere.ts
|
|
71
|
+
var COHERE_API_BASE_URL = "https://api.cohere.com";
|
|
72
|
+
var makeBody2 = (params) => {
|
|
73
|
+
return {
|
|
74
|
+
...params.args,
|
|
75
|
+
model: params.model
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
var makeHeaders2 = (params) => {
|
|
79
|
+
return { Authorization: `Bearer ${params.accessToken}` };
|
|
80
|
+
};
|
|
81
|
+
var makeUrl2 = (params) => {
|
|
82
|
+
return `${params.baseUrl}/compatibility/v1/chat/completions`;
|
|
83
|
+
};
|
|
84
|
+
var COHERE_CONFIG = {
|
|
85
|
+
baseUrl: COHERE_API_BASE_URL,
|
|
86
|
+
makeBody: makeBody2,
|
|
87
|
+
makeHeaders: makeHeaders2,
|
|
88
|
+
makeUrl: makeUrl2
|
|
89
|
+
};
|
|
90
|
+
|
|
70
91
|
// src/providers/fal-ai.ts
|
|
71
92
|
var FAL_AI_API_BASE_URL = "https://fal.run";
|
|
72
|
-
var
|
|
93
|
+
var makeBody3 = (params) => {
|
|
73
94
|
return params.args;
|
|
74
95
|
};
|
|
75
|
-
var
|
|
96
|
+
var makeHeaders3 = (params) => {
|
|
76
97
|
return {
|
|
77
98
|
Authorization: params.authMethod === "provider-key" ? `Key ${params.accessToken}` : `Bearer ${params.accessToken}`
|
|
78
99
|
};
|
|
79
100
|
};
|
|
80
|
-
var
|
|
101
|
+
var makeUrl3 = (params) => {
|
|
81
102
|
return `${params.baseUrl}/${params.model}`;
|
|
82
103
|
};
|
|
83
104
|
var FAL_AI_CONFIG = {
|
|
84
105
|
baseUrl: FAL_AI_API_BASE_URL,
|
|
85
|
-
makeBody:
|
|
86
|
-
makeHeaders:
|
|
87
|
-
makeUrl:
|
|
106
|
+
makeBody: makeBody3,
|
|
107
|
+
makeHeaders: makeHeaders3,
|
|
108
|
+
makeUrl: makeUrl3
|
|
88
109
|
};
|
|
89
110
|
|
|
90
111
|
// src/providers/fireworks-ai.ts
|
|
91
112
|
var FIREWORKS_AI_API_BASE_URL = "https://api.fireworks.ai/inference";
|
|
92
|
-
var
|
|
113
|
+
var makeBody4 = (params) => {
|
|
93
114
|
return {
|
|
94
115
|
...params.args,
|
|
95
116
|
...params.chatCompletion ? { model: params.model } : void 0
|
|
96
117
|
};
|
|
97
118
|
};
|
|
98
|
-
var
|
|
119
|
+
var makeHeaders4 = (params) => {
|
|
99
120
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
100
121
|
};
|
|
101
|
-
var
|
|
122
|
+
var makeUrl4 = (params) => {
|
|
102
123
|
if (params.task === "text-generation" && params.chatCompletion) {
|
|
103
124
|
return `${params.baseUrl}/v1/chat/completions`;
|
|
104
125
|
}
|
|
@@ -106,22 +127,22 @@ var makeUrl3 = (params) => {
|
|
|
106
127
|
};
|
|
107
128
|
var FIREWORKS_AI_CONFIG = {
|
|
108
129
|
baseUrl: FIREWORKS_AI_API_BASE_URL,
|
|
109
|
-
makeBody:
|
|
110
|
-
makeHeaders:
|
|
111
|
-
makeUrl:
|
|
130
|
+
makeBody: makeBody4,
|
|
131
|
+
makeHeaders: makeHeaders4,
|
|
132
|
+
makeUrl: makeUrl4
|
|
112
133
|
};
|
|
113
134
|
|
|
114
135
|
// src/providers/hf-inference.ts
|
|
115
|
-
var
|
|
136
|
+
var makeBody5 = (params) => {
|
|
116
137
|
return {
|
|
117
138
|
...params.args,
|
|
118
139
|
...params.chatCompletion ? { model: params.model } : void 0
|
|
119
140
|
};
|
|
120
141
|
};
|
|
121
|
-
var
|
|
142
|
+
var makeHeaders5 = (params) => {
|
|
122
143
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
123
144
|
};
|
|
124
|
-
var
|
|
145
|
+
var makeUrl5 = (params) => {
|
|
125
146
|
if (params.task && ["feature-extraction", "sentence-similarity"].includes(params.task)) {
|
|
126
147
|
return `${params.baseUrl}/pipeline/${params.task}/${params.model}`;
|
|
127
148
|
}
|
|
@@ -132,23 +153,23 @@ var makeUrl4 = (params) => {
|
|
|
132
153
|
};
|
|
133
154
|
var HF_INFERENCE_CONFIG = {
|
|
134
155
|
baseUrl: `${HF_ROUTER_URL}/hf-inference`,
|
|
135
|
-
makeBody:
|
|
136
|
-
makeHeaders:
|
|
137
|
-
makeUrl:
|
|
156
|
+
makeBody: makeBody5,
|
|
157
|
+
makeHeaders: makeHeaders5,
|
|
158
|
+
makeUrl: makeUrl5
|
|
138
159
|
};
|
|
139
160
|
|
|
140
161
|
// src/providers/hyperbolic.ts
|
|
141
162
|
var HYPERBOLIC_API_BASE_URL = "https://api.hyperbolic.xyz";
|
|
142
|
-
var
|
|
163
|
+
var makeBody6 = (params) => {
|
|
143
164
|
return {
|
|
144
165
|
...params.args,
|
|
145
166
|
...params.task === "text-to-image" ? { model_name: params.model } : { model: params.model }
|
|
146
167
|
};
|
|
147
168
|
};
|
|
148
|
-
var
|
|
169
|
+
var makeHeaders6 = (params) => {
|
|
149
170
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
150
171
|
};
|
|
151
|
-
var
|
|
172
|
+
var makeUrl6 = (params) => {
|
|
152
173
|
if (params.task === "text-to-image") {
|
|
153
174
|
return `${params.baseUrl}/v1/images/generations`;
|
|
154
175
|
}
|
|
@@ -156,23 +177,23 @@ var makeUrl5 = (params) => {
|
|
|
156
177
|
};
|
|
157
178
|
var HYPERBOLIC_CONFIG = {
|
|
158
179
|
baseUrl: HYPERBOLIC_API_BASE_URL,
|
|
159
|
-
makeBody:
|
|
160
|
-
makeHeaders:
|
|
161
|
-
makeUrl:
|
|
180
|
+
makeBody: makeBody6,
|
|
181
|
+
makeHeaders: makeHeaders6,
|
|
182
|
+
makeUrl: makeUrl6
|
|
162
183
|
};
|
|
163
184
|
|
|
164
185
|
// src/providers/nebius.ts
|
|
165
186
|
var NEBIUS_API_BASE_URL = "https://api.studio.nebius.ai";
|
|
166
|
-
var
|
|
187
|
+
var makeBody7 = (params) => {
|
|
167
188
|
return {
|
|
168
189
|
...params.args,
|
|
169
190
|
model: params.model
|
|
170
191
|
};
|
|
171
192
|
};
|
|
172
|
-
var
|
|
193
|
+
var makeHeaders7 = (params) => {
|
|
173
194
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
174
195
|
};
|
|
175
|
-
var
|
|
196
|
+
var makeUrl7 = (params) => {
|
|
176
197
|
if (params.task === "text-to-image") {
|
|
177
198
|
return `${params.baseUrl}/v1/images/generations`;
|
|
178
199
|
}
|
|
@@ -186,23 +207,23 @@ var makeUrl6 = (params) => {
|
|
|
186
207
|
};
|
|
187
208
|
var NEBIUS_CONFIG = {
|
|
188
209
|
baseUrl: NEBIUS_API_BASE_URL,
|
|
189
|
-
makeBody:
|
|
190
|
-
makeHeaders:
|
|
191
|
-
makeUrl:
|
|
210
|
+
makeBody: makeBody7,
|
|
211
|
+
makeHeaders: makeHeaders7,
|
|
212
|
+
makeUrl: makeUrl7
|
|
192
213
|
};
|
|
193
214
|
|
|
194
215
|
// src/providers/novita.ts
|
|
195
216
|
var NOVITA_API_BASE_URL = "https://api.novita.ai/v3/openai";
|
|
196
|
-
var
|
|
217
|
+
var makeBody8 = (params) => {
|
|
197
218
|
return {
|
|
198
219
|
...params.args,
|
|
199
220
|
...params.chatCompletion ? { model: params.model } : void 0
|
|
200
221
|
};
|
|
201
222
|
};
|
|
202
|
-
var
|
|
223
|
+
var makeHeaders8 = (params) => {
|
|
203
224
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
204
225
|
};
|
|
205
|
-
var
|
|
226
|
+
var makeUrl8 = (params) => {
|
|
206
227
|
if (params.task === "text-generation") {
|
|
207
228
|
if (params.chatCompletion) {
|
|
208
229
|
return `${params.baseUrl}/chat/completions`;
|
|
@@ -213,23 +234,23 @@ var makeUrl7 = (params) => {
|
|
|
213
234
|
};
|
|
214
235
|
var NOVITA_CONFIG = {
|
|
215
236
|
baseUrl: NOVITA_API_BASE_URL,
|
|
216
|
-
makeBody:
|
|
217
|
-
makeHeaders:
|
|
218
|
-
makeUrl:
|
|
237
|
+
makeBody: makeBody8,
|
|
238
|
+
makeHeaders: makeHeaders8,
|
|
239
|
+
makeUrl: makeUrl8
|
|
219
240
|
};
|
|
220
241
|
|
|
221
242
|
// src/providers/replicate.ts
|
|
222
243
|
var REPLICATE_API_BASE_URL = "https://api.replicate.com";
|
|
223
|
-
var
|
|
244
|
+
var makeBody9 = (params) => {
|
|
224
245
|
return {
|
|
225
246
|
input: params.args,
|
|
226
247
|
version: params.model.includes(":") ? params.model.split(":")[1] : void 0
|
|
227
248
|
};
|
|
228
249
|
};
|
|
229
|
-
var
|
|
250
|
+
var makeHeaders9 = (params) => {
|
|
230
251
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
231
252
|
};
|
|
232
|
-
var
|
|
253
|
+
var makeUrl9 = (params) => {
|
|
233
254
|
if (params.model.includes(":")) {
|
|
234
255
|
return `${params.baseUrl}/v1/predictions`;
|
|
235
256
|
}
|
|
@@ -237,23 +258,23 @@ var makeUrl8 = (params) => {
|
|
|
237
258
|
};
|
|
238
259
|
var REPLICATE_CONFIG = {
|
|
239
260
|
baseUrl: REPLICATE_API_BASE_URL,
|
|
240
|
-
makeBody:
|
|
241
|
-
makeHeaders:
|
|
242
|
-
makeUrl:
|
|
261
|
+
makeBody: makeBody9,
|
|
262
|
+
makeHeaders: makeHeaders9,
|
|
263
|
+
makeUrl: makeUrl9
|
|
243
264
|
};
|
|
244
265
|
|
|
245
266
|
// src/providers/sambanova.ts
|
|
246
267
|
var SAMBANOVA_API_BASE_URL = "https://api.sambanova.ai";
|
|
247
|
-
var
|
|
268
|
+
var makeBody10 = (params) => {
|
|
248
269
|
return {
|
|
249
270
|
...params.args,
|
|
250
271
|
...params.chatCompletion ? { model: params.model } : void 0
|
|
251
272
|
};
|
|
252
273
|
};
|
|
253
|
-
var
|
|
274
|
+
var makeHeaders10 = (params) => {
|
|
254
275
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
255
276
|
};
|
|
256
|
-
var
|
|
277
|
+
var makeUrl10 = (params) => {
|
|
257
278
|
if (params.task === "text-generation" && params.chatCompletion) {
|
|
258
279
|
return `${params.baseUrl}/v1/chat/completions`;
|
|
259
280
|
}
|
|
@@ -261,23 +282,23 @@ var makeUrl9 = (params) => {
|
|
|
261
282
|
};
|
|
262
283
|
var SAMBANOVA_CONFIG = {
|
|
263
284
|
baseUrl: SAMBANOVA_API_BASE_URL,
|
|
264
|
-
makeBody:
|
|
265
|
-
makeHeaders:
|
|
266
|
-
makeUrl:
|
|
285
|
+
makeBody: makeBody10,
|
|
286
|
+
makeHeaders: makeHeaders10,
|
|
287
|
+
makeUrl: makeUrl10
|
|
267
288
|
};
|
|
268
289
|
|
|
269
290
|
// src/providers/together.ts
|
|
270
291
|
var TOGETHER_API_BASE_URL = "https://api.together.xyz";
|
|
271
|
-
var
|
|
292
|
+
var makeBody11 = (params) => {
|
|
272
293
|
return {
|
|
273
294
|
...params.args,
|
|
274
295
|
model: params.model
|
|
275
296
|
};
|
|
276
297
|
};
|
|
277
|
-
var
|
|
298
|
+
var makeHeaders11 = (params) => {
|
|
278
299
|
return { Authorization: `Bearer ${params.accessToken}` };
|
|
279
300
|
};
|
|
280
|
-
var
|
|
301
|
+
var makeUrl11 = (params) => {
|
|
281
302
|
if (params.task === "text-to-image") {
|
|
282
303
|
return `${params.baseUrl}/v1/images/generations`;
|
|
283
304
|
}
|
|
@@ -291,9 +312,9 @@ var makeUrl10 = (params) => {
|
|
|
291
312
|
};
|
|
292
313
|
var TOGETHER_CONFIG = {
|
|
293
314
|
baseUrl: TOGETHER_API_BASE_URL,
|
|
294
|
-
makeBody:
|
|
295
|
-
makeHeaders:
|
|
296
|
-
makeUrl:
|
|
315
|
+
makeBody: makeBody11,
|
|
316
|
+
makeHeaders: makeHeaders11,
|
|
317
|
+
makeUrl: makeUrl11
|
|
297
318
|
};
|
|
298
319
|
|
|
299
320
|
// src/lib/isUrl.ts
|
|
@@ -303,7 +324,7 @@ function isUrl(modelOrUrl) {
|
|
|
303
324
|
|
|
304
325
|
// package.json
|
|
305
326
|
var name = "@huggingface/inference";
|
|
306
|
-
var version = "3.
|
|
327
|
+
var version = "3.4.1";
|
|
307
328
|
|
|
308
329
|
// src/providers/consts.ts
|
|
309
330
|
var HARDCODED_MODEL_ID_MAPPING = {
|
|
@@ -314,6 +335,7 @@ var HARDCODED_MODEL_ID_MAPPING = {
|
|
|
314
335
|
* "Qwen/Qwen2.5-Coder-32B-Instruct": "Qwen2.5-Coder-32B-Instruct",
|
|
315
336
|
*/
|
|
316
337
|
"black-forest-labs": {},
|
|
338
|
+
cohere: {},
|
|
317
339
|
"fal-ai": {},
|
|
318
340
|
"fireworks-ai": {},
|
|
319
341
|
"hf-inference": {},
|
|
@@ -374,6 +396,7 @@ var HF_HUB_INFERENCE_PROXY_TEMPLATE = `${HF_ROUTER_URL}/{{PROVIDER}}`;
|
|
|
374
396
|
var tasks = null;
|
|
375
397
|
var providerConfigs = {
|
|
376
398
|
"black-forest-labs": BLACK_FOREST_LABS_CONFIG,
|
|
399
|
+
cohere: COHERE_CONFIG,
|
|
377
400
|
"fal-ai": FAL_AI_CONFIG,
|
|
378
401
|
"fireworks-ai": FIREWORKS_AI_CONFIG,
|
|
379
402
|
"hf-inference": HF_INFERENCE_CONFIG,
|
|
@@ -1464,6 +1487,7 @@ var HfInferenceEndpoint = class {
|
|
|
1464
1487
|
// src/types.ts
|
|
1465
1488
|
var INFERENCE_PROVIDERS = [
|
|
1466
1489
|
"black-forest-labs",
|
|
1490
|
+
"cohere",
|
|
1467
1491
|
"fal-ai",
|
|
1468
1492
|
"fireworks-ai",
|
|
1469
1493
|
"hf-inference",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeRequestOptions.d.ts","sourceRoot":"","sources":["../../../src/lib/makeRequestOptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"makeRequestOptions.d.ts","sourceRoot":"","sources":["../../../src/lib/makeRequestOptions.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAqB,aAAa,EAAE,OAAO,EAAkB,WAAW,EAAE,MAAM,UAAU,CAAC;AA8BvG;;GAEG;AACH,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,WAAW,GAAG;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,EACD,OAAO,CAAC,EAAE,OAAO,GAAG;IACnB,oEAAoE;IACpE,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB,GACC,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,CAsG7C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* See the registered mapping of HF model ID => Cohere model ID here:
|
|
3
|
+
*
|
|
4
|
+
* https://huggingface.co/api/partners/cohere/models
|
|
5
|
+
*
|
|
6
|
+
* This is a publicly available mapping.
|
|
7
|
+
*
|
|
8
|
+
* If you want to try to run inference for a new model locally before it's registered on huggingface.co,
|
|
9
|
+
* you can add it to the dictionary "HARDCODED_MODEL_ID_MAPPING" in consts.ts, for dev purposes.
|
|
10
|
+
*
|
|
11
|
+
* - If you work at Cohere and want to update this mapping, please use the model mapping API we provide on huggingface.co
|
|
12
|
+
* - If you're a community member and want to add a new supported HF model to Cohere, please open an issue on the present repo
|
|
13
|
+
* and we will tag Cohere team members.
|
|
14
|
+
*
|
|
15
|
+
* Thanks!
|
|
16
|
+
*/
|
|
17
|
+
import type { ProviderConfig } from "../types";
|
|
18
|
+
export declare const COHERE_CONFIG: ProviderConfig;
|
|
19
|
+
//# sourceMappingURL=cohere.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cohere.d.ts","sourceRoot":"","sources":["../../../src/providers/cohere.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,cAAc,EAAuC,MAAM,UAAU,CAAC;AAoBpF,eAAO,MAAM,aAAa,EAAE,cAK3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/providers/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,KAAK,UAAU,GAAG,MAAM,CAAC;AACzB;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/providers/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,KAAK,UAAU,GAAG,MAAM,CAAC;AACzB;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAkB7F,CAAC"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChatCompletionInput,
|
|
1
|
+
import type { ChatCompletionInput, PipelineType } from "@huggingface/tasks";
|
|
2
2
|
/**
|
|
3
3
|
* HF model id, like "meta-llama/Llama-3.3-70B-Instruct"
|
|
4
4
|
*/
|
|
@@ -22,7 +22,7 @@ export interface Options {
|
|
|
22
22
|
includeCredentials?: string | boolean;
|
|
23
23
|
}
|
|
24
24
|
export type InferenceTask = Exclude<PipelineType, "other">;
|
|
25
|
-
export declare const INFERENCE_PROVIDERS: readonly ["black-forest-labs", "fal-ai", "fireworks-ai", "hf-inference", "hyperbolic", "nebius", "novita", "replicate", "sambanova", "together"];
|
|
25
|
+
export declare const INFERENCE_PROVIDERS: readonly ["black-forest-labs", "cohere", "fal-ai", "fireworks-ai", "hf-inference", "hyperbolic", "nebius", "novita", "replicate", "sambanova", "together"];
|
|
26
26
|
export type InferenceProvider = (typeof INFERENCE_PROVIDERS)[number];
|
|
27
27
|
export interface BaseArgs {
|
|
28
28
|
/**
|
|
@@ -65,7 +65,7 @@ export type RequestArgs = BaseArgs & ({
|
|
|
65
65
|
text: string;
|
|
66
66
|
} | {
|
|
67
67
|
audio_url: string;
|
|
68
|
-
} | ChatCompletionInput
|
|
68
|
+
} | ChatCompletionInput) & {
|
|
69
69
|
parameters?: Record<string, unknown>;
|
|
70
70
|
};
|
|
71
71
|
export interface ProviderConfig {
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,OAAO;IACvB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtC;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAE3D,eAAO,MAAM,mBAAmB,4JAYtB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,MAAM,WAAW,QAAQ;IACxB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GACjC,CACG;IAAE,IAAI,EAAE,IAAI,GAAG,WAAW,CAAA;CAAE,GAC5B;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GACrB,mBAAmB,CACrB,GAAG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAEH,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,WAAW,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,qBAAqB,GAAG,cAAc,CAAC;CACzE;AAED,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC;CACrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@huggingface/inference",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.1",
|
|
4
4
|
"packageManager": "pnpm@8.10.5",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Tim Mikeladze <tim.mikeladze@gmail.com>",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"type": "module",
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@huggingface/tasks": "^0.16.
|
|
42
|
+
"@huggingface/tasks": "^0.16.5"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "18.13.0"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HF_HUB_URL, HF_ROUTER_URL } from "../config";
|
|
2
2
|
import { BLACK_FOREST_LABS_CONFIG } from "../providers/black-forest-labs";
|
|
3
|
+
import { COHERE_CONFIG } from "../providers/cohere";
|
|
3
4
|
import { FAL_AI_CONFIG } from "../providers/fal-ai";
|
|
4
5
|
import { FIREWORKS_AI_CONFIG } from "../providers/fireworks-ai";
|
|
5
6
|
import { HF_INFERENCE_CONFIG } from "../providers/hf-inference";
|
|
@@ -27,6 +28,7 @@ let tasks: Record<string, { models: { id: string }[] }> | null = null;
|
|
|
27
28
|
*/
|
|
28
29
|
const providerConfigs: Record<InferenceProvider, ProviderConfig> = {
|
|
29
30
|
"black-forest-labs": BLACK_FOREST_LABS_CONFIG,
|
|
31
|
+
cohere: COHERE_CONFIG,
|
|
30
32
|
"fal-ai": FAL_AI_CONFIG,
|
|
31
33
|
"fireworks-ai": FIREWORKS_AI_CONFIG,
|
|
32
34
|
"hf-inference": HF_INFERENCE_CONFIG,
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* See the registered mapping of HF model ID => Cohere model ID here:
|
|
3
|
+
*
|
|
4
|
+
* https://huggingface.co/api/partners/cohere/models
|
|
5
|
+
*
|
|
6
|
+
* This is a publicly available mapping.
|
|
7
|
+
*
|
|
8
|
+
* If you want to try to run inference for a new model locally before it's registered on huggingface.co,
|
|
9
|
+
* you can add it to the dictionary "HARDCODED_MODEL_ID_MAPPING" in consts.ts, for dev purposes.
|
|
10
|
+
*
|
|
11
|
+
* - If you work at Cohere and want to update this mapping, please use the model mapping API we provide on huggingface.co
|
|
12
|
+
* - If you're a community member and want to add a new supported HF model to Cohere, please open an issue on the present repo
|
|
13
|
+
* and we will tag Cohere team members.
|
|
14
|
+
*
|
|
15
|
+
* Thanks!
|
|
16
|
+
*/
|
|
17
|
+
import type { ProviderConfig, UrlParams, HeaderParams, BodyParams } from "../types";
|
|
18
|
+
|
|
19
|
+
const COHERE_API_BASE_URL = "https://api.cohere.com";
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
const makeBody = (params: BodyParams): Record<string, unknown> => {
|
|
23
|
+
return {
|
|
24
|
+
...params.args,
|
|
25
|
+
model: params.model,
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const makeHeaders = (params: HeaderParams): Record<string, string> => {
|
|
30
|
+
return { Authorization: `Bearer ${params.accessToken}` };
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const makeUrl = (params: UrlParams): string => {
|
|
34
|
+
return `${params.baseUrl}/compatibility/v1/chat/completions`;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const COHERE_CONFIG: ProviderConfig = {
|
|
38
|
+
baseUrl: COHERE_API_BASE_URL,
|
|
39
|
+
makeBody,
|
|
40
|
+
makeHeaders,
|
|
41
|
+
makeUrl,
|
|
42
|
+
};
|
package/src/providers/consts.ts
CHANGED
|
@@ -17,6 +17,7 @@ export const HARDCODED_MODEL_ID_MAPPING: Record<InferenceProvider, Record<ModelI
|
|
|
17
17
|
* "Qwen/Qwen2.5-Coder-32B-Instruct": "Qwen2.5-Coder-32B-Instruct",
|
|
18
18
|
*/
|
|
19
19
|
"black-forest-labs": {},
|
|
20
|
+
cohere: {},
|
|
20
21
|
"fal-ai": {},
|
|
21
22
|
"fireworks-ai": {},
|
|
22
23
|
"hf-inference": {},
|
package/src/types.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChatCompletionInput,
|
|
1
|
+
import type { ChatCompletionInput, PipelineType } from "@huggingface/tasks";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* HF model id, like "meta-llama/Llama-3.3-70B-Instruct"
|
|
@@ -30,6 +30,7 @@ export type InferenceTask = Exclude<PipelineType, "other">;
|
|
|
30
30
|
|
|
31
31
|
export const INFERENCE_PROVIDERS = [
|
|
32
32
|
"black-forest-labs",
|
|
33
|
+
"cohere",
|
|
33
34
|
"fal-ai",
|
|
34
35
|
"fireworks-ai",
|
|
35
36
|
"hf-inference",
|
|
@@ -86,7 +87,6 @@ export type RequestArgs = BaseArgs &
|
|
|
86
87
|
| { text: string }
|
|
87
88
|
| { audio_url: string }
|
|
88
89
|
| ChatCompletionInput
|
|
89
|
-
| FeatureExtractionInput
|
|
90
90
|
) & {
|
|
91
91
|
parameters?: Record<string, unknown>;
|
|
92
92
|
};
|