File tree Expand file tree Collapse file tree 15 files changed +121
-115
lines changed Expand file tree Collapse file tree 15 files changed +121
-115
lines changed Original file line number Diff line number Diff line change 14
14
*
15
15
* Thanks!
16
16
*/
17
- import type { InferenceProvider } from ". ./types" ;
17
+ import type { InferenceProviderTypes } from "./types" ;
18
18
19
19
const BLACK_FOREST_LABS_AI_API_BASE_URL = "https://api.us1.bfl.ai" ;
20
20
21
- const makeBaseUrl : InferenceProvider . MakeBaseUrl = ( ) => {
21
+ const makeBaseUrl : InferenceProviderTypes . MakeBaseUrl = ( ) => {
22
22
return BLACK_FOREST_LABS_AI_API_BASE_URL ;
23
23
} ;
24
24
25
- const makeBody : InferenceProvider . MakeBody = ( params ) => {
25
+ const makeBody : InferenceProviderTypes . MakeBody = ( params ) => {
26
26
return params . args ;
27
27
} ;
28
28
29
- const makeHeaders : InferenceProvider . MakeHeaders = ( params ) => {
29
+ const makeHeaders : InferenceProviderTypes . MakeHeaders = ( params ) => {
30
30
if ( params . authMethod === "provider-key" ) {
31
31
return { "X-Key" : `${ params . accessToken } ` } ;
32
32
} else {
33
33
return { Authorization : `Bearer ${ params . accessToken } ` } ;
34
34
}
35
35
} ;
36
36
37
- const makeUrl : InferenceProvider . MakeUrl = ( params ) => {
37
+ const makeUrl : InferenceProviderTypes . MakeUrl = ( params ) => {
38
38
return `${ params . baseUrl } /v1/${ params . model } ` ;
39
39
} ;
40
40
41
- export const BLACK_FOREST_LABS_CONFIG : InferenceProvider . Config = {
41
+ export const BLACK_FOREST_LABS_CONFIG : InferenceProviderTypes . Config = {
42
42
makeBaseUrl,
43
43
makeBody,
44
44
makeHeaders,
Original file line number Diff line number Diff line change 14
14
*
15
15
* Thanks!
16
16
*/
17
- import type { InferenceProvider } from ". ./types" ;
17
+ import type { InferenceProviderTypes } from "./types" ;
18
18
19
19
const CEREBRAS_API_BASE_URL = "https://api.cerebras.ai" ;
20
20
21
21
const makeBaseUrl = ( ) : string => {
22
22
return CEREBRAS_API_BASE_URL ;
23
23
} ;
24
24
25
- const makeBody : InferenceProvider . MakeBody = ( params ) => {
25
+ const makeBody : InferenceProviderTypes . MakeBody = ( params ) => {
26
26
return {
27
27
...params . args ,
28
28
model : params . model ,
29
29
} ;
30
30
} ;
31
31
32
- const makeHeaders : InferenceProvider . MakeHeaders = ( params ) => {
32
+ const makeHeaders : InferenceProviderTypes . MakeHeaders = ( params ) => {
33
33
return { Authorization : `Bearer ${ params . accessToken } ` } ;
34
34
} ;
35
35
36
- const makeUrl : InferenceProvider . MakeUrl = ( params ) => {
36
+ const makeUrl : InferenceProviderTypes . MakeUrl = ( params ) => {
37
37
return `${ params . baseUrl } /v1/chat/completions` ;
38
38
} ;
39
39
40
- export const CEREBRAS_CONFIG : InferenceProvider . Config = {
40
+ export const CEREBRAS_CONFIG : InferenceProviderTypes . Config = {
41
41
makeBaseUrl,
42
42
makeBody,
43
43
makeHeaders,
Original file line number Diff line number Diff line change 14
14
*
15
15
* Thanks!
16
16
*/
17
- import type { InferenceProvider } from ". ./types" ;
17
+ import type { InferenceProviderTypes } from "./types" ;
18
18
19
19
const COHERE_API_BASE_URL = "https://api.cohere.com" ;
20
20
21
- const makeBaseUrl : InferenceProvider . MakeBaseUrl = ( ) => {
21
+ const makeBaseUrl : InferenceProviderTypes . MakeBaseUrl = ( ) => {
22
22
return COHERE_API_BASE_URL ;
23
23
} ;
24
24
25
- const makeBody : InferenceProvider . MakeBody = ( params ) => {
25
+ const makeBody : InferenceProviderTypes . MakeBody = ( params ) => {
26
26
return {
27
27
...params . args ,
28
28
model : params . model ,
29
29
} ;
30
30
} ;
31
31
32
- const makeHeaders : InferenceProvider . MakeHeaders = ( params ) => {
32
+ const makeHeaders : InferenceProviderTypes . MakeHeaders = ( params ) => {
33
33
return { Authorization : `Bearer ${ params . accessToken } ` } ;
34
34
} ;
35
35
36
- const makeUrl : InferenceProvider . MakeUrl = ( params ) => {
36
+ const makeUrl : InferenceProviderTypes . MakeUrl = ( params ) => {
37
37
return `${ params . baseUrl } /compatibility/v1/chat/completions` ;
38
38
} ;
39
39
40
- export const COHERE_CONFIG : InferenceProvider . Config = {
40
+ export const COHERE_CONFIG : InferenceProviderTypes . Config = {
41
41
makeBaseUrl,
42
42
makeBody,
43
43
makeHeaders,
Original file line number Diff line number Diff line change 16
16
*/
17
17
import { InferenceOutputError } from "../lib/InferenceOutputError" ;
18
18
import { isUrl } from "../lib/isUrl" ;
19
- import type { InferenceProvider } from ". ./types" ;
19
+ import type { InferenceProviderTypes } from "./types" ;
20
20
import { delay } from "../utils/delay" ;
21
21
22
22
const FAL_AI_API_BASE_URL = "https://fal.run" ;
23
23
const FAL_AI_API_BASE_URL_QUEUE = "https://queue.fal.run" ;
24
24
25
- const makeBaseUrl : InferenceProvider . MakeBaseUrl = ( task ) => {
25
+ const makeBaseUrl : InferenceProviderTypes . MakeBaseUrl = ( task ) => {
26
26
return task === "text-to-video" ? FAL_AI_API_BASE_URL_QUEUE : FAL_AI_API_BASE_URL ;
27
27
} ;
28
28
29
- const makeBody : InferenceProvider . MakeBody = ( params ) => {
29
+ const makeBody : InferenceProviderTypes . MakeBody = ( params ) => {
30
30
return params . args ;
31
31
} ;
32
32
33
- const makeHeaders : InferenceProvider . MakeHeaders = ( params ) => {
33
+ const makeHeaders : InferenceProviderTypes . MakeHeaders = ( params ) => {
34
34
return {
35
35
Authorization : params . authMethod === "provider-key" ? `Key ${ params . accessToken } ` : `Bearer ${ params . accessToken } ` ,
36
36
} ;
37
37
} ;
38
38
39
- const makeUrl : InferenceProvider . MakeUrl = ( params ) => {
39
+ const makeUrl : InferenceProviderTypes . MakeUrl = ( params ) => {
40
40
const baseUrl = `${ params . baseUrl } /${ params . model } ` ;
41
41
if ( params . authMethod !== "provider-key" && params . task === "text-to-video" ) {
42
42
return `${ baseUrl } ?_subdomain=queue` ;
43
43
}
44
44
return baseUrl ;
45
45
} ;
46
46
47
- export const FAL_AI_CONFIG : InferenceProvider . Config = {
47
+ export const FAL_AI_CONFIG : InferenceProviderTypes . Config = {
48
48
makeBaseUrl,
49
49
makeBody,
50
50
makeHeaders,
Original file line number Diff line number Diff line change 14
14
*
15
15
* Thanks!
16
16
*/
17
- import type { InferenceProvider } from ". ./types" ;
17
+ import type { InferenceProviderTypes } from "./types" ;
18
18
19
19
const FIREWORKS_AI_API_BASE_URL = "https://api.fireworks.ai" ;
20
20
21
- const makeBaseUrl : InferenceProvider . MakeBaseUrl = ( ) => {
21
+ const makeBaseUrl : InferenceProviderTypes . MakeBaseUrl = ( ) => {
22
22
return FIREWORKS_AI_API_BASE_URL ;
23
23
} ;
24
24
25
- const makeBody : InferenceProvider . MakeBody = ( params ) => {
25
+ const makeBody : InferenceProviderTypes . MakeBody = ( params ) => {
26
26
return {
27
27
...params . args ,
28
28
...( params . chatCompletion ? { model : params . model } : undefined ) ,
29
29
} ;
30
30
} ;
31
31
32
- const makeHeaders : InferenceProvider . MakeHeaders = ( params ) => {
32
+ const makeHeaders : InferenceProviderTypes . MakeHeaders = ( params ) => {
33
33
return { Authorization : `Bearer ${ params . accessToken } ` } ;
34
34
} ;
35
35
36
- const makeUrl : InferenceProvider . MakeUrl = ( params ) => {
36
+ const makeUrl : InferenceProviderTypes . MakeUrl = ( params ) => {
37
37
if ( params . chatCompletion ) {
38
38
return `${ params . baseUrl } /inference/v1/chat/completions` ;
39
39
}
40
40
return `${ params . baseUrl } /inference` ;
41
41
} ;
42
42
43
- export const FIREWORKS_AI_CONFIG : InferenceProvider . Config = {
43
+ export const FIREWORKS_AI_CONFIG : InferenceProviderTypes . Config = {
44
44
makeBaseUrl,
45
45
makeBody,
46
46
makeHeaders,
Original file line number Diff line number Diff line change 11
11
* Thanks!
12
12
*/
13
13
import { HF_ROUTER_URL } from "../config" ;
14
- import type { InferenceProvider } from ". ./types" ;
14
+ import type { InferenceProviderTypes } from "./types" ;
15
15
16
- const makeBaseUrl : InferenceProvider . MakeBaseUrl = ( ) => {
16
+ const makeBaseUrl : InferenceProviderTypes . MakeBaseUrl = ( ) => {
17
17
return `${ HF_ROUTER_URL } /hf-inference` ;
18
18
} ;
19
19
20
- const makeBody : InferenceProvider . MakeBody = ( params ) => {
20
+ const makeBody : InferenceProviderTypes . MakeBody = ( params ) => {
21
21
return {
22
22
...params . args ,
23
23
...( params . chatCompletion ? { model : params . model } : undefined ) ,
24
24
} ;
25
25
} ;
26
26
27
- const makeHeaders : InferenceProvider . MakeHeaders = ( params ) => {
27
+ const makeHeaders : InferenceProviderTypes . MakeHeaders = ( params ) => {
28
28
return { Authorization : `Bearer ${ params . accessToken } ` } ;
29
29
} ;
30
30
31
- const makeUrl : InferenceProvider . MakeUrl = ( params ) => {
31
+ const makeUrl : InferenceProviderTypes . MakeUrl = ( params ) => {
32
32
if ( params . task && [ "feature-extraction" , "sentence-similarity" ] . includes ( params . task ) ) {
33
33
// When deployed on hf-inference, these two tasks are automatically compatible with one another.
34
34
return `${ params . baseUrl } /pipeline/${ params . task } /${ params . model } ` ;
@@ -39,7 +39,7 @@ const makeUrl: InferenceProvider.MakeUrl = (params) => {
39
39
return `${ params . baseUrl } /models/${ params . model } ` ;
40
40
} ;
41
41
42
- export const HF_INFERENCE_CONFIG : InferenceProvider . Config = {
42
+ export const HF_INFERENCE_CONFIG : InferenceProviderTypes . Config = {
43
43
makeBaseUrl,
44
44
makeBody,
45
45
makeHeaders,
Original file line number Diff line number Diff line change 14
14
*
15
15
* Thanks!
16
16
*/
17
- import type { InferenceProvider } from ". ./types" ;
17
+ import type { InferenceProviderTypes } from "./types" ;
18
18
19
19
const HYPERBOLIC_API_BASE_URL = "https://api.hyperbolic.xyz" ;
20
20
21
- const makeBaseUrl : InferenceProvider . MakeBaseUrl = ( ) => {
21
+ const makeBaseUrl : InferenceProviderTypes . MakeBaseUrl = ( ) => {
22
22
return HYPERBOLIC_API_BASE_URL ;
23
23
} ;
24
24
25
- const makeBody : InferenceProvider . MakeBody = ( params ) => {
25
+ const makeBody : InferenceProviderTypes . MakeBody = ( params ) => {
26
26
return {
27
27
...params . args ,
28
28
...( params . task === "text-to-image" ? { model_name : params . model } : { model : params . model } ) ,
29
29
} ;
30
30
} ;
31
31
32
- const makeHeaders : InferenceProvider . MakeHeaders = ( params ) => {
32
+ const makeHeaders : InferenceProviderTypes . MakeHeaders = ( params ) => {
33
33
return { Authorization : `Bearer ${ params . accessToken } ` } ;
34
34
} ;
35
35
36
- const makeUrl : InferenceProvider . MakeUrl = ( params ) => {
36
+ const makeUrl : InferenceProviderTypes . MakeUrl = ( params ) => {
37
37
if ( params . task === "text-to-image" ) {
38
38
return `${ params . baseUrl } /v1/images/generations` ;
39
39
}
40
40
return `${ params . baseUrl } /v1/chat/completions` ;
41
41
} ;
42
42
43
- export const HYPERBOLIC_CONFIG : InferenceProvider . Config = {
43
+ export const HYPERBOLIC_CONFIG : InferenceProviderTypes . Config = {
44
44
makeBaseUrl,
45
45
makeBody,
46
46
makeHeaders,
Original file line number Diff line number Diff line change 14
14
*
15
15
* Thanks!
16
16
*/
17
- import type { InferenceProvider } from ". ./types" ;
17
+ import type { InferenceProviderTypes } from "./types" ;
18
18
19
19
const NEBIUS_API_BASE_URL = "https://api.studio.nebius.ai" ;
20
20
21
- const makeBaseUrl : InferenceProvider . MakeBaseUrl = ( ) => {
21
+ const makeBaseUrl : InferenceProviderTypes . MakeBaseUrl = ( ) => {
22
22
return NEBIUS_API_BASE_URL ;
23
23
} ;
24
24
25
- const makeBody : InferenceProvider . MakeBody = ( params ) => {
25
+ const makeBody : InferenceProviderTypes . MakeBody = ( params ) => {
26
26
return {
27
27
...params . args ,
28
28
model : params . model ,
29
29
} ;
30
30
} ;
31
31
32
- const makeHeaders : InferenceProvider . MakeHeaders = ( params ) => {
32
+ const makeHeaders : InferenceProviderTypes . MakeHeaders = ( params ) => {
33
33
return { Authorization : `Bearer ${ params . accessToken } ` } ;
34
34
} ;
35
35
36
- const makeUrl : InferenceProvider . MakeUrl = ( params ) => {
36
+ const makeUrl : InferenceProviderTypes . MakeUrl = ( params ) => {
37
37
if ( params . task === "text-to-image" ) {
38
38
return `${ params . baseUrl } /v1/images/generations` ;
39
39
}
@@ -46,7 +46,7 @@ const makeUrl: InferenceProvider.MakeUrl = (params) => {
46
46
return params . baseUrl ;
47
47
} ;
48
48
49
- export const NEBIUS_CONFIG : InferenceProvider . Config = {
49
+ export const NEBIUS_CONFIG : InferenceProviderTypes . Config = {
50
50
makeBaseUrl,
51
51
makeBody,
52
52
makeHeaders,
Original file line number Diff line number Diff line change 14
14
*
15
15
* Thanks!
16
16
*/
17
- import type { InferenceProvider } from ". ./types" ;
17
+ import type { InferenceProviderTypes } from "./types" ;
18
18
19
19
const NOVITA_API_BASE_URL = "https://api.novita.ai" ;
20
20
21
- const makeBaseUrl : InferenceProvider . MakeBaseUrl = ( ) => {
21
+ const makeBaseUrl : InferenceProviderTypes . MakeBaseUrl = ( ) => {
22
22
return NOVITA_API_BASE_URL ;
23
23
} ;
24
24
25
- const makeBody : InferenceProvider . MakeBody = ( params ) => {
25
+ const makeBody : InferenceProviderTypes . MakeBody = ( params ) => {
26
26
return {
27
27
...params . args ,
28
28
...( params . chatCompletion ? { model : params . model } : undefined ) ,
29
29
} ;
30
30
} ;
31
31
32
- const makeHeaders : InferenceProvider . MakeHeaders = ( params ) => {
32
+ const makeHeaders : InferenceProviderTypes . MakeHeaders = ( params ) => {
33
33
return { Authorization : `Bearer ${ params . accessToken } ` } ;
34
34
} ;
35
35
36
- const makeUrl : InferenceProvider . MakeUrl = ( params ) => {
36
+ const makeUrl : InferenceProviderTypes . MakeUrl = ( params ) => {
37
37
if ( params . chatCompletion ) {
38
38
return `${ params . baseUrl } /v3/openai/chat/completions` ;
39
39
} else if ( params . task === "text-generation" ) {
@@ -44,7 +44,7 @@ const makeUrl: InferenceProvider.MakeUrl = (params) => {
44
44
return params . baseUrl ;
45
45
} ;
46
46
47
- export const NOVITA_CONFIG : InferenceProvider . Config = {
47
+ export const NOVITA_CONFIG : InferenceProviderTypes . Config = {
48
48
makeBaseUrl,
49
49
makeBody,
50
50
makeHeaders,
Original file line number Diff line number Diff line change 1
1
/**
2
2
* Special case: provider configuration for a private models provider (OpenAI in this case).
3
3
*/
4
- import type { InferenceProvider } from ". ./types" ;
4
+ import type { InferenceProviderTypes } from "./types" ;
5
5
6
6
const OPENAI_API_BASE_URL = "https://api.openai.com" ;
7
7
8
- const makeBaseUrl : InferenceProvider . MakeBaseUrl = ( ) => {
8
+ const makeBaseUrl : InferenceProviderTypes . MakeBaseUrl = ( ) => {
9
9
return OPENAI_API_BASE_URL ;
10
10
} ;
11
11
12
- const makeBody : InferenceProvider . MakeBody = ( params ) => {
12
+ const makeBody : InferenceProviderTypes . MakeBody = ( params ) => {
13
13
if ( ! params . chatCompletion ) {
14
14
throw new Error ( "OpenAI only supports chat completions." ) ;
15
15
}
@@ -19,18 +19,18 @@ const makeBody: InferenceProvider.MakeBody = (params) => {
19
19
} ;
20
20
} ;
21
21
22
- const makeHeaders : InferenceProvider . MakeHeaders = ( params ) => {
22
+ const makeHeaders : InferenceProviderTypes . MakeHeaders = ( params ) => {
23
23
return { Authorization : `Bearer ${ params . accessToken } ` } ;
24
24
} ;
25
25
26
- const makeUrl : InferenceProvider . MakeUrl = ( params ) => {
26
+ const makeUrl : InferenceProviderTypes . MakeUrl = ( params ) => {
27
27
if ( ! params . chatCompletion ) {
28
28
throw new Error ( "OpenAI only supports chat completions." ) ;
29
29
}
30
30
return `${ params . baseUrl } /v1/chat/completions` ;
31
31
} ;
32
32
33
- export const OPENAI_CONFIG : InferenceProvider . Config = {
33
+ export const OPENAI_CONFIG : InferenceProviderTypes . Config = {
34
34
makeBaseUrl,
35
35
makeBody,
36
36
makeHeaders,
You can’t perform that action at this time.
0 commit comments