@huggingface/tasks 0.13.4 → 0.13.6

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 (221) hide show
  1. package/dist/commonjs/hardware.d.ts +12 -0
  2. package/dist/commonjs/hardware.d.ts.map +1 -1
  3. package/dist/commonjs/hardware.js +15 -3
  4. package/dist/commonjs/local-apps.d.ts.map +1 -1
  5. package/dist/commonjs/local-apps.js +40 -21
  6. package/dist/commonjs/local-apps.spec.d.ts +2 -0
  7. package/dist/commonjs/local-apps.spec.d.ts.map +1 -0
  8. package/dist/commonjs/local-apps.spec.js +114 -0
  9. package/dist/commonjs/model-libraries-snippets.d.ts.map +1 -1
  10. package/dist/commonjs/model-libraries-snippets.js +23 -12
  11. package/dist/commonjs/model-libraries-snippets.spec.d.ts +2 -0
  12. package/dist/commonjs/model-libraries-snippets.spec.d.ts.map +1 -0
  13. package/dist/commonjs/model-libraries-snippets.spec.js +51 -0
  14. package/dist/commonjs/snippets/curl.js +4 -4
  15. package/dist/commonjs/snippets/js.js +5 -5
  16. package/dist/commonjs/tasks/audio-classification/inference.d.ts +4 -3
  17. package/dist/commonjs/tasks/audio-classification/inference.d.ts.map +1 -1
  18. package/dist/commonjs/tasks/automatic-speech-recognition/inference.d.ts +1 -5
  19. package/dist/commonjs/tasks/automatic-speech-recognition/inference.d.ts.map +1 -1
  20. package/dist/commonjs/tasks/chat-completion/inference.d.ts +18 -6
  21. package/dist/commonjs/tasks/chat-completion/inference.d.ts.map +1 -1
  22. package/dist/commonjs/tasks/depth-estimation/inference.d.ts +1 -1
  23. package/dist/commonjs/tasks/document-question-answering/inference.d.ts +1 -3
  24. package/dist/commonjs/tasks/document-question-answering/inference.d.ts.map +1 -1
  25. package/dist/commonjs/tasks/feature-extraction/inference.d.ts +1 -1
  26. package/dist/commonjs/tasks/fill-mask/inference.d.ts +1 -3
  27. package/dist/commonjs/tasks/fill-mask/inference.d.ts.map +1 -1
  28. package/dist/commonjs/tasks/image-classification/inference.d.ts +4 -3
  29. package/dist/commonjs/tasks/image-classification/inference.d.ts.map +1 -1
  30. package/dist/commonjs/tasks/image-segmentation/inference.d.ts +1 -3
  31. package/dist/commonjs/tasks/image-segmentation/inference.d.ts.map +1 -1
  32. package/dist/commonjs/tasks/image-to-image/inference.d.ts +1 -3
  33. package/dist/commonjs/tasks/image-to-image/inference.d.ts.map +1 -1
  34. package/dist/commonjs/tasks/image-to-text/inference.d.ts +1 -5
  35. package/dist/commonjs/tasks/image-to-text/inference.d.ts.map +1 -1
  36. package/dist/commonjs/tasks/object-detection/inference.d.ts +1 -3
  37. package/dist/commonjs/tasks/object-detection/inference.d.ts.map +1 -1
  38. package/dist/commonjs/tasks/question-answering/inference.d.ts +1 -3
  39. package/dist/commonjs/tasks/question-answering/inference.d.ts.map +1 -1
  40. package/dist/commonjs/tasks/sentence-similarity/inference.d.ts +1 -1
  41. package/dist/commonjs/tasks/summarization/inference.d.ts +1 -3
  42. package/dist/commonjs/tasks/summarization/inference.d.ts.map +1 -1
  43. package/dist/commonjs/tasks/table-question-answering/inference.d.ts +1 -1
  44. package/dist/commonjs/tasks/text-classification/inference.d.ts +4 -3
  45. package/dist/commonjs/tasks/text-classification/inference.d.ts.map +1 -1
  46. package/dist/commonjs/tasks/text-to-audio/inference.d.ts +1 -5
  47. package/dist/commonjs/tasks/text-to-audio/inference.d.ts.map +1 -1
  48. package/dist/commonjs/tasks/text-to-image/inference.d.ts +1 -3
  49. package/dist/commonjs/tasks/text-to-image/inference.d.ts.map +1 -1
  50. package/dist/commonjs/tasks/text-to-speech/inference.d.ts +1 -5
  51. package/dist/commonjs/tasks/text-to-speech/inference.d.ts.map +1 -1
  52. package/dist/commonjs/tasks/text2text-generation/inference.d.ts +1 -3
  53. package/dist/commonjs/tasks/text2text-generation/inference.d.ts.map +1 -1
  54. package/dist/commonjs/tasks/token-classification/inference.d.ts +1 -3
  55. package/dist/commonjs/tasks/token-classification/inference.d.ts.map +1 -1
  56. package/dist/commonjs/tasks/translation/inference.d.ts +1 -3
  57. package/dist/commonjs/tasks/translation/inference.d.ts.map +1 -1
  58. package/dist/commonjs/tasks/video-classification/inference.d.ts +4 -3
  59. package/dist/commonjs/tasks/video-classification/inference.d.ts.map +1 -1
  60. package/dist/commonjs/tasks/visual-question-answering/inference.d.ts +1 -3
  61. package/dist/commonjs/tasks/visual-question-answering/inference.d.ts.map +1 -1
  62. package/dist/commonjs/tasks/zero-shot-classification/inference.d.ts +1 -3
  63. package/dist/commonjs/tasks/zero-shot-classification/inference.d.ts.map +1 -1
  64. package/dist/commonjs/tasks/zero-shot-image-classification/inference.d.ts +1 -3
  65. package/dist/commonjs/tasks/zero-shot-image-classification/inference.d.ts.map +1 -1
  66. package/dist/commonjs/tasks/zero-shot-object-detection/inference.d.ts +1 -3
  67. package/dist/commonjs/tasks/zero-shot-object-detection/inference.d.ts.map +1 -1
  68. package/dist/esm/hardware.d.ts +12 -0
  69. package/dist/esm/hardware.d.ts.map +1 -1
  70. package/dist/esm/hardware.js +15 -3
  71. package/dist/esm/local-apps.d.ts.map +1 -1
  72. package/dist/esm/local-apps.js +40 -21
  73. package/dist/esm/local-apps.spec.d.ts +2 -0
  74. package/dist/esm/local-apps.spec.d.ts.map +1 -0
  75. package/dist/esm/local-apps.spec.js +112 -0
  76. package/dist/esm/model-libraries-snippets.d.ts.map +1 -1
  77. package/dist/esm/model-libraries-snippets.js +23 -12
  78. package/dist/esm/model-libraries-snippets.spec.d.ts +2 -0
  79. package/dist/esm/model-libraries-snippets.spec.d.ts.map +1 -0
  80. package/dist/esm/model-libraries-snippets.spec.js +49 -0
  81. package/dist/esm/snippets/curl.js +4 -4
  82. package/dist/esm/snippets/js.js +5 -5
  83. package/dist/esm/tasks/audio-classification/inference.d.ts +4 -3
  84. package/dist/esm/tasks/audio-classification/inference.d.ts.map +1 -1
  85. package/dist/esm/tasks/automatic-speech-recognition/inference.d.ts +1 -5
  86. package/dist/esm/tasks/automatic-speech-recognition/inference.d.ts.map +1 -1
  87. package/dist/esm/tasks/chat-completion/inference.d.ts +18 -6
  88. package/dist/esm/tasks/chat-completion/inference.d.ts.map +1 -1
  89. package/dist/esm/tasks/depth-estimation/inference.d.ts +1 -1
  90. package/dist/esm/tasks/document-question-answering/inference.d.ts +1 -3
  91. package/dist/esm/tasks/document-question-answering/inference.d.ts.map +1 -1
  92. package/dist/esm/tasks/feature-extraction/inference.d.ts +1 -1
  93. package/dist/esm/tasks/fill-mask/inference.d.ts +1 -3
  94. package/dist/esm/tasks/fill-mask/inference.d.ts.map +1 -1
  95. package/dist/esm/tasks/image-classification/inference.d.ts +4 -3
  96. package/dist/esm/tasks/image-classification/inference.d.ts.map +1 -1
  97. package/dist/esm/tasks/image-segmentation/inference.d.ts +1 -3
  98. package/dist/esm/tasks/image-segmentation/inference.d.ts.map +1 -1
  99. package/dist/esm/tasks/image-to-image/inference.d.ts +1 -3
  100. package/dist/esm/tasks/image-to-image/inference.d.ts.map +1 -1
  101. package/dist/esm/tasks/image-to-text/inference.d.ts +1 -5
  102. package/dist/esm/tasks/image-to-text/inference.d.ts.map +1 -1
  103. package/dist/esm/tasks/object-detection/inference.d.ts +1 -3
  104. package/dist/esm/tasks/object-detection/inference.d.ts.map +1 -1
  105. package/dist/esm/tasks/question-answering/inference.d.ts +1 -3
  106. package/dist/esm/tasks/question-answering/inference.d.ts.map +1 -1
  107. package/dist/esm/tasks/sentence-similarity/inference.d.ts +1 -1
  108. package/dist/esm/tasks/summarization/inference.d.ts +1 -3
  109. package/dist/esm/tasks/summarization/inference.d.ts.map +1 -1
  110. package/dist/esm/tasks/table-question-answering/inference.d.ts +1 -1
  111. package/dist/esm/tasks/text-classification/inference.d.ts +4 -3
  112. package/dist/esm/tasks/text-classification/inference.d.ts.map +1 -1
  113. package/dist/esm/tasks/text-to-audio/inference.d.ts +1 -5
  114. package/dist/esm/tasks/text-to-audio/inference.d.ts.map +1 -1
  115. package/dist/esm/tasks/text-to-image/inference.d.ts +1 -3
  116. package/dist/esm/tasks/text-to-image/inference.d.ts.map +1 -1
  117. package/dist/esm/tasks/text-to-speech/inference.d.ts +1 -5
  118. package/dist/esm/tasks/text-to-speech/inference.d.ts.map +1 -1
  119. package/dist/esm/tasks/text2text-generation/inference.d.ts +1 -3
  120. package/dist/esm/tasks/text2text-generation/inference.d.ts.map +1 -1
  121. package/dist/esm/tasks/token-classification/inference.d.ts +1 -3
  122. package/dist/esm/tasks/token-classification/inference.d.ts.map +1 -1
  123. package/dist/esm/tasks/translation/inference.d.ts +1 -3
  124. package/dist/esm/tasks/translation/inference.d.ts.map +1 -1
  125. package/dist/esm/tasks/video-classification/inference.d.ts +4 -3
  126. package/dist/esm/tasks/video-classification/inference.d.ts.map +1 -1
  127. package/dist/esm/tasks/visual-question-answering/inference.d.ts +1 -3
  128. package/dist/esm/tasks/visual-question-answering/inference.d.ts.map +1 -1
  129. package/dist/esm/tasks/zero-shot-classification/inference.d.ts +1 -3
  130. package/dist/esm/tasks/zero-shot-classification/inference.d.ts.map +1 -1
  131. package/dist/esm/tasks/zero-shot-image-classification/inference.d.ts +1 -3
  132. package/dist/esm/tasks/zero-shot-image-classification/inference.d.ts.map +1 -1
  133. package/dist/esm/tasks/zero-shot-object-detection/inference.d.ts +1 -3
  134. package/dist/esm/tasks/zero-shot-object-detection/inference.d.ts.map +1 -1
  135. package/package.json +1 -1
  136. package/src/hardware.ts +15 -3
  137. package/src/local-apps.spec.ts +123 -0
  138. package/src/local-apps.ts +37 -18
  139. package/src/model-libraries-snippets.spec.ts +54 -0
  140. package/src/model-libraries-snippets.ts +24 -11
  141. package/src/snippets/curl.ts +4 -4
  142. package/src/snippets/js.ts +5 -5
  143. package/src/tasks/audio-classification/inference.ts +4 -3
  144. package/src/tasks/audio-classification/spec/input.json +3 -3
  145. package/src/tasks/automatic-speech-recognition/inference.ts +1 -5
  146. package/src/tasks/automatic-speech-recognition/spec/input.json +1 -2
  147. package/src/tasks/chat-completion/inference.ts +19 -6
  148. package/src/tasks/chat-completion/spec/input.json +14 -19
  149. package/src/tasks/common-definitions.json +0 -1
  150. package/src/tasks/depth-estimation/inference.ts +1 -1
  151. package/src/tasks/depth-estimation/spec/input.json +1 -2
  152. package/src/tasks/document-question-answering/inference.ts +1 -3
  153. package/src/tasks/document-question-answering/spec/input.json +1 -2
  154. package/src/tasks/feature-extraction/inference.ts +1 -1
  155. package/src/tasks/feature-extraction/spec/input.json +1 -1
  156. package/src/tasks/fill-mask/inference.ts +1 -3
  157. package/src/tasks/fill-mask/spec/input.json +1 -2
  158. package/src/tasks/image-classification/inference.ts +4 -3
  159. package/src/tasks/image-classification/spec/input.json +3 -3
  160. package/src/tasks/image-segmentation/inference.ts +1 -3
  161. package/src/tasks/image-segmentation/spec/input.json +1 -2
  162. package/src/tasks/image-to-image/inference.ts +1 -3
  163. package/src/tasks/image-to-image/spec/input.json +1 -2
  164. package/src/tasks/image-to-text/inference.ts +1 -5
  165. package/src/tasks/image-to-text/spec/input.json +1 -2
  166. package/src/tasks/object-detection/inference.ts +1 -3
  167. package/src/tasks/object-detection/spec/input.json +1 -2
  168. package/src/tasks/placeholder/spec/input.json +1 -2
  169. package/src/tasks/question-answering/inference.ts +1 -3
  170. package/src/tasks/question-answering/spec/input.json +1 -2
  171. package/src/tasks/sentence-similarity/inference.ts +1 -1
  172. package/src/tasks/sentence-similarity/spec/input.json +1 -2
  173. package/src/tasks/summarization/inference.ts +1 -3
  174. package/src/tasks/summarization/spec/input.json +1 -2
  175. package/src/tasks/table-question-answering/inference.ts +1 -1
  176. package/src/tasks/table-question-answering/spec/input.json +1 -2
  177. package/src/tasks/text-classification/inference.ts +4 -3
  178. package/src/tasks/text-classification/spec/input.json +3 -3
  179. package/src/tasks/text-to-audio/inference.ts +1 -5
  180. package/src/tasks/text-to-audio/spec/input.json +1 -2
  181. package/src/tasks/text-to-image/inference.ts +1 -3
  182. package/src/tasks/text-to-image/spec/input.json +1 -2
  183. package/src/tasks/text-to-speech/inference.ts +1 -5
  184. package/src/tasks/text-to-speech/spec/input.json +1 -2
  185. package/src/tasks/text2text-generation/inference.ts +1 -3
  186. package/src/tasks/text2text-generation/spec/input.json +1 -2
  187. package/src/tasks/token-classification/inference.ts +1 -3
  188. package/src/tasks/token-classification/spec/input.json +1 -2
  189. package/src/tasks/translation/inference.ts +1 -3
  190. package/src/tasks/translation/spec/input.json +1 -2
  191. package/src/tasks/video-classification/inference.ts +4 -3
  192. package/src/tasks/video-classification/spec/input.json +3 -3
  193. package/src/tasks/visual-question-answering/inference.ts +1 -3
  194. package/src/tasks/visual-question-answering/spec/input.json +1 -2
  195. package/src/tasks/zero-shot-classification/inference.ts +1 -3
  196. package/src/tasks/zero-shot-classification/spec/input.json +1 -2
  197. package/src/tasks/zero-shot-image-classification/inference.ts +1 -3
  198. package/src/tasks/zero-shot-image-classification/spec/input.json +1 -2
  199. package/src/tasks/zero-shot-object-detection/inference.ts +1 -3
  200. package/src/tasks/zero-shot-object-detection/spec/input.json +1 -2
  201. package/dist/commonjs/snippets/curl.spec.d.ts +0 -2
  202. package/dist/commonjs/snippets/curl.spec.d.ts.map +0 -1
  203. package/dist/commonjs/snippets/curl.spec.js +0 -89
  204. package/dist/commonjs/snippets/js.spec.d.ts +0 -2
  205. package/dist/commonjs/snippets/js.spec.d.ts.map +0 -1
  206. package/dist/commonjs/snippets/js.spec.js +0 -141
  207. package/dist/commonjs/snippets/python.spec.d.ts +0 -2
  208. package/dist/commonjs/snippets/python.spec.d.ts.map +0 -1
  209. package/dist/commonjs/snippets/python.spec.js +0 -135
  210. package/dist/esm/snippets/curl.spec.d.ts +0 -2
  211. package/dist/esm/snippets/curl.spec.d.ts.map +0 -1
  212. package/dist/esm/snippets/curl.spec.js +0 -87
  213. package/dist/esm/snippets/js.spec.d.ts +0 -2
  214. package/dist/esm/snippets/js.spec.d.ts.map +0 -1
  215. package/dist/esm/snippets/js.spec.js +0 -139
  216. package/dist/esm/snippets/python.spec.d.ts +0 -2
  217. package/dist/esm/snippets/python.spec.d.ts.map +0 -1
  218. package/dist/esm/snippets/python.spec.js +0 -133
  219. package/src/snippets/curl.spec.ts +0 -94
  220. package/src/snippets/js.spec.ts +0 -148
  221. package/src/snippets/python.spec.ts +0 -144
