@@ -76,27 +76,49 @@ export async function generateText({
76
76
runtime . character . modelEndpointOverride || models [ provider ] . endpoint ;
77
77
let model = models [ provider ] . model [ modelClass ] ;
78
78
79
- // if runtime.getSetting("LLAMACLOUD_MODEL_LARGE") is true and modelProvider is LLAMACLOUD, then use the large model
80
- if (
81
- ( runtime . getSetting ( "LLAMACLOUD_MODEL_LARGE" ) &&
82
- provider === ModelProviderName . LLAMACLOUD ) ||
83
- ( runtime . getSetting ( "TOGETHER_MODEL_LARGE" ) &&
84
- provider === ModelProviderName . TOGETHER )
85
- ) {
86
- model =
87
- runtime . getSetting ( "LLAMACLOUD_MODEL_LARGE" ) ||
88
- runtime . getSetting ( "TOGETHER_MODEL_LARGE" ) ;
89
- }
90
-
91
- if (
92
- ( runtime . getSetting ( "LLAMACLOUD_MODEL_SMALL" ) &&
93
- provider === ModelProviderName . LLAMACLOUD ) ||
94
- ( runtime . getSetting ( "TOGETHER_MODEL_SMALL" ) &&
95
- provider === ModelProviderName . TOGETHER )
96
- ) {
97
- model =
98
- runtime . getSetting ( "LLAMACLOUD_MODEL_SMALL" ) ||
99
- runtime . getSetting ( "TOGETHER_MODEL_SMALL" ) ;
79
+ // allow character.json settings => secrets to override models
80
+ // FIXME: add MODEL_MEDIUM support
81
+ switch ( provider ) {
82
+ // if runtime.getSetting("LLAMACLOUD_MODEL_LARGE") is true and modelProvider is LLAMACLOUD, then use the large model
83
+ case ModelProviderName . LLAMACLOUD : {
84
+ switch ( modelClass ) {
85
+ case ModelClass . LARGE : {
86
+ model = runtime . getSetting ( "LLAMACLOUD_MODEL_LARGE" ) || model ;
87
+ }
88
+ break ;
89
+ case ModelClass . SMALL : {
90
+ model = runtime . getSetting ( "LLAMACLOUD_MODEL_SMALL" ) || model ;
91
+ }
92
+ break ;
93
+ }
94
+ }
95
+ break ;
96
+ case ModelProviderName . TOGETHER : {
97
+ switch ( modelClass ) {
98
+ case ModelClass . LARGE : {
99
+ model = runtime . getSetting ( "TOGETHER_MODEL_LARGE" ) || model ;
100
+ }
101
+ break ;
102
+ case ModelClass . SMALL : {
103
+ model = runtime . getSetting ( "TOGETHER_MODEL_SMALL" ) || model ;
104
+ }
105
+ break ;
106
+ }
107
+ }
108
+ break ;
109
+ case ModelProviderName . OPENROUTER : {
110
+ switch ( modelClass ) {
111
+ case ModelClass . LARGE : {
112
+ model = runtime . getSetting ( "LARGE_OPENROUTER_MODEL" ) || model ;
113
+ }
114
+ break ;
115
+ case ModelClass . SMALL : {
116
+ model = runtime . getSetting ( "SMALL_OPENROUTER_MODEL" ) || model ;
117
+ }
118
+ break ;
119
+ }
120
+ }
121
+ break ;
100
122
}
101
123
102
124
elizaLogger . info ( "Selected model:" , model ) ;
0 commit comments