@huggingface/tasks 0.14.0 → 0.15.0

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.
Files changed (41) hide show
  1. package/dist/commonjs/index.d.ts +1 -0
  2. package/dist/commonjs/index.d.ts.map +1 -1
  3. package/dist/commonjs/index.js +1 -0
  4. package/dist/commonjs/inference-providers.d.ts +10 -0
  5. package/dist/commonjs/inference-providers.d.ts.map +1 -0
  6. package/dist/commonjs/inference-providers.js +16 -0
  7. package/dist/commonjs/snippets/curl.d.ts +8 -8
  8. package/dist/commonjs/snippets/curl.d.ts.map +1 -1
  9. package/dist/commonjs/snippets/curl.js +58 -30
  10. package/dist/commonjs/snippets/js.d.ts +11 -10
  11. package/dist/commonjs/snippets/js.d.ts.map +1 -1
  12. package/dist/commonjs/snippets/js.js +162 -53
  13. package/dist/commonjs/snippets/python.d.ts +12 -12
  14. package/dist/commonjs/snippets/python.d.ts.map +1 -1
  15. package/dist/commonjs/snippets/python.js +141 -71
  16. package/dist/commonjs/snippets/types.d.ts +1 -1
  17. package/dist/commonjs/snippets/types.d.ts.map +1 -1
  18. package/dist/esm/index.d.ts +1 -0
  19. package/dist/esm/index.d.ts.map +1 -1
  20. package/dist/esm/index.js +1 -0
  21. package/dist/esm/inference-providers.d.ts +10 -0
  22. package/dist/esm/inference-providers.d.ts.map +1 -0
  23. package/dist/esm/inference-providers.js +12 -0
  24. package/dist/esm/snippets/curl.d.ts +8 -8
  25. package/dist/esm/snippets/curl.d.ts.map +1 -1
  26. package/dist/esm/snippets/curl.js +58 -29
  27. package/dist/esm/snippets/js.d.ts +11 -10
  28. package/dist/esm/snippets/js.d.ts.map +1 -1
  29. package/dist/esm/snippets/js.js +159 -50
  30. package/dist/esm/snippets/python.d.ts +12 -12
  31. package/dist/esm/snippets/python.d.ts.map +1 -1
  32. package/dist/esm/snippets/python.js +140 -69
  33. package/dist/esm/snippets/types.d.ts +1 -1
  34. package/dist/esm/snippets/types.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/src/index.ts +2 -0
  37. package/src/inference-providers.ts +16 -0
  38. package/src/snippets/curl.ts +72 -23
  39. package/src/snippets/js.ts +189 -56
  40. package/src/snippets/python.ts +154 -75
  41. package/src/snippets/types.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../src/snippets/python.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAOrE,eAAO,MAAM,qBAAqB,UAC1B,gBAAgB,eACV,MAAM,SACZ;IACN,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,WAAW,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;CACtC,KACC,gBAAgB,EAiGlB,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAAW,gBAAgB,KAAG,gBAStE,CAAC;AAEH,eAAO,MAAM,kCAAkC,UAAW,gBAAgB,KAAG,gBAe3E,CAAC;AAEH,eAAO,MAAM,YAAY,UAAW,gBAAgB,KAAG,gBAQrD,CAAC;AAEH,eAAO,MAAM,WAAW,UAAW,gBAAgB,KAAG,gBAQpD,CAAC;AAEH,eAAO,MAAM,kBAAkB,UAAW,gBAAgB,eAAe,MAAM,KAAG,gBAAgB,EAqBjG,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,gBAAgB,KAAG,gBAOvD,CAAC;AAEH,eAAO,MAAM,kBAAkB,UAAW,gBAAgB,KAAG,gBA+B5D,CAAC;AAEF,eAAO,MAAM,gCAAgC,UAAW,gBAAgB,KAAG,gBAWzE,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,OAAO,CACnC,MAAM,CACL,YAAY,EACZ,CACC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,gBAAgB,GAAG,gBAAgB,EAAE,CAC1C,CA8BD,CAAC;AAEF,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,gBAAgB,GAAG,gBAAgB,EAAE,CA0BvC;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAE1E"}