@@ -1,148 +0,0 @@
1
- import type { InferenceSnippet, ModelDataMinimal } from "./types.js";
2
- import { describe, expect, it } from "vitest";
3
- import { getJsInferenceSnippet } from "./js.js";
4
-
5
- describe("inference API snippets", () => {
6
- it("conversational llm", async () => {
7
- const model: ModelDataMinimal = {
8
- id: "meta-llama/Llama-3.1-8B-Instruct",
9
- pipeline_tag: "text-generation",
10
- tags: ["conversational"],
11
- inference: "",
12
- };
13
- const snippet = getJsInferenceSnippet(model, "api_token") as InferenceSnippet[];
14
-
15
- expect(snippet[0].content).toEqual(`import { HfInference } from "@huggingface/inference";
16
-
17
- const client = new HfInference("api_token");
18
-
19
- let out = "";
20
-
21
- const stream = client.chatCompletionStream({
22
- model: "meta-llama/Llama-3.1-8B-Instruct",
23
- messages: [
24
- {
25
- role: "user",
26
- content: "What is the capital of France?"
27
- }
28
- ],
29
- max_tokens: 500
30
- });
31
-
32
- for await (const chunk of stream) {
33
- if (chunk.choices && chunk.choices.length > 0) {
34
- const newContent = chunk.choices[0].delta.content;
35
- out += newContent;
36
- console.log(newContent);
37
- }
38
- }`);
39
- });
40
-
41
- it("conversational llm non-streaming", async () => {
42
- const model: ModelDataMinimal = {
43
- id: "meta-llama/Llama-3.1-8B-Instruct",
44
- pipeline_tag: "text-generation",
45
- tags: ["conversational"],
46
- inference: "",
47
- };
48
- const snippet = getJsInferenceSnippet(model, "api_token", { streaming: false }) as InferenceSnippet[];
49
-
50
- expect(snippet[0].content).toEqual(`import { HfInference } from "@huggingface/inference";
51
-
52
- const client = new HfInference("api_token");
53
-
54
- const chatCompletion = await client.chatCompletion({
55
- model: "meta-llama/Llama-3.1-8B-Instruct",
56
- messages: [
57
- {
58
- role: "user",
59
- content: "What is the capital of France?"
60
- }
61
- ],
62
- max_tokens: 500
63
- });
64
-
65
- console.log(chatCompletion.choices[0].message);`);
66
- });
67
-
68
- it("conversational vlm", async () => {
69
- const model: ModelDataMinimal = {
70
- id: "meta-llama/Llama-3.2-11B-Vision-Instruct",
71
- pipeline_tag: "image-text-to-text",
72
- tags: ["conversational"],
73
- inference: "",
74
- };
75
- const snippet = getJsInferenceSnippet(model, "api_token") as InferenceSnippet[];
76
-
77
- expect(snippet[0].content).toEqual(`import { HfInference } from "@huggingface/inference";
78
-
79
- const client = new HfInference("api_token");
80
-
81
- let out = "";
82
-
83
- const stream = client.chatCompletionStream({
84
- model: "meta-llama/Llama-3.2-11B-Vision-Instruct",
85
- messages: [
86
- {
87
- role: "user",
88
- content: [
89
- {
90
- type: "text",
91
- text: "Describe this image in one sentence."
92
- },
93
- {
94
- type: "image_url",
95
- image_url: {
96
- url: "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg"
97
- }
98
- }
99
- ]
100
- }
101
- ],
102
- max_tokens: 500
103
- });
104
-
105
- for await (const chunk of stream) {
106
- if (chunk.choices && chunk.choices.length > 0) {
107
- const newContent = chunk.choices[0].delta.content;
108
- out += newContent;
109
- console.log(newContent);
110
- }
111
- }`);
112
- });
113
-
114
- it("conversational llm", async () => {
115
- const model: ModelDataMinimal = {
116
- id: "meta-llama/Llama-3.1-8B-Instruct",
117
- pipeline_tag: "text-generation",
118
- tags: ["conversational"],
119
- inference: "",
120
- };
121
- const snippet = getJsInferenceSnippet(model, "api_token") as InferenceSnippet[];
122
-
123
- expect(snippet[0].content).toEqual(`import { HfInference } from "@huggingface/inference";
124
-
125
- const client = new HfInference("api_token");
126
-
127
- let out = "";
128
-
129
- const stream = client.chatCompletionStream({
130
- model: "meta-llama/Llama-3.1-8B-Instruct",
131
- messages: [
132
- {
133
- role: "user",
134
- content: "What is the capital of France?"
135
- }
136
- ],
137
- max_tokens: 500
138
- });
139
-
140
- for await (const chunk of stream) {
141
- if (chunk.choices && chunk.choices.length > 0) {
142
- const newContent = chunk.choices[0].delta.content;
143
- out += newContent;
144
- console.log(newContent);
145
- }
146
- }`);
147
- });
148
- });
@@ -1,144 +0,0 @@
1
- import type { InferenceSnippet, ModelDataMinimal } from "./types.js";
2
- import { describe, expect, it } from "vitest";
3
- import { getPythonInferenceSnippet } from "./python.js";
4
-
5
- describe("inference API snippets", () => {
6
- it("conversational llm", async () => {
7
- const model: ModelDataMinimal = {
8
- id: "meta-llama/Llama-3.1-8B-Instruct",
9
- pipeline_tag: "text-generation",
10
- tags: ["conversational"],
11
- inference: "",
12
- };
13
- const snippet = getPythonInferenceSnippet(model, "api_token") as InferenceSnippet[];
14
-
15
- expect(snippet[0].content).toEqual(`from huggingface_hub import InferenceClient
16
-
17
- client = InferenceClient(api_key="api_token")
18
-
19
- messages = [
20
- {
21
- "role": "user",
22
- "content": "What is the capital of France?"
23
- }
24
- ]
25
-
26
- stream = client.chat.completions.create(
27
- model="meta-llama/Llama-3.1-8B-Instruct",
28
- messages=messages,
29
- max_tokens=500,
30
- stream=True
31
- )
32
-
33
- for chunk in stream:
34
- print(chunk.choices[0].delta.content, end="")`);
35
- });
36
-
37
- it("conversational llm non-streaming", async () => {
38
- const model: ModelDataMinimal = {
39
- id: "meta-llama/Llama-3.1-8B-Instruct",
40
- pipeline_tag: "text-generation",
41
- tags: ["conversational"],
42
- inference: "",
43
- };
44
- const snippet = getPythonInferenceSnippet(model, "api_token", { streaming: false }) as InferenceSnippet[];
45
-
46
- expect(snippet[0].content).toEqual(`from huggingface_hub import InferenceClient
47
-
48
- client = InferenceClient(api_key="api_token")
49
-
50
- messages = [
51
- {
52
- "role": "user",
53
- "content": "What is the capital of France?"
54
- }
55
- ]
56
-
57
- completion = client.chat.completions.create(
58
- model="meta-llama/Llama-3.1-8B-Instruct",
59
- messages=messages,
60
- max_tokens=500
61
- )
62
-
63
- print(completion.choices[0].message)`);
64
- });
65
-
66
- it("conversational vlm", async () => {
67
- const model: ModelDataMinimal = {
68
- id: "meta-llama/Llama-3.2-11B-Vision-Instruct",
69
- pipeline_tag: "image-text-to-text",
70
- tags: ["conversational"],
71
- inference: "",
72
- };
73
- const snippet = getPythonInferenceSnippet(model, "api_token") as InferenceSnippet[];
74
-
75
- expect(snippet[0].content).toEqual(`from huggingface_hub import InferenceClient
76
-
77
- client = InferenceClient(api_key="api_token")
78
-
79
- messages = [
80
- {
81
- "role": "user",
82
- "content": [
83
- {
84
- "type": "text",
85
- "text": "Describe this image in one sentence."
86
- },
87
- {
88
- "type": "image_url",
89
- "image_url": {
90
- "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg"
91
- }
92
- }
93
- ]
94
- }
95
- ]
96
-
97
- stream = client.chat.completions.create(
98
- model="meta-llama/Llama-3.2-11B-Vision-Instruct",
99
- messages=messages,
100
- max_tokens=500,
101
- stream=True
102
- )
103
-
104
- for chunk in stream:
105
- print(chunk.choices[0].delta.content, end="")`);
106
- });
107
-
108
- it("text-to-image", async () => {
109
- const model: ModelDataMinimal = {
110
- id: "black-forest-labs/FLUX.1-schnell",
111
- pipeline_tag: "text-to-image",
112
- tags: [],
113
- inference: "",
114
- };
115
- const snippets = getPythonInferenceSnippet(model, "api_token") as InferenceSnippet[];
116
-
117
- expect(snippets.length).toEqual(2);
118
-
119
- expect(snippets[0].client).toEqual("huggingface_hub");
120
- expect(snippets[0].content).toEqual(`from huggingface_hub import InferenceClient
121
- client = InferenceClient("black-forest-labs/FLUX.1-schnell", token="api_token")
122
-
123
- # output is a PIL.Image object
124
- image = client.text_to_image("Astronaut riding a horse")`);
125
-
126
- expect(snippets[1].client).toEqual("requests");
127
- expect(snippets[1].content).toEqual(`import requests
128
-
129
- API_URL = "https://api-inference.huggingface.co/models/black-forest-labs/FLUX.1-schnell"
130
- headers = {"Authorization": "Bearer api_token"}
131
-
132
- def query(payload):
133
- response = requests.post(API_URL, headers=headers, json=payload)
134
- return response.content
135
- image_bytes = query({
136
- "inputs": "Astronaut riding a horse",
137
- })
138
-
139
- # You can access the image with PIL.Image for example
140
- import io
141
- from PIL import Image
142
- image = Image.open(io.BytesIO(image_bytes))`);
143
- });
144
- });