@@ -10,7 +10,7 @@ import { OpenAi } from "./providers/openai.js";
10
10
import { Vllm } from "./providers/vllm.js" ;
11
11
import { Voyage } from "./providers/voyage.js" ;
12
12
import { xAI } from "./providers/xAI.js" ;
13
- import { LlmInfo , ModelProvider , UseCase } from "./types.js" ;
13
+ import { LlmInfoWithProvider , ModelProvider , UseCase } from "./types.js" ;
14
14
15
15
export const allModelProviders : ModelProvider [ ] = [
16
16
OpenAi ,
@@ -27,28 +27,32 @@ export const allModelProviders: ModelProvider[] = [
27
27
xAI ,
28
28
] ;
29
29
30
- export const allLlms : LlmInfo [ ] = allModelProviders . flatMap ( ( provider ) =>
31
- provider . models . map ( ( model ) => ( { ...model , provider : provider . id } ) ) ,
30
+ export const allLlms : LlmInfoWithProvider [ ] = allModelProviders . flatMap (
31
+ ( provider ) =>
32
+ provider . models . map ( ( model ) => ( { ...model , provider : provider . id } ) ) ,
32
33
) ;
33
34
34
35
export function findLlmInfo (
35
36
model : string ,
36
37
preferProviderId ?: string ,
37
- ) : LlmInfo | undefined {
38
+ ) : LlmInfoWithProvider | undefined {
38
39
if ( preferProviderId ) {
39
40
const provider = allModelProviders . find ( ( p ) => p . id === preferProviderId ) ;
40
41
const info = provider ?. models . find ( ( llm ) =>
41
42
llm . regex ? llm . regex . test ( model ) : llm . model === model ,
42
43
) ;
43
44
if ( info ) {
44
- return info ;
45
+ return {
46
+ ...info ,
47
+ provider : preferProviderId ,
48
+ } ;
45
49
}
46
50
}
47
51
return allLlms . find ( ( llm ) =>
48
52
llm . regex ? llm . regex . test ( model ) : llm . model === model ,
49
53
) ;
50
54
}
51
55
52
- export function getAllRecommendedFor ( useCase : UseCase ) : LlmInfo [ ] {
56
+ export function getAllRecommendedFor ( useCase : UseCase ) : LlmInfoWithProvider [ ] {
53
57
return allLlms . filter ( ( llm ) => llm . recommendedFor ?. includes ( useCase ) ) ;
54
58
}
0 commit comments