@@ -4,6 +4,7 @@ import { NEBIUS_API_BASE_URL } from "../providers/nebius";
44import { REPLICATE_API_BASE_URL } from "../providers/replicate" ;
55import { SAMBANOVA_API_BASE_URL } from "../providers/sambanova" ;
66import { TOGETHER_API_BASE_URL } from "../providers/together" ;
7+ import { NOVITA_API_BASE_URL } from "../providers/novita" ;
78import { FIREWORKS_AI_API_BASE_URL } from "../providers/fireworks-ai" ;
89import { BLACKFORESTLABS_AI_API_BASE_URL } from "../providers/black-forest-labs" ;
910import type { InferenceProvider } from "../types" ;
@@ -29,8 +30,6 @@ export async function makeRequestOptions(
2930 stream ?: boolean ;
3031 } ,
3132 options ?: Options & {
32- /** When a model can be used for multiple tasks, and we want to run a non-default task */
33- forceTask ?: string | InferenceTask ;
3433 /** To load default model if needed */
3534 taskHint ?: InferenceTask ;
3635 chatCompletion ?: boolean ;
@@ -40,14 +39,11 @@ export async function makeRequestOptions(
4039 let otherArgs = remainingArgs ;
4140 const provider = maybeProvider ?? "hf-inference" ;
4241
43- const { forceTask , includeCredentials, taskHint, chatCompletion } = options ?? { } ;
42+ const { includeCredentials, taskHint, chatCompletion } = options ?? { } ;
4443
4544 if ( endpointUrl && provider !== "hf-inference" ) {
4645 throw new Error ( `Cannot use endpointUrl with a third-party provider.` ) ;
4746 }
48- if ( forceTask && provider !== "hf-inference" ) {
49- throw new Error ( `Cannot use forceTask with a third-party provider.` ) ;
50- }
5147 if ( maybeModel && isUrl ( maybeModel ) ) {
5248 throw new Error ( `Model URLs are no longer supported. Use endpointUrl instead.` ) ;
5349 }
@@ -78,7 +74,6 @@ export async function makeRequestOptions(
7874 : makeUrl ( {
7975 authMethod,
8076 chatCompletion : chatCompletion ?? false ,
81- forceTask,
8277 model,
8378 provider : provider ?? "hf-inference" ,
8479 taskHint,
@@ -152,7 +147,6 @@ function makeUrl(params: {
152147 model : string ;
153148 provider : InferenceProvider ;
154149 taskHint : InferenceTask | undefined ;
155- forceTask ?: string | InferenceTask ;
156150} ) : string {
157151 if ( params . authMethod === "none" && params . provider !== "hf-inference" ) {
158152 throw new Error ( "Authentication is required when requesting a third-party provider. Please provide accessToken" ) ;
@@ -225,6 +219,7 @@ function makeUrl(params: {
225219 }
226220 return baseUrl ;
227221 }
222+
228223 case "fireworks-ai" : {
229224 const baseUrl = shouldProxy
230225 ? HF_HUB_INFERENCE_PROXY_TEMPLATE . replace ( "{{PROVIDER}}" , params . provider )
@@ -234,15 +229,24 @@ function makeUrl(params: {
234229 }
235230 return baseUrl ;
236231 }
232+ case "novita" : {
233+ const baseUrl = shouldProxy
234+ ? HF_HUB_INFERENCE_PROXY_TEMPLATE . replace ( "{{PROVIDER}}" , params . provider )
235+ : NOVITA_API_BASE_URL ;
236+ if ( params . taskHint === "text-generation" ) {
237+ if ( params . chatCompletion ) {
238+ return `${ baseUrl } /chat/completions` ;
239+ }
240+ return `${ baseUrl } /completions` ;
241+ }
242+ return baseUrl ;
243+ }
237244 default : {
238245 const baseUrl = HF_HUB_INFERENCE_PROXY_TEMPLATE . replaceAll ( "{{PROVIDER}}" , "hf-inference" ) ;
239- const url = params . forceTask
240- ? `${ baseUrl } /pipeline/${ params . forceTask } /${ params . model } `
241- : `${ baseUrl } /models/${ params . model } ` ;
242246 if ( params . taskHint === "text-generation" && params . chatCompletion ) {
243- return url + ` /v1/chat/completions`;
247+ return ` ${ baseUrl } /models/ ${ params . model } /v1/chat/completions`;
244248 }
245- return url ;
249+ return ` ${ baseUrl } /models/ ${ params . model } ` ;
246250 }
247251 }
248252}
0 commit comments