@@ -47,7 +47,7 @@ import type {
4747import * as Replicate from "../providers/replicate" ;
4848import * as Sambanova from "../providers/sambanova" ;
4949import * as Together from "../providers/together" ;
50- import type { InferenceProvider , InferenceTask } from "../types" ;
50+ import type { InferenceProvider , InferenceProviderOrPolicy , InferenceTask } from "../types" ;
5151
5252export const PROVIDERS : Record < InferenceProvider , Partial < Record < InferenceTask , TaskProviderHelper > > > = {
5353 "black-forest-labs" : {
@@ -153,128 +153,132 @@ export const PROVIDERS: Record<InferenceProvider, Partial<Record<InferenceTask,
153153 * Get provider helper instance by name and task
154154 */
155155export function getProviderHelper (
156- provider : InferenceProvider ,
156+ provider : InferenceProviderOrPolicy ,
157157 task : "text-to-image"
158158) : TextToImageTaskHelper & TaskProviderHelper ;
159159export function getProviderHelper (
160- provider : InferenceProvider ,
160+ provider : InferenceProviderOrPolicy ,
161161 task : "conversational"
162162) : ConversationalTaskHelper & TaskProviderHelper ;
163163export function getProviderHelper (
164- provider : InferenceProvider ,
164+ provider : InferenceProviderOrPolicy ,
165165 task : "text-generation"
166166) : TextGenerationTaskHelper & TaskProviderHelper ;
167167export function getProviderHelper (
168- provider : InferenceProvider ,
168+ provider : InferenceProviderOrPolicy ,
169169 task : "text-to-speech"
170170) : TextToSpeechTaskHelper & TaskProviderHelper ;
171171export function getProviderHelper (
172- provider : InferenceProvider ,
172+ provider : InferenceProviderOrPolicy ,
173173 task : "text-to-audio"
174174) : TextToAudioTaskHelper & TaskProviderHelper ;
175175export function getProviderHelper (
176- provider : InferenceProvider ,
176+ provider : InferenceProviderOrPolicy ,
177177 task : "automatic-speech-recognition"
178178) : AutomaticSpeechRecognitionTaskHelper & TaskProviderHelper ;
179179export function getProviderHelper (
180- provider : InferenceProvider ,
180+ provider : InferenceProviderOrPolicy ,
181181 task : "text-to-video"
182182) : TextToVideoTaskHelper & TaskProviderHelper ;
183183export function getProviderHelper (
184- provider : InferenceProvider ,
184+ provider : InferenceProviderOrPolicy ,
185185 task : "text-classification"
186186) : TextClassificationTaskHelper & TaskProviderHelper ;
187187export function getProviderHelper (
188- provider : InferenceProvider ,
188+ provider : InferenceProviderOrPolicy ,
189189 task : "question-answering"
190190) : QuestionAnsweringTaskHelper & TaskProviderHelper ;
191191export function getProviderHelper (
192- provider : InferenceProvider ,
192+ provider : InferenceProviderOrPolicy ,
193193 task : "audio-classification"
194194) : AudioClassificationTaskHelper & TaskProviderHelper ;
195195export function getProviderHelper (
196- provider : InferenceProvider ,
196+ provider : InferenceProviderOrPolicy ,
197197 task : "audio-to-audio"
198198) : AudioToAudioTaskHelper & TaskProviderHelper ;
199199export function getProviderHelper (
200- provider : InferenceProvider ,
200+ provider : InferenceProviderOrPolicy ,
201201 task : "fill-mask"
202202) : FillMaskTaskHelper & TaskProviderHelper ;
203203export function getProviderHelper (
204- provider : InferenceProvider ,
204+ provider : InferenceProviderOrPolicy ,
205205 task : "feature-extraction"
206206) : FeatureExtractionTaskHelper & TaskProviderHelper ;
207207export function getProviderHelper (
208- provider : InferenceProvider ,
208+ provider : InferenceProviderOrPolicy ,
209209 task : "image-classification"
210210) : ImageClassificationTaskHelper & TaskProviderHelper ;
211211export function getProviderHelper (
212- provider : InferenceProvider ,
212+ provider : InferenceProviderOrPolicy ,
213213 task : "image-segmentation"
214214) : ImageSegmentationTaskHelper & TaskProviderHelper ;
215215export function getProviderHelper (
216- provider : InferenceProvider ,
216+ provider : InferenceProviderOrPolicy ,
217217 task : "document-question-answering"
218218) : DocumentQuestionAnsweringTaskHelper & TaskProviderHelper ;
219219export function getProviderHelper (
220- provider : InferenceProvider ,
220+ provider : InferenceProviderOrPolicy ,
221221 task : "image-to-text"
222222) : ImageToTextTaskHelper & TaskProviderHelper ;
223223export function getProviderHelper (
224- provider : InferenceProvider ,
224+ provider : InferenceProviderOrPolicy ,
225225 task : "object-detection"
226226) : ObjectDetectionTaskHelper & TaskProviderHelper ;
227227export function getProviderHelper (
228- provider : InferenceProvider ,
228+ provider : InferenceProviderOrPolicy ,
229229 task : "zero-shot-image-classification"
230230) : ZeroShotImageClassificationTaskHelper & TaskProviderHelper ;
231231export function getProviderHelper (
232- provider : InferenceProvider ,
232+ provider : InferenceProviderOrPolicy ,
233233 task : "zero-shot-classification"
234234) : ZeroShotClassificationTaskHelper & TaskProviderHelper ;
235235export function getProviderHelper (
236- provider : InferenceProvider ,
236+ provider : InferenceProviderOrPolicy ,
237237 task : "image-to-image"
238238) : ImageToImageTaskHelper & TaskProviderHelper ;
239239export function getProviderHelper (
240- provider : InferenceProvider ,
240+ provider : InferenceProviderOrPolicy ,
241241 task : "sentence-similarity"
242242) : SentenceSimilarityTaskHelper & TaskProviderHelper ;
243243export function getProviderHelper (
244- provider : InferenceProvider ,
244+ provider : InferenceProviderOrPolicy ,
245245 task : "table-question-answering"
246246) : TableQuestionAnsweringTaskHelper & TaskProviderHelper ;
247247export function getProviderHelper (
248- provider : InferenceProvider ,
248+ provider : InferenceProviderOrPolicy ,
249249 task : "tabular-classification"
250250) : TabularClassificationTaskHelper & TaskProviderHelper ;
251251export function getProviderHelper (
252- provider : InferenceProvider ,
252+ provider : InferenceProviderOrPolicy ,
253253 task : "tabular-regression"
254254) : TabularRegressionTaskHelper & TaskProviderHelper ;
255255export function getProviderHelper (
256- provider : InferenceProvider ,
256+ provider : InferenceProviderOrPolicy ,
257257 task : "token-classification"
258258) : TokenClassificationTaskHelper & TaskProviderHelper ;
259259export function getProviderHelper (
260- provider : InferenceProvider ,
260+ provider : InferenceProviderOrPolicy ,
261261 task : "translation"
262262) : TranslationTaskHelper & TaskProviderHelper ;
263263export function getProviderHelper (
264- provider : InferenceProvider ,
264+ provider : InferenceProviderOrPolicy ,
265265 task : "summarization"
266266) : SummarizationTaskHelper & TaskProviderHelper ;
267267export function getProviderHelper (
268- provider : InferenceProvider ,
268+ provider : InferenceProviderOrPolicy ,
269269 task : "visual-question-answering"
270270) : VisualQuestionAnsweringTaskHelper & TaskProviderHelper ;
271- export function getProviderHelper ( provider : InferenceProvider , task : InferenceTask | undefined ) : TaskProviderHelper ;
271+ export function getProviderHelper (
272+ provider : InferenceProviderOrPolicy ,
273+ task : InferenceTask | undefined
274+ ) : TaskProviderHelper ;
272275
273- export function getProviderHelper ( provider : InferenceProvider , task : InferenceTask | undefined ) : TaskProviderHelper {
274- if ( provider === "hf-inference" ) {
275- if ( ! task ) {
276- return new HFInference . HFInferenceTask ( ) ;
277- }
276+ export function getProviderHelper (
277+ provider : InferenceProviderOrPolicy ,
278+ task : InferenceTask | undefined
279+ ) : TaskProviderHelper {
280+ if ( ( provider === "hf-inference" && ! task ) || provider === "auto" ) {
281+ return new HFInference . HFInferenceTask ( ) ;
278282 }
279283 if ( ! task ) {
280284 throw new Error ( "you need to provide a task name when using an external provider, e.g. 'text-to-image'" ) ;
0 commit comments