@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 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 makeBody2 = (params) => {
148
+ var makeBody3 = (params) => {
128
149
  return params.args;
129
150
  };
130
- var makeHeaders2 = (params) => {
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 makeUrl2 = (params) => {
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: makeBody2,
141
- makeHeaders: makeHeaders2,
142
- makeUrl: makeUrl2
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 makeBody3 = (params) => {
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 makeHeaders3 = (params) => {
174
+ var makeHeaders4 = (params) => {
154
175
  return { Authorization: `Bearer ${params.accessToken}` };
155
176
  };
156
- var makeUrl3 = (params) => {
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: makeBody3,
165
- makeHeaders: makeHeaders3,
166
- makeUrl: makeUrl3
185
+ makeBody: makeBody4,
186
+ makeHeaders: makeHeaders4,
187
+ makeUrl: makeUrl4
167
188
  };
168
189
 
169
190
  // src/providers/hf-inference.ts
170
- var makeBody4 = (params) => {
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 makeHeaders4 = (params) => {
197
+ var makeHeaders5 = (params) => {
177
198
  return { Authorization: `Bearer ${params.accessToken}` };
178
199
  };
179
- var makeUrl4 = (params) => {
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: makeBody4,
191
- makeHeaders: makeHeaders4,
192
- makeUrl: makeUrl4
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 makeBody5 = (params) => {
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 makeHeaders5 = (params) => {
224
+ var makeHeaders6 = (params) => {
204
225
  return { Authorization: `Bearer ${params.accessToken}` };
205
226
  };
206
- var makeUrl5 = (params) => {
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: makeBody5,
215
- makeHeaders: makeHeaders5,
216
- makeUrl: makeUrl5
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 makeBody6 = (params) => {
242
+ var makeBody7 = (params) => {
222
243
  return {
223
244
  ...params.args,
224
245
  model: params.model
225
246
  };
226
247
  };
227
- var makeHeaders6 = (params) => {
248
+ var makeHeaders7 = (params) => {
228
249
  return { Authorization: `Bearer ${params.accessToken}` };
229
250
  };
230
- var makeUrl6 = (params) => {
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: makeBody6,
245
- makeHeaders: makeHeaders6,
246
- makeUrl: makeUrl6
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 makeBody7 = (params) => {
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 makeHeaders7 = (params) => {
278
+ var makeHeaders8 = (params) => {
258
279
  return { Authorization: `Bearer ${params.accessToken}` };
259
280
  };
260
- var makeUrl7 = (params) => {
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: makeBody7,
272
- makeHeaders: makeHeaders7,
273
- makeUrl: makeUrl7
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 makeBody8 = (params) => {
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 makeHeaders8 = (params) => {
305
+ var makeHeaders9 = (params) => {
285
306
  return { Authorization: `Bearer ${params.accessToken}` };
286
307
  };
287
- var makeUrl8 = (params) => {
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: makeBody8,
296
- makeHeaders: makeHeaders8,
297
- makeUrl: makeUrl8
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 makeBody9 = (params) => {
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 makeHeaders9 = (params) => {
329
+ var makeHeaders10 = (params) => {
309
330
  return { Authorization: `Bearer ${params.accessToken}` };
310
331
  };
311
- var makeUrl9 = (params) => {
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: makeBody9,
320
- makeHeaders: makeHeaders9,
321
- makeUrl: makeUrl9
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 makeBody10 = (params) => {
347
+ var makeBody11 = (params) => {
327
348
  return {
328
349
  ...params.args,
329
350
  model: params.model
330
351
  };
331
352
  };
332
- var makeHeaders10 = (params) => {
353
+ var makeHeaders11 = (params) => {
333
354
  return { Authorization: `Bearer ${params.accessToken}` };
334
355
  };
335
- var makeUrl10 = (params) => {
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: makeBody10,
350
- makeHeaders: makeHeaders10,
351
- makeUrl: makeUrl10
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.3.7";
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 makeBody2 = (params) => {
93
+ var makeBody3 = (params) => {
73
94
  return params.args;
74
95
  };
75
- var makeHeaders2 = (params) => {
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 makeUrl2 = (params) => {
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: makeBody2,
86
- makeHeaders: makeHeaders2,
87
- makeUrl: makeUrl2
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 makeBody3 = (params) => {
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 makeHeaders3 = (params) => {
119
+ var makeHeaders4 = (params) => {
99
120
  return { Authorization: `Bearer ${params.accessToken}` };
100
121
  };
101
- var makeUrl3 = (params) => {
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: makeBody3,
110
- makeHeaders: makeHeaders3,
111
- makeUrl: makeUrl3
130
+ makeBody: makeBody4,
131
+ makeHeaders: makeHeaders4,
132
+ makeUrl: makeUrl4
112
133
  };
113
134
 
114
135
  // src/providers/hf-inference.ts
115
- var makeBody4 = (params) => {
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 makeHeaders4 = (params) => {
142
+ var makeHeaders5 = (params) => {
122
143
  return { Authorization: `Bearer ${params.accessToken}` };
123
144
  };
124
- var makeUrl4 = (params) => {
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: makeBody4,
136
- makeHeaders: makeHeaders4,
137
- makeUrl: makeUrl4
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 makeBody5 = (params) => {
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 makeHeaders5 = (params) => {
169
+ var makeHeaders6 = (params) => {
149
170
  return { Authorization: `Bearer ${params.accessToken}` };
150
171
  };
151
- var makeUrl5 = (params) => {
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: makeBody5,
160
- makeHeaders: makeHeaders5,
161
- makeUrl: makeUrl5
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 makeBody6 = (params) => {
187
+ var makeBody7 = (params) => {
167
188
  return {
168
189
  ...params.args,
169
190
  model: params.model
170
191
  };
171
192
  };
172
- var makeHeaders6 = (params) => {
193
+ var makeHeaders7 = (params) => {
173
194
  return { Authorization: `Bearer ${params.accessToken}` };
174
195
  };
175
- var makeUrl6 = (params) => {
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: makeBody6,
190
- makeHeaders: makeHeaders6,
191
- makeUrl: makeUrl6
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 makeBody7 = (params) => {
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 makeHeaders7 = (params) => {
223
+ var makeHeaders8 = (params) => {
203
224
  return { Authorization: `Bearer ${params.accessToken}` };
204
225
  };
205
- var makeUrl7 = (params) => {
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: makeBody7,
217
- makeHeaders: makeHeaders7,
218
- makeUrl: makeUrl7
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 makeBody8 = (params) => {
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 makeHeaders8 = (params) => {
250
+ var makeHeaders9 = (params) => {
230
251
  return { Authorization: `Bearer ${params.accessToken}` };
231
252
  };
232
- var makeUrl8 = (params) => {
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: makeBody8,
241
- makeHeaders: makeHeaders8,
242
- makeUrl: makeUrl8
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 makeBody9 = (params) => {
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 makeHeaders9 = (params) => {
274
+ var makeHeaders10 = (params) => {
254
275
  return { Authorization: `Bearer ${params.accessToken}` };
255
276
  };
256
- var makeUrl9 = (params) => {
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: makeBody9,
265
- makeHeaders: makeHeaders9,
266
- makeUrl: makeUrl9
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 makeBody10 = (params) => {
292
+ var makeBody11 = (params) => {
272
293
  return {
273
294
  ...params.args,
274
295
  model: params.model
275
296
  };
276
297
  };
277
- var makeHeaders10 = (params) => {
298
+ var makeHeaders11 = (params) => {
278
299
  return { Authorization: `Bearer ${params.accessToken}` };
279
300
  };
280
- var makeUrl10 = (params) => {
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: makeBody10,
295
- makeHeaders: makeHeaders10,
296
- makeUrl: makeUrl10
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.3.7";
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":"AAWA,OAAO,KAAK,EAAqB,aAAa,EAAE,OAAO,EAAkB,WAAW,EAAE,MAAM,UAAU,CAAC;AA6BvG;;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"}
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,CAiB7F,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"}
@@ -1,4 +1,4 @@
1
- import type { ChatCompletionInput, FeatureExtractionInput, PipelineType } from "@huggingface/tasks";
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 | FeatureExtractionInput) & {
68
+ } | ChatCompletionInput) & {
69
69
  parameters?: Record<string, unknown>;
70
70
  };
71
71
  export interface ProviderConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEpG;;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,kJAWtB,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,GACnB,sBAAsB,CACxB,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"}
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.7",
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.3"
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
+ };
@@ -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, FeatureExtractionInput, PipelineType } from "@huggingface/tasks";
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
  };