1
+ {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../src/snippets/python.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAWrE,eAAO,MAAM,qBAAqB,UAC1B,gBAAgB,eACV,MAAM,YACT,iBAAiB,SACpB;IACN,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,WAAW,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;CACtC,KACC,gBAAgB,EA+FlB,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAAW,gBAAgB,KAAG,gBAAgB,EAcvF,CAAC;AAEF,eAAO,MAAM,kCAAkC,UAAW,gBAAgB,KAAG,gBAAgB,EAoB5F,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,gBAAgB,KAAG,gBAAgB,EAatE,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,gBAAgB,KAAG,gBAAgB,EAarE,CAAC;AAEF,eAAO,MAAM,kBAAkB,UACvB,gBAAgB,eACV,MAAM,YACT,iBAAiB,KACzB,gBAAgB,EAqDlB,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,gBAAgB,KAAG,gBAAgB,EAYxE,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAW,gBAAgB,KAAG,gBAAgB,EAqC5E,CAAC;AAEF,eAAO,MAAM,gCAAgC,UAAW,gBAAgB,KAAG,gBAAgB,EAgB1F,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,OAAO,CACnC,MAAM,CACL,YAAY,EACZ,CACC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,gBAAgB,EAAE,CACvB,CA8BD,CAAC;AAEF,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,gBAAgB,EAAE,CA+BpB"}
@@ -2,13 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pythonSnippets = exports.snippetDocumentQuestionAnswering = exports.snippetTextToAudio = exports.snippetTabular = exports.snippetTextToImage = exports.snippetFile = exports.snippetBasic = exports.snippetZeroShotImageClassification = exports.snippetZeroShotClassification = exports.snippetConversational = void 0;
4
4
  exports.getPythonInferenceSnippet = getPythonInferenceSnippet;
5
- exports.hasPythonInferenceSnippet = hasPythonInferenceSnippet;
5
+ const inference_providers_js_1 = require("../inference-providers.js");
6
6
  const common_js_1 = require("./common.js");
7
7
  const inputs_js_1 = require("./inputs.js");
8
- const snippetImportInferenceClient = (model, accessToken) => `from huggingface_hub import InferenceClient
9
- client = InferenceClient("${model.id}", token="${accessToken || "{API_TOKEN}"}")
10
- `;
11
- const snippetConversational = (model, accessToken, opts) => {
8
+ const snippetImportInferenceClient = (accessToken, provider) => `\
9
+ from huggingface_hub import InferenceClient
10
+
11
+ client = InferenceClient(
12
+ provider="${provider}",
13
+ api_key="${accessToken || "{API_TOKEN}"}"
14
+ )`;
15
+ const snippetConversational = (model, accessToken, provider, opts) => {
12
16
  const streaming = opts?.streaming ?? true;
13
17
  const exampleMessages = (0, inputs_js_1.getModelInputSnippet)(model);
14
18
  const messages = opts?.messages ?? exampleMessages;
@@ -26,9 +30,8 @@ const snippetConversational = (model, accessToken, opts) => {
26
30
  return [
27
31
  {
28
32
  client: "huggingface_hub",
29
- content: `from huggingface_hub import InferenceClient
30
-
31
- client = InferenceClient(api_key="${accessToken || "{API_TOKEN}"}")
33
+ content: `\
34
+ ${snippetImportInferenceClient(accessToken, provider)}
32
35
 
33
36
  messages = ${messagesStr}
34
37
 
@@ -47,7 +50,7 @@ for chunk in stream:
47
50
  content: `from openai import OpenAI
48
51
 
49
52
  client = OpenAI(
50
- base_url="https://api-inference.huggingface.co/v1/",
53
+ base_url="${(0, inference_providers_js_1.openAIbaseUrl)(provider)}",
51
54
  api_key="${accessToken || "{API_TOKEN}"}"
52
55
  )
53
56
 
@@ -69,9 +72,8 @@ for chunk in stream:
69
72
  return [
70
73
  {
71
74
  client: "huggingface_hub",
72
- content: `from huggingface_hub import InferenceClient
73
-
74
- client = InferenceClient(api_key="${accessToken || "{API_TOKEN}"}")
75
+ content: `\
76
+ ${snippetImportInferenceClient(accessToken, provider)}
75
77
 
76
78
  messages = ${messagesStr}
77
79
 
@@ -88,7 +90,7 @@ print(completion.choices[0].message)`,
88
90
  content: `from openai import OpenAI
89
91
 
90
92
  client = OpenAI(
91
- base_url="https://api-inference.huggingface.co/v1/",
93
+ base_url="${(0, inference_providers_js_1.openAIbaseUrl)(provider)}",
92
94
  api_key="${accessToken || "{API_TOKEN}"}"
93
95
  )
94
96
 
@@ -106,8 +108,11 @@ print(completion.choices[0].message)`,
106
108
  }
107
109
  };
108
110
  exports.snippetConversational = snippetConversational;
109
- const snippetZeroShotClassification = (model) => ({
110
- content: `def query(payload):
111
+ const snippetZeroShotClassification = (model) => {
112
+ return [
113
+ {
114
+ client: "requests",
115
+ content: `def query(payload):
111
116
  response = requests.post(API_URL, headers=headers, json=payload)
112
117
  return response.json()
113
118
 
@@ -115,10 +120,15 @@ output = query({
115
120
  "inputs": ${(0, inputs_js_1.getModelInputSnippet)(model)},
116
121
  "parameters": {"candidate_labels": ["refund", "legal", "faq"]},
117
122
  })`,
118
- });
123
+ },
124
+ ];
125
+ };
119
126
  exports.snippetZeroShotClassification = snippetZeroShotClassification;
120
- const snippetZeroShotImageClassification = (model) => ({
121
- content: `def query(data):
127
+ const snippetZeroShotImageClassification = (model) => {
128
+ return [
129
+ {
130
+ client: "requests",
131
+ content: `def query(data):
122
132
  with open(data["image_path"], "rb") as f:
123
133
  img = f.read()
124
134
  payload={
@@ -132,40 +142,81 @@ output = query({
132
142
  "image_path": ${(0, inputs_js_1.getModelInputSnippet)(model)},
133
143
  "parameters": {"candidate_labels": ["cat", "dog", "llama"]},
134
144
  })`,
135
- });
145
+ },
146
+ ];
147
+ };
136
148
  exports.snippetZeroShotImageClassification = snippetZeroShotImageClassification;
137
- const snippetBasic = (model) => ({
138
- content: `def query(payload):
149
+ const snippetBasic = (model) => {
150
+ return [
151
+ {
152
+ client: "requests",
153
+ content: `def query(payload):
139
154
  response = requests.post(API_URL, headers=headers, json=payload)
140
155
  return response.json()
141
156
 
142
157
  output = query({
143
158
  "inputs": ${(0, inputs_js_1.getModelInputSnippet)(model)},
144
159
  })`,
145
- });
160
+ },
161
+ ];
162
+ };
146
163
  exports.snippetBasic = snippetBasic;
147
- const snippetFile = (model) => ({
148
- content: `def query(filename):
149
- with open(filename, "rb") as f:
150
- data = f.read()
151
- response = requests.post(API_URL, headers=headers, data=data)
152
- return response.json()
153
-
154
- output = query(${(0, inputs_js_1.getModelInputSnippet)(model)})`,
155
- });
164
+ const snippetFile = (model) => {
165
+ return [
166
+ {
167
+ client: "requests",
168
+ content: `def query(filename):
169
+ with open(filename, "rb") as f:
170
+ data = f.read()
171
+ response = requests.post(API_URL, headers=headers, data=data)
172
+ return response.json()
173
+
174
+ output = query(${(0, inputs_js_1.getModelInputSnippet)(model)})`,
175
+ },
176
+ ];
177
+ };
156
178
  exports.snippetFile = snippetFile;
157
- const snippetTextToImage = (model, accessToken) => [
158
- {
159
- client: "huggingface_hub",
160
- content: `${snippetImportInferenceClient(model, accessToken)}
179
+ const snippetTextToImage = (model, accessToken, provider) => {
180
+ return [
181
+ {
182
+ client: "huggingface_hub",
183
+ content: `\
184
+ ${snippetImportInferenceClient(accessToken, provider)}
185
+
161
186
  # output is a PIL.Image object
162
- image = client.text_to_image(${(0, inputs_js_1.getModelInputSnippet)(model)})`,
163
- },
164
- {
165
- client: "requests",
166
- content: `def query(payload):
187
+ image = client.text_to_image(
188
+ ${(0, inputs_js_1.getModelInputSnippet)(model)},
189
+ model="${model.id}"
190
+ )`,
191
+ },
192
+ ...(provider === "fal-ai"
193
+ ? [
194
+ {
195
+ client: "fal-client",
196
+ content: `\
197
+ import fal_client
198
+
199
+ result = fal_client.subscribe(
200
+ # replace with correct id from fal.ai
201
+ "fal-ai/${model.id}",
202
+ arguments={
203
+ "prompt": ${(0, inputs_js_1.getModelInputSnippet)(model)},
204
+ },
205
+ )
206
+ print(result)
207
+ `,
208
+ },
209
+ ]
210
+ : []),
211
+ ...(provider === "hf-inference"
212
+ ? [
213
+ {
214
+ client: "requests",
215
+ content: `\
216
+ def query(payload):
167
217
  response = requests.post(API_URL, headers=headers, json=payload)
168
218
  return response.content
219
+
169
220
  image_bytes = query({
170
221
  "inputs": ${(0, inputs_js_1.getModelInputSnippet)(model)},
171
222
  })
@@ -174,25 +225,35 @@ image_bytes = query({
174
225
  import io
175
226
  from PIL import Image
176
227
  image = Image.open(io.BytesIO(image_bytes))`,
177
- },
178
- ];
228
+ },
229
+ ]
230
+ : []),
231
+ ];
232
+ };
179
233
  exports.snippetTextToImage = snippetTextToImage;
180
- const snippetTabular = (model) => ({
181
- content: `def query(payload):
182
- response = requests.post(API_URL, headers=headers, json=payload)
183
- return response.content
184
- response = query({
185
- "inputs": {"data": ${(0, inputs_js_1.getModelInputSnippet)(model)}},
186
- })`,
187
- });
234
+ const snippetTabular = (model) => {
235
+ return [
236
+ {
237
+ client: "requests",
238
+ content: `def query(payload):
239
+ response = requests.post(API_URL, headers=headers, json=payload)
240
+ return response.content
241
+ response = query({
242
+ "inputs": {"data": ${(0, inputs_js_1.getModelInputSnippet)(model)}},
243
+ })`,
244
+ },
245
+ ];
246
+ };
188
247
  exports.snippetTabular = snippetTabular;
189
248
  const snippetTextToAudio = (model) => {
190
249
  // Transformers TTS pipeline and api-inference-community (AIC) pipeline outputs are diverged
191
250
  // with the latest update to inference-api (IA).
192
251
  // Transformers IA returns a byte object (wav file), whereas AIC returns wav and sampling_rate.
193
252
  if (model.library_name === "transformers") {
194
- return {
195
- content: `def query(payload):
253
+ return [
254
+ {
255
+ client: "requests",
256
+ content: `def query(payload):
196
257
  response = requests.post(API_URL, headers=headers, json=payload)
197
258
  return response.content
198
259
 
@@ -202,11 +263,14 @@ audio_bytes = query({
202
263
  # You can access the audio with IPython.display for example
203
264
  from IPython.display import Audio
204
265
  Audio(audio_bytes)`,
205
- };
266
+ },
267
+ ];
206
268
  }
207
269
  else {
208
- return {
209
- content: `def query(payload):
270
+ return [
271
+ {
272
+ client: "requests",
273
+ content: `def query(payload):
210
274
  response = requests.post(API_URL, headers=headers, json=payload)
211
275
  return response.json()
212
276
 
@@ -216,12 +280,16 @@ audio, sampling_rate = query({
216
280
  # You can access the audio with IPython.display for example
217
281
  from IPython.display import Audio
218
282
  Audio(audio, rate=sampling_rate)`,
219
- };
283
+ },
284
+ ];
220
285
  }
221
286
  };
222
287
  exports.snippetTextToAudio = snippetTextToAudio;
223
- const snippetDocumentQuestionAnswering = (model) => ({
224
- content: `def query(payload):
288
+ const snippetDocumentQuestionAnswering = (model) => {
289
+ return [
290
+ {
291
+ client: "requests",
292
+ content: `def query(payload):
225
293
  with open(payload["image"], "rb") as f:
226
294
  img = f.read()
227
295
  payload["image"] = base64.b64encode(img).decode("utf-8")
@@ -231,7 +299,9 @@ const snippetDocumentQuestionAnswering = (model) => ({
231
299
  output = query({
232
300
  "inputs": ${(0, inputs_js_1.getModelInputSnippet)(model)},
233
301
  })`,
234
- });
302
+ },
303
+ ];
304
+ };
235
305
  exports.snippetDocumentQuestionAnswering = snippetDocumentQuestionAnswering;
236
306
  exports.pythonSnippets = {
237
307
  // Same order as in tasks/src/pipelines.ts
@@ -263,23 +333,26 @@ exports.pythonSnippets = {
263
333
  "image-to-text": exports.snippetFile,
264
334
  "zero-shot-image-classification": exports.snippetZeroShotImageClassification,
265
335
  };
266
- function getPythonInferenceSnippet(model, accessToken, opts) {
336
+ function getPythonInferenceSnippet(model, accessToken, provider, opts) {
267
337
  if (model.tags.includes("conversational")) {
268
338
  // Conversational model detected, so we display a code snippet that features the Messages API
269
- return (0, exports.snippetConversational)(model, accessToken, opts);
339
+ return (0, exports.snippetConversational)(model, accessToken, provider, opts);
270
340
  }
271
341
  else {
272
- let snippets = model.pipeline_tag && model.pipeline_tag in exports.pythonSnippets
273
- ? exports.pythonSnippets[model.pipeline_tag]?.(model, accessToken) ?? { content: "" }
274
- : { content: "" };
275
- snippets = Array.isArray(snippets) ? snippets : [snippets];
342
+ const snippets = model.pipeline_tag && model.pipeline_tag in exports.pythonSnippets
343
+ ? exports.pythonSnippets[model.pipeline_tag]?.(model, accessToken, provider) ?? []
344
+ : [];
345
+ const baseUrl = provider === "hf-inference"
346
+ ? `https://api-inference.huggingface.co/models/${model.id}`
347
+ : inference_providers_js_1.HF_HUB_INFERENCE_PROXY_TEMPLATE.replace("{{PROVIDER}}", provider);
276
348
  return snippets.map((snippet) => {
277
349
  return {
278
350
  ...snippet,
279
- content: snippet.content.includes("requests")
280
- ? `import requests
351
+ content: snippet.client === "requests"
352
+ ? `\
353
+ import requests
281
354
 
282
- API_URL = "https://api-inference.huggingface.co/models/${model.id}"
355
+ API_URL = "${baseUrl}"
283
356
  headers = {"Authorization": ${accessToken ? `"Bearer ${accessToken}"` : `f"Bearer {API_TOKEN}"`}}
284
357
 
285
358
  ${snippet.content}`
@@ -288,6 +361,3 @@ ${snippet.content}`
288
361
  });
289
362
  }
290
363
  }
291
- function hasPythonInferenceSnippet(model) {
292
- return !!model.pipeline_tag && model.pipeline_tag in exports.pythonSnippets;
293
- }
@@ -7,6 +7,6 @@ import type { ModelData } from "../model-data.js";
7
7
  export type ModelDataMinimal = Pick<ModelData, "id" | "pipeline_tag" | "mask_token" | "library_name" | "config" | "tags" | "inference">;
8
8
  export interface InferenceSnippet {
9
9
  content: string;
10
- client?: string;
10
+ client: string;
11
11
  }
12
12
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/snippets/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAClC,SAAS,EACT,IAAI,GAAG,cAAc,GAAG,YAAY,GAAG,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CACvF,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/snippets/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAClC,SAAS,EACT,IAAI,GAAG,cAAc,GAAG,YAAY,GAAG,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CACvF,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf"}
@@ -19,4 +19,5 @@ export { LOCAL_APPS } from "./local-apps.js";
19
19
  export type { LocalApp, LocalAppKey, LocalAppSnippet } from "./local-apps.js";
20
20
  export { DATASET_LIBRARIES_UI_ELEMENTS } from "./dataset-libraries.js";
21
21
  export type { DatasetLibraryUiElement, DatasetLibraryKey } from "./dataset-libraries.js";
22
+ export * from "./inference-providers.js";
22
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvF,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACN,aAAa,EACb,cAAc,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,8BAA8B,EAC9B,sBAAsB,EACtB,2BAA2B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzF,YAAY,EACX,aAAa,EACb,sBAAsB,EACtB,gCAAgC,EAChC,8BAA8B,EAC9B,kCAAkC,EAClC,uBAAuB,EACvB,sBAAsB,EACtB,oCAAoC,EACpC,gCAAgC,EAChC,2BAA2B,EAC3B,gCAAgC,EAChC,8BAA8B,EAC9B,sBAAsB,EACtB,8BAA8B,EAC9B,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvF,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACN,aAAa,EACb,cAAc,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,8BAA8B,EAC9B,sBAAsB,EACtB,2BAA2B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzF,YAAY,EACX,aAAa,EACb,sBAAsB,EACtB,gCAAgC,EAChC,8BAA8B,EAC9B,kCAAkC,EAClC,uBAAuB,EACvB,sBAAsB,EACtB,oCAAoC,EACpC,gCAAgC,EAChC,2BAA2B,EAC3B,gCAAgC,EAChC,8BAA8B,EAC9B,sBAAsB,EACtB,8BAA8B,EAC9B,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,cAAc,0BAA0B,CAAC"}
package/dist/esm/index.js CHANGED
@@ -10,3 +10,4 @@ export { snippets };
10
10
  export { SKUS, DEFAULT_MEMORY_OPTIONS } from "./hardware.js";
11
11
  export { LOCAL_APPS } from "./local-apps.js";
12
12
  export { DATASET_LIBRARIES_UI_ELEMENTS } from "./dataset-libraries.js";
13
+ export * from "./inference-providers.js";
@@ -0,0 +1,10 @@
1
+ export declare const INFERENCE_PROVIDERS: readonly ["hf-inference", "fal-ai", "replicate", "sambanova", "together"];
2
+ export type InferenceProvider = (typeof INFERENCE_PROVIDERS)[number];
3
+ export declare const HF_HUB_INFERENCE_PROXY_TEMPLATE = "https://huggingface.co/api/inference-proxy/{{PROVIDER}}";
4
+ /**
5
+ * URL to set as baseUrl in the OpenAI SDK.
6
+ *
7
+ * TODO(Expose this from HfInference in the future?)
8
+ */
9
+ export declare function openAIbaseUrl(provider: InferenceProvider): string;
10
+ //# sourceMappingURL=inference-providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inference-providers.d.ts","sourceRoot":"","sources":["../../src/inference-providers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,2EAA4E,CAAC;AAE7G,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,eAAO,MAAM,+BAA+B,4DAA4D,CAAC;AAEzG;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAIjE"}
@@ -0,0 +1,12 @@
1
+ export const INFERENCE_PROVIDERS = ["hf-inference", "fal-ai", "replicate", "sambanova", "together"];
2
+ export const HF_HUB_INFERENCE_PROXY_TEMPLATE = `https://huggingface.co/api/inference-proxy/{{PROVIDER}}`;
3
+ /**
4
+ * URL to set as baseUrl in the OpenAI SDK.
5
+ *
6
+ * TODO(Expose this from HfInference in the future?)
7
+ */
8
+ export function openAIbaseUrl(provider) {
9
+ return provider === "hf-inference"
10
+ ? "https://api-inference.huggingface.co/v1/"
11
+ : HF_HUB_INFERENCE_PROXY_TEMPLATE.replace("{{PROVIDER}}", provider);
12
+ }
@@ -1,17 +1,17 @@
1
+ import { type InferenceProvider } from "../inference-providers.js";
1
2
  import type { PipelineType } from "../pipelines.js";
2
3
  import type { ChatCompletionInputMessage, GenerationParameters } from "../tasks/index.js";
3
4
  import type { InferenceSnippet, ModelDataMinimal } from "./types.js";
4
- export declare const snippetBasic: (model: ModelDataMinimal, accessToken: string) => InferenceSnippet;
5
- export declare const snippetTextGeneration: (model: ModelDataMinimal, accessToken: string, opts?: {
5
+ export declare const snippetBasic: (model: ModelDataMinimal, accessToken: string, provider: InferenceProvider) => InferenceSnippet[];
6
+ export declare const snippetTextGeneration: (model: ModelDataMinimal, accessToken: string, provider: InferenceProvider, opts?: {
6
7
  streaming?: boolean;
7
8
  messages?: ChatCompletionInputMessage[];
8
9
  temperature?: GenerationParameters["temperature"];
9
10
  max_tokens?: GenerationParameters["max_tokens"];
10
11
  top_p?: GenerationParameters["top_p"];
11
- }) => InferenceSnippet;
12
- export declare const snippetZeroShotClassification: (model: ModelDataMinimal, accessToken: string) => InferenceSnippet;
13
- export declare const snippetFile: (model: ModelDataMinimal, accessToken: string) => InferenceSnippet;
14
- export declare const curlSnippets: Partial<Record<PipelineType, (model: ModelDataMinimal, accessToken: string, opts?: Record<string, unknown>) => InferenceSnippet>>;
15
- export declare function getCurlInferenceSnippet(model: ModelDataMinimal, accessToken: string, opts?: Record<string, unknown>): InferenceSnippet;
16
- export declare function hasCurlInferenceSnippet(model: Pick<ModelDataMinimal, "pipeline_tag">): boolean;
12
+ }) => InferenceSnippet[];
13
+ export declare const snippetZeroShotClassification: (model: ModelDataMinimal, accessToken: string, provider: InferenceProvider) => InferenceSnippet[];
14
+ export declare const snippetFile: (model: ModelDataMinimal, accessToken: string, provider: InferenceProvider) => InferenceSnippet[];
15
+ export declare const curlSnippets: Partial<Record<PipelineType, (model: ModelDataMinimal, accessToken: string, provider: InferenceProvider, opts?: Record<string, unknown>) => InferenceSnippet[]>>;
16
+ export declare function getCurlInferenceSnippet(model: ModelDataMinimal, accessToken: string, provider: InferenceProvider, opts?: Record<string, unknown>): InferenceSnippet[];
17
17
  //# sourceMappingURL=curl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"curl.d.ts","sourceRoot":"","sources":["../../../src/snippets/curl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAErE,eAAO,MAAM,YAAY,UAAW,gBAAgB,eAAe,MAAM,KAAG,gBAM1E,CAAC;AAEH,eAAO,MAAM,qBAAqB,UAC1B,gBAAgB,eACV,MAAM,SACZ;IACN,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,WAAW,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;CACtC,KACC,gBAkCF,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAAW,gBAAgB,eAAe,MAAM,KAAG,gBAM3F,CAAC;AAEH,eAAO,MAAM,WAAW,UAAW,gBAAgB,eAAe,MAAM,KAAG,gBAKzE,CAAC;AAEH,eAAO,MAAM,YAAY,EAAE,OAAO,CACjC,MAAM,CACL,YAAY,EACZ,CAAC,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,gBAAgB,CAClG,CA0BD,CAAC;AAEF,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,gBAAgB,CAIlB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,GAAG,OAAO,CAE9F"}
1
+ {"version":3,"file":"curl.d.ts","sourceRoot":"","sources":["../../../src/snippets/curl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACpG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAErE,eAAO,MAAM,YAAY,UACjB,gBAAgB,eACV,MAAM,YACT,iBAAiB,KACzB,gBAAgB,EAelB,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAC1B,gBAAgB,eACV,MAAM,YACT,iBAAiB,SACpB;IACN,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,WAAW,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;CACtC,KACC,gBAAgB,EA0ClB,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAClC,gBAAgB,eACV,MAAM,YACT,iBAAiB,KACzB,gBAAgB,EAclB,CAAC;AAEF,eAAO,MAAM,WAAW,UAChB,gBAAgB,eACV,MAAM,YACT,iBAAiB,KACzB,gBAAgB,EAalB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAAO,CACjC,MAAM,CACL,YAAY,EACZ,CACC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,gBAAgB,EAAE,CACvB,CA0BD,CAAC;AAEF,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,gBAAgB,EAAE,CAIpB"}
@@ -1,14 +1,27 @@
1
+ import { HF_HUB_INFERENCE_PROXY_TEMPLATE } from "../inference-providers.js";
1
2
  import { stringifyGenerationConfig, stringifyMessages } from "./common.js";
2
3
  import { getModelInputSnippet } from "./inputs.js";
3
- export const snippetBasic = (model, accessToken) => ({
4
- content: `curl https://api-inference.huggingface.co/models/${model.id} \\
4
+ export const snippetBasic = (model, accessToken, provider) => {
5
+ if (provider !== "hf-inference") {
6
+ return [];
7
+ }
8
+ return [
9
+ {
10
+ client: "curl",
11
+ content: `\
12
+ curl https://api-inference.huggingface.co/models/${model.id} \\
5
13
  -X POST \\
6
14
  -d '{"inputs": ${getModelInputSnippet(model, true)}}' \\
7
15
  -H 'Content-Type: application/json' \\
8
16
  -H 'Authorization: Bearer ${accessToken || `{API_TOKEN}`}'`,
9
- });
10
- export const snippetTextGeneration = (model, accessToken, opts) => {
17
+ },
18
+ ];
19
+ };
20
+ export const snippetTextGeneration = (model, accessToken, provider, opts) => {
11
21
  if (model.tags.includes("conversational")) {
22
+ const baseUrl = provider === "hf-inference"
23
+ ? `https://api-inference.huggingface.co/models/${model.id}/v1/chat/completions`
24
+ : HF_HUB_INFERENCE_PROXY_TEMPLATE.replace("{{PROVIDER}}", provider) + "/v1/chat/completions";
12
25
  // Conversational model detected, so we display a code snippet that features the Messages API
13
26
  const streaming = opts?.streaming ?? true;
14
27
  const exampleMessages = getModelInputSnippet(model);
@@ -18,45 +31,64 @@ export const snippetTextGeneration = (model, accessToken, opts) => {
18
31
  max_tokens: opts?.max_tokens ?? 500,
19
32
  ...(opts?.top_p ? { top_p: opts.top_p } : undefined),
20
33
  };
21
- return {
22
- content: `curl 'https://api-inference.huggingface.co/models/${model.id}/v1/chat/completions' \\
34
+ return [
35
+ {
36
+ client: "curl",
37
+ content: `curl '${baseUrl}' \\
23
38
  -H 'Authorization: Bearer ${accessToken || `{API_TOKEN}`}' \\
24
39
  -H 'Content-Type: application/json' \\
25
40
  --data '{
26
41
  "model": "${model.id}",
27
42
  "messages": ${stringifyMessages(messages, {
28
- indent: "\t",
29
- attributeKeyQuotes: true,
30
- customContentEscaper: (str) => str.replace(/'/g, "'\\''"),
31
- })},
43
+ indent: "\t",
44
+ attributeKeyQuotes: true,
45
+ customContentEscaper: (str) => str.replace(/'/g, "'\\''"),
46
+ })},
32
47
  ${stringifyGenerationConfig(config, {
33
- indent: "\n ",
34
- attributeKeyQuotes: true,
35
- attributeValueConnector: ": ",
36
- })},
48
+ indent: "\n ",
49
+ attributeKeyQuotes: true,
50
+ attributeValueConnector: ": ",
51
+ })},
37
52
  "stream": ${!!streaming}
38
53
  }'`,
39
- };
54
+ },
55
+ ];
40
56
  }
41
57
  else {
42
- return snippetBasic(model, accessToken);
58
+ return snippetBasic(model, accessToken, provider);
43
59
  }
44
60
  };
45
- export const snippetZeroShotClassification = (model, accessToken) => ({
46
- content: `curl https://api-inference.huggingface.co/models/${model.id} \\
61
+ export const snippetZeroShotClassification = (model, accessToken, provider) => {
62
+ if (provider !== "hf-inference") {
63
+ return [];
64
+ }
65
+ return [
66
+ {
67
+ client: "curl",
68
+ content: `curl https://api-inference.huggingface.co/models/${model.id} \\
47
69
  -X POST \\
48
70
  -d '{"inputs": ${getModelInputSnippet(model, true)}, "parameters": {"candidate_labels": ["refund", "legal", "faq"]}}' \\
49
71
  -H 'Content-Type: application/json' \\
50
72
  -H 'Authorization: Bearer ${accessToken || `{API_TOKEN}`}'`,
51
- });
52
- export const snippetFile = (model, accessToken) => ({
53
- content: `curl https://api-inference.huggingface.co/models/${model.id} \\
73
+ },
74
+ ];
75
+ };
76
+ export const snippetFile = (model, accessToken, provider) => {
77
+ if (provider !== "hf-inference") {
78
+ return [];
79
+ }
80
+ return [
81
+ {
82
+ client: "curl",
83
+ content: `curl https://api-inference.huggingface.co/models/${model.id} \\
54
84
  -X POST \\
55
85
  --data-binary '@${getModelInputSnippet(model, true, true)}' \\
56
86
  -H 'Authorization: Bearer ${accessToken || `{API_TOKEN}`}'`,
57
- });
87
+ },
88
+ ];
89
+ };
58
90
  export const curlSnippets = {
59
- // Same order as in js/src/lib/interfaces/Types.ts
91
+ // Same order as in tasks/src/pipelines.ts
60
92
  "text-classification": snippetBasic,
61
93
  "token-classification": snippetBasic,
62
94
  "table-question-answering": snippetBasic,
@@ -81,11 +113,8 @@ export const curlSnippets = {
81
113
  "object-detection": snippetFile,
82
114
  "image-segmentation": snippetFile,
83
115
  };
84
- export function getCurlInferenceSnippet(model, accessToken, opts) {
116
+ export function getCurlInferenceSnippet(model, accessToken, provider, opts) {
85
117
  return model.pipeline_tag && model.pipeline_tag in curlSnippets
86
- ? curlSnippets[model.pipeline_tag]?.(model, accessToken, opts) ?? { content: "" }
87
- : { content: "" };
88
- }
89
- export function hasCurlInferenceSnippet(model) {
90
- return !!model.pipeline_tag && model.pipeline_tag in curlSnippets;
118
+ ? curlSnippets[model.pipeline_tag]?.(model, accessToken, provider, opts) ?? []
119
+ : [];
91
120
  }
@@ -1,19 +1,20 @@
1
+ import { type InferenceProvider } from "../inference-providers.js";
1
2
  import type { PipelineType } from "../pipelines.js";
2
3
  import type { ChatCompletionInputMessage, GenerationParameters } from "../tasks/index.js";
3
4
  import type { InferenceSnippet, ModelDataMinimal } from "./types.js";
4
- export declare const snippetBasic: (model: ModelDataMinimal, accessToken: string) => InferenceSnippet;
5
- export declare const snippetTextGeneration: (model: ModelDataMinimal, accessToken: string, opts?: {
5
+ export declare const snippetBasic: (model: ModelDataMinimal, accessToken: string, provider: InferenceProvider) => InferenceSnippet[];
6
+ export declare const snippetTextGeneration: (model: ModelDataMinimal, accessToken: string, provider: InferenceProvider, opts?: {
6
7
  streaming?: boolean;
7
8
  messages?: ChatCompletionInputMessage[];
8
9
  temperature?: GenerationParameters["temperature"];
9
10
  max_tokens?: GenerationParameters["max_tokens"];
10
11
  top_p?: GenerationParameters["top_p"];
11
- }) => InferenceSnippet | InferenceSnippet[];
12
- export declare const snippetZeroShotClassification: (model: ModelDataMinimal, accessToken: string) => InferenceSnippet;
13
- export declare const snippetTextToImage: (model: ModelDataMinimal, accessToken: string) => InferenceSnippet;
14
- export declare const snippetTextToAudio: (model: ModelDataMinimal, accessToken: string) => InferenceSnippet;
15
- export declare const snippetFile: (model: ModelDataMinimal, accessToken: string) => InferenceSnippet;
16
- export declare const jsSnippets: Partial<Record<PipelineType, (model: ModelDataMinimal, accessToken: string, opts?: Record<string, unknown>) => InferenceSnippet | InferenceSnippet[]>>;
17
- export declare function getJsInferenceSnippet(model: ModelDataMinimal, accessToken: string, opts?: Record<string, unknown>): InferenceSnippet | InferenceSnippet[];
18
- export declare function hasJsInferenceSnippet(model: ModelDataMinimal): boolean;
12
+ }) => InferenceSnippet[];
13
+ export declare const snippetZeroShotClassification: (model: ModelDataMinimal, accessToken: string) => InferenceSnippet[];
14
+ export declare const snippetTextToImage: (model: ModelDataMinimal, accessToken: string, provider: InferenceProvider) => InferenceSnippet[];
15
+ export declare const snippetTextToAudio: (model: ModelDataMinimal, accessToken: string, provider: InferenceProvider) => InferenceSnippet[];
16
+ export declare const snippetAutomaticSpeechRecognition: (model: ModelDataMinimal, accessToken: string, provider: InferenceProvider) => InferenceSnippet[];
17
+ export declare const snippetFile: (model: ModelDataMinimal, accessToken: string, provider: InferenceProvider) => InferenceSnippet[];
18
+ export declare const jsSnippets: Partial<Record<PipelineType, (model: ModelDataMinimal, accessToken: string, provider: InferenceProvider, opts?: Record<string, unknown>) => InferenceSnippet[]>>;
19
+ export declare function getJsInferenceSnippet(model: ModelDataMinimal, accessToken: string, provider: InferenceProvider, opts?: Record<string, unknown>): InferenceSnippet[];
19
20
  //# sourceMappingURL=js.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../../src/snippets/js.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAErE,eAAO,MAAM,YAAY,UAAW,gBAAgB,eAAe,MAAM,KAAG,gBAoB1E,CAAC;AAEH,eAAO,MAAM,qBAAqB,UAC1B,gBAAgB,eACV,MAAM,SACZ;IACN,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,WAAW,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;CACtC,KACC,gBAAgB,GAAG,gBAAgB,EA2GrC,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAAW,gBAAgB,eAAe,MAAM,KAAG,gBAsB3F,CAAC;AAEH,eAAO,MAAM,kBAAkB,UAAW,gBAAgB,eAAe,MAAM,KAAG,gBAmBhF,CAAC;AAEH,eAAO,MAAM,kBAAkB,UAAW,gBAAgB,eAAe,MAAM,KAAG,gBAuCjF,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,gBAAgB,eAAe,MAAM,KAAG,gBAqBzE,CAAC;AAEH,eAAO,MAAM,UAAU,EAAE,OAAO,CAC/B,MAAM,CACL,YAAY,EACZ,CACC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,gBAAgB,GAAG,gBAAgB,EAAE,CAC1C,CA0BD,CAAC;AAEF,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,gBAAgB,GAAG,gBAAgB,EAAE,CAIvC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAEtE"}
1
+ {"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../../src/snippets/js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAgBrE,eAAO,MAAM,YAAY,UACjB,gBAAgB,eACV,MAAM,YACT,iBAAiB,KACzB,gBAAgB,EA8ClB,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAC1B,gBAAgB,eACV,MAAM,YACT,iBAAiB,SACpB;IACN,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,WAAW,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;CACtC,KACC,gBAAgB,EA6GlB,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAAW,gBAAgB,eAAe,MAAM,KAAG,gBAAgB,EA2B5G,CAAC;AAEF,eAAO,MAAM,kBAAkB,UACvB,gBAAgB,eACV,MAAM,YACT,iBAAiB,KACzB,gBAAgB,EA4ClB,CAAC;AAEF,eAAO,MAAM,kBAAkB,UACvB,gBAAgB,eACV,MAAM,YACT,iBAAiB,KACzB,gBAAgB,EAgDlB,CAAC;AAEF,eAAO,MAAM,iCAAiC,UACtC,gBAAgB,eACV,MAAM,YACT,iBAAiB,KACzB,gBAAgB,EAsBlB,CAAC;AAEF,eAAO,MAAM,WAAW,UAChB,gBAAgB,eACV,MAAM,YACT,iBAAiB,KACzB,gBAAgB,EA6BlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,OAAO,CAC/B,MAAM,CACL,YAAY,EACZ,CACC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,gBAAgB,EAAE,CACvB,CA0BD,CAAC;AAEF,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,gBAAgB,EAAE,CAIpB"}